From 0dd22ececaae6146864f6f344c33efd2feb945d1 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sun, 4 Aug 2024 02:27:27 +0100 Subject: [PATCH] Summer Beach House (buggy!) This adds the Summer Beach House from Pokemon Yellow to Route 19, in an effort to make Kanto a bit more interesting. The code for teaching Pikachu is very buggy right now and someone should check it out. I usually throw code out if it isn't functional but this seems extremely close to working. --- constants/map_constants.asm | 1 + constants/sprite_constants.asm | 1 + data/events/special_pointers.asm | 2 + data/maps/attributes.asm | 1 + data/maps/blocks.asm | 3 + data/maps/maps.asm | 1 + data/maps/scripts.asm | 1 + data/sprites/sprites.asm | 1 + data/tilesets/house_attributes.bin | Bin 1040 -> 1216 bytes data/tilesets/house_collision.asm | 11 ++ data/tilesets/house_metatiles.bin | Bin 1040 -> 1216 bytes engine/events/specials.asm | 72 +++++++++++ gfx/sprites.asm | 3 +- gfx/sprites/pikachu.png | Bin 0 -> 847 bytes gfx/tilesets/house.png | Bin 4104 -> 4499 bytes maps/DebugRoom.asm | 8 +- maps/Route19.ablk | 2 +- maps/Route19.asm | 10 ++ maps/SummerBeachHouse.ablk | 1 + maps/SummerBeachHouse.asm | 189 +++++++++++++++++++++++++++++ 20 files changed, 301 insertions(+), 6 deletions(-) create mode 100644 gfx/sprites/pikachu.png create mode 100644 maps/SummerBeachHouse.ablk create mode 100644 maps/SummerBeachHouse.asm diff --git a/constants/map_constants.asm b/constants/map_constants.asm index ed28e90..ca22b71 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -373,6 +373,7 @@ ENDM map_const FUCHSIA_POKECENTER_2F_BETA, 8, 4 ; 11 map_const SAFARI_ZONE_WARDENS_HOME, 5, 4 ; 12 map_const ROUTE_15_FUCHSIA_GATE, 5, 4 ; 13 + map_const SUMMER_BEACH_HOUSE, 7, 4 ; 13 endgroup newgroup LAVENDER ; 18 diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index 550251d..d851509 100644 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -144,6 +144,7 @@ const SPRITE_CHANNELER const SPRITE_BALDING_GUY const SPRITE_GAMEBOY_GIRL + const SPRITE_OVERWORLD_PIKACHU DEF NUM_OVERWORLD_SPRITES EQU const_value - 1 ; SpriteMons indexes (see data/sprites/sprite_mons.asm) diff --git a/data/events/special_pointers.asm b/data/events/special_pointers.asm index 1824f66..1f1a1ae 100644 --- a/data/events/special_pointers.asm +++ b/data/events/special_pointers.asm @@ -192,3 +192,5 @@ SpecialsPointers:: add_special ShoveSafariBallsDownKrissThroat add_special GiveKrisSneakers add_special DebugGiveMonSpecialMove + add_special CheckPikachu + add_special TeachPikachuSurf diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 51cab74..beb7998 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -854,6 +854,7 @@ ENDM map_attributes PokemonPagoda4F, POKEMON_PAGODA_4F, $00, 0 map_attributes PokemonPagoda5F, POKEMON_PAGODA_5F, $00, 0 map_attributes JackysHouse, JACKYS_HOUSE, $00, 0 + map_attributes SummerBeachHouse, SUMMER_BEACH_HOUSE, $00, 0 map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later. diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm index 3945426..71966e7 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -1279,4 +1279,7 @@ TwoIsland_Blocks: CapeBrink_Blocks: INCBIN "maps/CapeBrink.ablk" + +SummerBeachHouse_Blocks: + INCBIN "maps/SummerBeachHouse.ablk" diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 7c2333e..b8379e1 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -412,6 +412,7 @@ MapGroup_Fuchsia: map FuchsiaPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE map SafariZoneWardensHome, TILESET_HOUSE, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE map Route15FuchsiaGate, TILESET_GATE, GATE, LANDMARK_ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SummerBeachHouse, TILESET_HOUSE, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE assert_table_length NUM_FUCHSIA_MAPS MapGroup_Lavender: diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm index cff486d..8afae0d 100644 --- a/data/maps/scripts.asm +++ b/data/maps/scripts.asm @@ -602,6 +602,7 @@ INCLUDE "maps/LavenderCryptSet3.asm" INCLUDE "maps/LavenderCryptDokuroarsRoom.asm" INCLUDE "maps/Route50.asm" INCLUDE "maps/JackysHouse.asm" +INCLUDE "maps/SummerBeachHouse.asm" SECTION "Map Scripts 31", ROMX ; spillover INCLUDE "maps/TanobyRuins.asm" diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm index 900e967..c5c46c1 100644 --- a/data/sprites/sprites.asm +++ b/data/sprites/sprites.asm @@ -149,4 +149,5 @@ OverworldSprites: overworld_sprite ChannelerGFX, 12, WALKING_SPRITE, PAL_OW_BROWN overworld_sprite BaldingGuyGFX, 12, STANDING_SPRITE, PAL_OW_BROWN overworld_sprite GameboyGirlGFX, 12, STANDING_SPRITE, PAL_OW_RED + overworld_sprite OverworldPikachuGFX, 12, STANDING_SPRITE, PAL_OW_BROWN assert_table_length NUM_OVERWORLD_SPRITES diff --git a/data/tilesets/house_attributes.bin b/data/tilesets/house_attributes.bin index 434f0ce4a2cc8a0706bab38728663cea2a7434f6..c64ad101ac837fa390796c9c340d5d3e463307b9 100644 GIT binary patch delta 153 zcmbQhae#A!0Lx@+W&sBdG{D5f!GVmKnYp<^m=g+Me3-V$1Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0^~_VK~z{ry_kV+ z+b|47lVQJ@d}Q*GYo5>(PSi=U+h7myY}4e4q^P#o_1}xjFZlC)Uvj-(zn?Nq04H4z z?~li$+mqjrfjc|0bFcj6AKIY6DssQy+ueh`Z9@}Rs|dtu&tns{s;KWy6i^l^{Rv6{ z9$${bU01a`y$A2=7qt(c@4?D>W&d>v%Q^5B-R8kCokmTeo0CmU0%wW4aE7gbQs2=9 zaMq=FnpZ`tU(7(km1OS%-plHw72PiXAp;rH4Cr2GA(nu%i|mL3a8#uIOcbh9fw$YO z-5tK;r!ocscs`%)u3(ADUfCWdiPTK^rm#uComn-Nfqf~U40bFtfLexdn}@{Xj0g;l z!3I&_49h_}%KsCf2kL{f?Li8t#BCJ2?F8(D0Kuz4!np<$+I#RW*ikSXZlagtRW|`& zy{-m)b36X()s%sRR_CAZ@`2vORS#T9$J>wdltC?l09}G-l`#EC14MSEcm{7v5T2QW zVHzZGAq9GnGmSDx2v&h23Y?({99=Q_4ckcV?&M%kO>P3dszmBlgR!+cCA6m($FUugnZ=J1u&?AD-rh*O~606NWDB* ztsDOTz#ZyJqRv7u0i*Vw;4}w`UP8^_C~Xcr*t1ySW%NNpM881wTX;qM-3V3WNFyf! z*sTuR430F?GZ;o$;Gkw!JQ#)yAnk}#+-Ct$FT$sZC~$_@gEJf!pe&WFuLV*bR>M)&!go}?{ ZE?*T-=TKw$1EBx_002ovPDHLkV1g}jd?^3` literal 0 HcmV?d00001 diff --git a/gfx/tilesets/house.png b/gfx/tilesets/house.png index acac2206ba15d7df7b250861862a9f874b7c2a0a..ef6c316031fbc5a7b8431b605af95c13f795594c 100644 GIT binary patch delta 4455 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 literal 4104 zcmZ`+X*3(^)()kpqS|9>4Mk7&6hWO5^UxALEu}q0jg_jlYKWM}7A+1no)$GkrKP5X zA~B1W;HU&8#1LbHL=252gz&lRTlcPe?sv~xd%t@>d+oJ@Bv*Uh2AL1mbW$ zVm1_c8IjgzF4UBtb0e`7vOG^5%*U#cW3C{{W$<-m<+q`)zhur@D@mTjp!gd0QiFAYe=Ivz4Y&6S7ZmbqAwXg=RhVu-UfJkjR>(Xdw$ zE7WhgQ|(D&_{Y`3d+s5)CSrN)anG*pnZnkQxo0J3OsRNOZ`*euUS{`9?Q;JDZK)Atnj36Pn0sVP>$_T7 z#eAE4w>4%FR*m9P9og#a{A0GsGhf_03&SFL&Zj1<<$O)4H@S@KXV%!|8l_@Yq!f$% zUxqwz!zvCD3dbJ0j>oIFsGIbCVW&K|Yd@)-Hamb62DtO?EqGx=g=4O)3wFyn&!t65 zr^8;As*7D(Y!rgqK~{k{q}`3-vpjET1Aie zPrLUmUj)P~*2(qrmR5PvgD_R<>5*pJiAp%+t{t zjn!PG?N=@*NPleGNEhgGX`l~`t8r*bO?F-KL5WcePt@4AhttGD<$h^cJj1_HroJy` z;quU`cz@3&;52#?8~U9hBAU1 zBPkXqSRMYnW$?Zkur|BEUqM{MtXElJUY7VeWGFodf+((Od3b8TaNSve;k0N!J)ll@ zdj|G*^)D?Mu)zOVG`JTiHRV?vB1;18*T;I*k6onT9W{-2cv+*ciIpn~b=%q+oUh7Y zja{-$L>Q0j9fy!c&3BKa7Rs80{GVBTK&^Zm3*>`s3?ksPQVSp91|)*0K9StdH4~s* zfk!l`5Rm~RyJ2Zh)^-+a+@L(aT(B{7gl@66>iJ!wN8DE>WB6e3e#lAnkjWE^_A}2= zP~2IR{8J1T-h2vXMJcN54dC!eoBh}h8zwDFz%zi7OAw7N1s8B``QqBV&meY!;|rw8 zy2Xn!qz9UC;}OOD5pJ`|Q~Z74?KDHRRDuZ1E5tdG@j!G<-m_=o?CmbfKKLWESzxLD zAW;iFtoSyyuH~(-ublQ*MZH;>buurg(CG7fJ?OZU&gIm459aHyi_zV8vT9siMkD2N z0{(#6zq?-1iJ$jS;l&oaSm_)U z-Uo7&H%V_9&b6^bn^zG~%SQV%TGhRPC|{GehiZ7*{a{0fb9Ksbeqjo{?S5{;6;)}Hnx&kAZ_NO>>_Aqt>&GOM)EX98 zbVnKVDO7s59{7}Q#{=XzsuxG()08Q&cc#9bU-Z*!U)$l4Rm5-Y(kutsuk2P8Q??U+ zu0B;}tFM%mS>U9rSeMQTE~t?*STJ;>wWYC3ID?!Y4jC!UB#SI!DD0vb6`>2$C(#PF+^2@zc}f$6P>3MEr(>23MlnSw0I!h;NQ5GCxkH#%K^ znH-W4Xf%hLoQ>BHI>ehB!t`|2o5#K%c(PBIbaKC(l4G03t4+#w*PoXnHfEwMA@G}+ zij`@AZ~r7Avl-i-|GmdfVG>CeZ}!m(^TKc6{Fr)nQtUZcD?bN1fgr}$Hw`PH0}&_CLJr?AWo!1^b>i(IGTIpewls@dVi*Eoms*(BvEA+sUic+mDFu3M$OROMn_Ech z-z`*VKd`1)f4U26`UMOXAzF9HIzHh_u)lPEg5dU(N1)enr@&qC1wM4t{IN`L>S-p2^kdyhR-LPf?oBI*6) zo5X;22B@5&(L)ZVfH4+Ci!|tOVj&_v6%ilv_3#v*SKXJ1zU~#Q3(J_B4q>fX)1s5= z!{un7#EB0>AqR+4c4{??>GrXUzUkVZ^&N)tF=v)5jn|Vnz$6y_O?*+b=gp#+8r<_5 zu77p9W+7!3n!zl^BU2Z(}BfTATj+?pMURV=_z+Lksdl7rm0Ufa@1qb4-}! z0D1e`3!O&AEA{SAjX%dC4-e-OGytJPOx1nTxo(N{FS4Yf|Pnc$`du zi3#_!Bm3Or)v!*?{DA@9hDq6k#SGkARYFrD62qGBi!^W<9N*eJQzAJnF<`j`5z~(w z{qqZn`TmODsQ$ygt2++D;zS;osTJ*YK0eS z>q+bA>jx?N_`4FFDy|wJ17P6I6u}1P0ZF|uWvxiLr@gg?`Mtf6;p8d{U;r6QUI2u>s}CvKw@A)`v?J#d8G&VRTop^ zCznn>*$N`T1K72o=rv;=s%nHKE^Bs&#>)pEURN!K4INxs(%oQ6ZsL3z$5pV}=h<|j z+6zVQ&(y3O!bm1~;}*c~1M;=l(7v|ujOW5|65ed@K!p0kl9@f`Mu8dIMyKROtCer>hzxTiS5MvkvUn^oEq!8TY622b}}G z>hBg2Zb^}z5j)uDf^`!q!y1dX%RQt_l(;qDw4fo3?#5{EsCCGdC{^TA>};Jh5!^G< zZlv@`^)ccq-s!rDOOMt{!B##ZXIq@fGRVTewDP(3zFu*JbZYf!awJM*pN<(2AB&01wQg{5Ue_ zR`1C@U2P5j*l~-Vuj>~`irSlD19siX?*@f4PZdPsZj7$V-M&8f!mZX@K134bwwcfp z-n_O!-{=t9{%w#_hF$3g$iGy=RgMQFGGrXz?Wphdn7wgDt`c{@!pY#??HOy`qFht;y=PP8VERBCQ!q+U9Ei#?If6_J3vU*xdPC3aFzpA3^>!>c%4Y#{Fp`qAV`- z!8V*^g5o|t)ETm-E(QG~XCX-9t6uM^5`Sg?zs?_pN~~0Grre`qp1bIrN9n2_iPQuY z(=HUNl>?c3O(q4M)IA=B&`UlUk)6$AAPvmw077Y zv!j@Kj8dC5{Gw@xQ!RyM2gf02%@rU`ZsZ0&IrP9mKYiPN=Q7)qR@Fh3OBM3<0PZa} zFqZdd(9@@{6}cXvdJ}qTNh+#8l4qwxV0VIjtVD_PUbM+=TCKa_jVp`rxHF1(r^8)L zYIKYptJyqi4ct>fYY4P%j}PCpyaNa7Sp4%4|0@;$Jlom>%Uk612U<0B@52~+oad;P zSrYxzA(_S0HVqlMl*?r|GL{ERZy#4VO6xslkF|j?!dUv;!}H`nmOdR8vzWY({-6ev m;ym`4kh#ya$++k}g?QbJ&eAvEOOAf;0BZ}|>qv9Y`2Pj641P%f diff --git a/maps/DebugRoom.asm b/maps/DebugRoom.asm index 27c24a7..ce806a8 100644 --- a/maps/DebugRoom.asm +++ b/maps/DebugRoom.asm @@ -8,12 +8,12 @@ DebugRoom_MapScripts: DebugPokemon1Script: opentext - getmonname STRING_BUFFER_3, LUXWAN + getmonname STRING_BUFFER_3, PIKACHU writetext ReceivedDebugPokemonText playsound SFX_CAUGHT_MON waitsfx promptbutton - givepoke LUXWAN, 24, POISON_STONE + givepoke PIKACHU, 24, POISON_STONE closetext end @@ -397,7 +397,7 @@ DebugRoom_MapEvents: warp_event 11, 15, LAKE_OF_RAGE, 3 warp_event 27, 5, PEWTER_CITY, 2 warp_event 15, 2, GOLDENROD_CITY, 1 ; city warp - warp_event 4, 9, PALLET_TOWN, 1 ; left lab/league warp + warp_event 4, 9, SUMMER_BEACH_HOUSE, 1 ; left lab/league warp warp_event 5, 9, PALLET_TOWN, 1 ; right lab/league warp warp_event 35, 17, OLD_CITY, 1 ; east warp warp_event 5, 35, LAVENDER_TOWN, 1 ; southwest warp @@ -421,4 +421,4 @@ DebugRoom_MapEvents: object_event 18, 13, SPRITE_SAFARI_ZONE_WORKER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, TrainerTestScript, -1 object_event 20, 13, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DebugDollShopScript, -1 object_event 25, 15, SPRITE_WILL, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MemoryGameScript, -1 - object_event 27, 16, SPRITE_KAREN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DebugGligarScript, -1 + object_event 8, 16, SPRITE_KAREN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DebugGligarScript, -1 diff --git a/maps/Route19.ablk b/maps/Route19.ablk index 36d7b54..d490363 100644 --- a/maps/Route19.ablk +++ b/maps/Route19.ablk @@ -1 +1 @@ -(,) !Vw(,)(,)|~11$W%$W%111CCCCCCCCCCC™ź1111ž™™”CCCCCCCC–”CCCCCCCC–•CCCCCCCC–CCCCCCCCC–CCCCCCCCC–CCCCCCCCC–CCCCCCCCC–CCCCCCCCC–CCCCCCCCC–CCCCCCCCC–™™™™™™™™™• \ No newline at end of file +(,) !Vw(,)(,)|~11$W%$W%111CCCCCCCCC‰CC™ź1111ž™™”CCCCCCCC–”CCCCCCCC–•CCCCCCCC–CCCCCCCCC–CCCCCCCCC–CCCCCCCCC–CCCCCCCCC–CCCCCCCCC–CCCCCCCCC–CCCCCCCCC–™™™™™™™™™• \ No newline at end of file diff --git a/maps/Route19.asm b/maps/Route19.asm index 168c948..f38d114 100644 --- a/maps/Route19.asm +++ b/maps/Route19.asm @@ -232,17 +232,27 @@ CarefulSwimmingSignText: para "FUCHSIA POLICE" done +BeachHouseSignScript: + jumptext BeachHouseSignText + +BeachHouseSignText: + text "SUMMER BEACH HOUSE" + line "#MON welcome!" + done + Route19_MapEvents: db 0, 0 ; filler def_warp_events warp_event 7, 3, ROUTE_19_FUCHSIA_GATE, 3 + warp_event 5, 9, SUMMER_BEACH_HOUSE, 1 def_coord_events def_bg_events bg_event 11, 13, BGEVENT_READ, Route19Sign bg_event 11, 1, BGEVENT_READ, CarefulSwimmingSign + bg_event 7, 11, BGEVENT_READ, BeachHouseSignScript def_object_events object_event 9, 23, SPRITE_SWIMMER_GIRL, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 0, TrainerSwimmerfDawn, -1 diff --git a/maps/SummerBeachHouse.ablk b/maps/SummerBeachHouse.ablk new file mode 100644 index 0000000..fdec93e --- /dev/null +++ b/maps/SummerBeachHouse.ablk @@ -0,0 +1 @@ +GEGDFDHCBBAIJABBBAIJACKBAAAA \ No newline at end of file diff --git a/maps/SummerBeachHouse.asm b/maps/SummerBeachHouse.asm new file mode 100644 index 0000000..0c72e16 --- /dev/null +++ b/maps/SummerBeachHouse.asm @@ -0,0 +1,189 @@ + object_const_def + const SUMMERBEACHHOUSE_VICTOR + const SUMMERBEACHHOUSE_PUKA + +SummerBeachHouse_MapScripts: + def_scene_scripts + + def_callbacks + +; WIP +; I want the Surfin' Dude to teach a high-DV Pikachu Surf. +; Everything here is as I want it, really, it's pretty neat. +; Check engine/events/specials.asm for the funny buggy code. +SummerBeachHouseSurfinDudeScript: + faceplayer + opentext + writetext SummerBeachHouseSurfinDudeText1 + yesorno + iffalse .NotPikachu + loadmonindex 1, PIKACHU + special FindPartyMonThatSpecies ; currently just works with Pikachu + writetext SummerBeachHouseSurfinDudeText2 + waitbutton + special CheckPikachu + ifequal 0, .NotPikachu + ifequal 1, .GetReward + sjump .GetReward + +.GetReward: + writetext SummerBeachHouseSurfinDudeTextICanDoIt + turnobject SUMMERBEACHHOUSE_PUKA, LEFT + showemote EMOTE_SHOCK, SUMMERBEACHHOUSE_PUKA, 15 + writetext SummerBeachHousePukaTeach + cry PIKACHU + waitbutton + applymovement SUMMERBEACHHOUSE_PUKA, PukaMovement1 + special TeachPikachuSurf + writetext SummerBeachHouseSurfinDudeTextDone + applymovement SUMMERBEACHHOUSE_PUKA, PukaMovement2 + waitbutton + closetext +; setevent EVENT_TAUGHT_PIKACHU_SURF + end + +.NotPikachu: + writetext SummerBeachHouseSurfinDudeTextNoHave + waitbutton + closetext + end + +.TaughtPikachu: + writetext SummerBeachHouseSurfinDudeText4 + waitbutton + closetext + end + +PukaMovement1: + step LEFT + step UP + step UP + step LEFT + step LEFT + step LEFT + turn_head DOWN + step_end + +PukaMovement2: + step RIGHT + step RIGHT + step RIGHT + step DOWN + step DOWN + step RIGHT + step_end + +SummerBeachHouseSurfinDudeText1: ; aka Victor + text "Yo! For many years" + line "I have wanted to" + cont "teach a worthy" + cont "PIKACHU to SURF!" + + para "Do you have one?" + done + +SummerBeachHouseSurfinDudeText2: + text "Ah! A PIKACHU!" + line "Let's see…" + done + +SummerBeachHouseSurfinDudeTextNoHave: + text "You don't have" + line "one? Aww…" + done + +SummerBeachHouseSurfinDudeTextICanDoIt: + text "Yeah! This PIKACHU" + line "yearns for the" + cont "waves!" + + para "PUKA, come here!" + done + +SummerBeachHouseSurfinDudeTextDone: + text "There! You can" + line "SURF wherever" + cont "you want with" + cont "this PIKACHU now!" + + para "Come again!" + done + +SummerBeachHousePoster1Script: + jumptext SummerBeachHousePoster1Text + +SummerBeachHousePoster1Text: + text "SURFIN' DUDE's" + line "scribbles…" + + para "When I shoot the" + line "tube, the tunes" + cont "hit the groove!" + done + +SummerBeachHousePoster2Script: + jumptext SummerBeachHousePoster2Text + +SummerBeachHousePoster2Text: + text "30 years of waves!" + line "SURFIN' DUDE" + done + +SummerBeachHousePoster3Script: + jumptext SummerBeachHousePoster1Text + +SummerBeachHousePoster3Text: + text "It's an old pos-" + line "ter of the SURF-" + cont "IN' DUDE with" + cont "PUKA!" + done + +SummerBeachHousePrinterScript: + jumptext SummerBeachHousePrinterText1 + +SummerBeachHousePrinterText1: + text "It's some sort of" + line "a machine…" + done + +SummerBeachHouseSurfinDudeText4: + text "Dogs and burgers" + line "on special today!" + done + +SummerBeachHousePukaScript: + faceplayer + opentext + writetext SummerBeachHousePuka + cry PIKACHU + waitbutton + closetext + end + +SummerBeachHousePuka: + text "PUKA: Pikaaaa…" + done + +SummerBeachHousePukaTeach: + text "PUKA: Pikapika!?" + done + +SummerBeachHouse_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 3, 7, ROUTE_19, 2 + warp_event 2, 7, ROUTE_19, 2 + + def_coord_events + + def_bg_events + bg_event 3, 0, BGEVENT_READ, SummerBeachHousePoster1Script + bg_event 7, 0, BGEVENT_READ, SummerBeachHousePoster2Script + bg_event 13, 1, BGEVENT_READ, SummerBeachHousePrinterScript + bg_event 11, 0, BGEVENT_READ, SummerBeachHousePoster3Script + + def_object_events + object_event 3, 3, SPRITE_FISHING_GURU, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SummerBeachHouseSurfinDudeScript, -1 + object_event 8, 5, SPRITE_OVERWORLD_PIKACHU, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SummerBeachHousePukaScript, -1