diff options
-rwxr-xr-x | engine/specials.asm | 4 | ||||
-rw-r--r-- | main.asm | 11 | ||||
-rw-r--r-- | maps/AzaleaGym.asm | 380 | ||||
-rw-r--r-- | maps/AzaleaMart.asm | 60 | ||||
-rw-r--r-- | maps/AzaleaPokecenter1F.asm | 81 | ||||
-rw-r--r-- | maps/CharcoalKiln.asm | 166 | ||||
-rw-r--r-- | maps/KurtsHouse.asm | 497 |
7 files changed, 1191 insertions, 8 deletions
diff --git a/engine/specials.asm b/engine/specials.asm index c5fd6b7b..c005455e 100755 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -552,13 +552,13 @@ FadeOutMusic: ; c628 (3:4628) ld [wMusicFade], a ret -Functionc638: ; c638 (3:4638) +Diploma: ; c638 (3:4638) call FadeToMenu callba Functione0002 call ExitAllMenus ret -Functionc645: ; c645 (3:4645) +PrintDiploma: ; c645 (3:4645) call FadeToMenu callba Function84684 call ExitAllMenus @@ -1774,12 +1774,11 @@ INCLUDE "maps/PowerPlant.asm" INCLUDE "maps/BillsHouse.asm" SECTION "bank55", ROMX, BANK[$55] -;INCLUDE "maps/AzaleaPokecenter1F.asm" -;INCLUDE "maps/CharcoalKiln.asm" -;INCLUDE "maps/AzaleaMart.asm" -;INCLUDE "maps/KurtsHouse.asm" -;INCLUDE "maps/AzaleaGym.asm" - dr $154000, $158000 +INCLUDE "maps/AzaleaPokecenter1F.asm" +INCLUDE "maps/CharcoalKiln.asm" +INCLUDE "maps/AzaleaMart.asm" +INCLUDE "maps/KurtsHouse.asm" +INCLUDE "maps/AzaleaGym.asm" SECTION "bank56", ROMX, BANK[$56] ;INCLUDE "maps/VioletMart.asm" diff --git a/maps/AzaleaGym.asm b/maps/AzaleaGym.asm new file mode 100644 index 00000000..a79efc76 --- /dev/null +++ b/maps/AzaleaGym.asm @@ -0,0 +1,380 @@ + const_def 2 ; object constants + const AZALEAGYM_BUGSY + const AZALEAGYM_BUG_CATCHER1 + const AZALEAGYM_BUG_CATCHER2 + const AZALEAGYM_BUG_CATCHER3 + const AZALEAGYM_TWIN1 + const AZALEAGYM_TWIN2 + const AZALEAGYM_GYM_GUY + +AzaleaGym_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +AzaleaGymBugsyScript: + faceplayer + opentext + checkevent EVENT_BEAT_BUGSY + iftrue .FightDone + writetext BugsyText_INeverLose + waitbutton + closetext + winlosstext BugsyText_ResearchIncomplete, 0 + loadtrainer BUGSY, BUGSY1 + startbattle + reloadmapafterbattle + setevent EVENT_BEAT_BUGSY + opentext + writetext Text_ReceivedHiveBadge + playsound SFX_GET_BADGE + waitsfx + setflag ENGINE_HIVEBADGE + checkcode VAR_BADGES + scall AzaleaGymActivateRockets +.FightDone: + checkevent EVENT_GOT_TM49_FURY_CUTTER + iftrue .GotFuryCutter + setevent EVENT_BEAT_TWINS_AMY_AND_MAY + setevent EVENT_BEAT_BUG_CATCHER_BENNY + setevent EVENT_BEAT_BUG_CATCHER_AL + setevent EVENT_BEAT_BUG_CATCHER_JOSH + writetext BugsyText_HiveBadgeSpeech + buttonsound + verbosegiveitem TM_FURY_CUTTER + iffalse .NoRoomForFuryCutter + setevent EVENT_GOT_TM49_FURY_CUTTER + writetext BugsyText_FuryCutterSpeech + waitbutton + closetext + end + +.GotFuryCutter: + writetext BugsyText_BugMonsAreDeep + waitbutton +.NoRoomForFuryCutter: + closetext + end + +AzaleaGymActivateRockets: + ifequal 7, .RadioTowerRockets + ifequal 6, .GoldenrodRockets + end + +.GoldenrodRockets: + jumpstd goldenrodrockets + +.RadioTowerRockets: + jumpstd radiotowerrockets + +TrainerTwinsAmyandmay1: + trainer TWINS, AMYANDMAY1, EVENT_BEAT_TWINS_AMY_AND_MAY, TwinsAmyandmay1SeenText, TwinsAmyandmay1BeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext TwinsAmyandmay1AfterBattleText + waitbutton + closetext + end + +TrainerTwinsAmyandmay2: + trainer TWINS, AMYANDMAY2, EVENT_BEAT_TWINS_AMY_AND_MAY, TwinsAmyandmay2SeenText, TwinsAmyandmay2BeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext TwinsAmyandmay2AfterBattleText + waitbutton + closetext + end + +TrainerBugCatcherBenny: + trainer BUG_CATCHER, BUG_CATCHER_BENNY, EVENT_BEAT_BUG_CATCHER_BENNY, BugCatcherBennySeenText, BugCatcherBennyBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext BugCatcherBennyAfterBattleText + waitbutton + closetext + end + +TrainerBugCatcherAl: + trainer BUG_CATCHER, AL, EVENT_BEAT_BUG_CATCHER_AL, BugCatcherAlSeenText, BugCatcherAlBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext BugCatcherAlAfterBattleText + waitbutton + closetext + end + +TrainerBugCatcherJosh: + trainer BUG_CATCHER, JOSH, EVENT_BEAT_BUG_CATCHER_JOSH, BugCatcherJoshSeenText, BugCatcherJoshBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext BugCatcherJoshAfterBattleText + waitbutton + closetext + end + +AzaleaGymGuyScript: + faceplayer + checkevent EVENT_BEAT_BUGSY + iftrue .AzaleaGymGuyWinScript + opentext + writetext AzaleaGymGuyText + waitbutton + closetext + end + +.AzaleaGymGuyWinScript: + opentext + writetext AzaleaGymGuyWinText + waitbutton + closetext + end + +AzaleaGymStatue: + checkflag ENGINE_HIVEBADGE + iftrue .Beaten + jumpstd gymstatue1 +.Beaten: + trainertotext BUGSY, BUGSY1, MEM_BUFFER_1 + jumpstd gymstatue2 + +BugsyText_INeverLose: + text "I'm BUGSY!" + line "I never lose when" + + para "it comes to bug" + line "#MON." + + para "My research is" + line "going to make me" + + para "the authority on" + line "bug #MON!" + + para "Let me demonstrate" + line "what I've learned" + cont "from my studies." + done + +BugsyText_ResearchIncomplete: + text "Whoa, amazing!" + line "You're an expert" + cont "on #MON!" + + para "My research isn't" + line "complete yet." + + para "OK, you win. Take" + line "this BADGE." + done + +Text_ReceivedHiveBadge: + text "<PLAYER> received" + line "HIVEBADGE." + done + +BugsyText_HiveBadgeSpeech: + text "Do you know the" + line "benefits of HIVE-" + cont "BADGE?" + + para "If you have it," + line "#MON up to L30" + cont "will obey you." + + para "#MON that know" + line "CUT will be able" + + para "to use it outside" + line "of battle too." + + para "Here, I also want" + line "you to have this." + done + +BugsyText_FuryCutterSpeech: + text "TM49 contains" + line "FURY CUTTER." + + para "If you don't miss," + line "it gets stronger" + cont "every turn." + + para "The longer your" + line "battle goes, the" + cont "better it gets." + + para "Isn't that great?" + line "I discovered it!" + done + +BugsyText_BugMonsAreDeep: + text "Bug #MON are" + line "deep. There are" + + para "many mysteries to" + line "be explored." + + para "Study your favor-" + line "ites thoroughly." + done + +BugCatcherBennySeenText: + text "Bug #MON evolve" + line "young. So they get" + + para "stronger that much" + line "faster." + done + +BugCatcherBennyBeatenText: + text "Just evolving" + line "isn't enough!" + done + +BugCatcherBennyAfterBattleText: + text "#MON become" + line "stronger if they" + cont "evolve. Really!" + done + +BugCatcherAlSeenText: + text "Bug #MON are" + line "cool and tough!" + + para "I'll prove it to" + line "you!" + done + +BugCatcherAlBeatenText: + text "You proved how" + line "tough you are…" + done + +BugCatcherAlAfterBattleText: + text "They're so cool," + line "but most girls" + + para "don't like bug" + line "#MON." + + para "I don't know why…" + done + +BugCatcherJoshSeenText: + text "You saved all the" + line "SLOWPOKE? Whew," + cont "you're mighty!" + + para "But my grown-up" + line "#MON are pretty" + cont "tough too!" + done + +BugCatcherJoshBeatenText: + text "Urrgggh!" + done + +BugCatcherJoshAfterBattleText: + text "I guess I should" + line "teach them better" + cont "moves…" + done + +TwinsAmyandmay1SeenText: + text "AMY: Hi! Are you" + line "challenging the" + cont "LEADER? No way!" + done + +TwinsAmyandmay1BeatenText: + text "AMY & MAY: Oh," + line "double goodness!" + done + +TwinsAmyandmay1AfterBattleText: + text "AMY: You're" + line "really strong!" + done + +TwinsAmyandmay2SeenText: + text "MAY: You want to" + line "see the LEADER?" + cont "We come first!" + done + +TwinsAmyandmay2BeatenText: + text "AMY & MAY: Oh," + line "double goodness!" + done + +TwinsAmyandmay2AfterBattleText: + text "MAY: Our bug #-" + line "MON lost! Oh, what" + cont "a shame." + done + +AzaleaGymGuyText: + text "Yo, challenger!" + + para "BUGSY's young, but" + line "his knowledge of" + + para "bug #MON is for" + line "real." + + para "It's going to be" + line "tough without my" + cont "advice." + + para "Let's see… Bug" + line "#MON don't like" + cont "fire." + + para "Flying-type moves" + line "are super-effec-" + cont "tive too." + done + +AzaleaGymGuyWinText: + text "Well done! That" + line "was a great clash" + + para "of talented young" + line "trainers." + + para "With people like" + line "you, the future of" + cont "#MON is bright!" + done + +AzaleaGym_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 4, 15, AZALEA_TOWN, 5 + warp_event 5, 15, AZALEA_TOWN, 5 + + db 0 ; coord events + + db 2 ; bg events + bg_event 3, 13, BGEVENT_READ, AzaleaGymStatue + bg_event 6, 13, BGEVENT_READ, AzaleaGymStatue + + db 7 ; object events + object_event 5, 7, SPRITE_BUGSY, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, AzaleaGymBugsyScript, -1 + object_event 5, 3, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerBugCatcherBenny, -1 + object_event 8, 8, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerBugCatcherAl, -1 + object_event 0, 2, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerBugCatcherJosh, -1 + object_event 4, 10, SPRITE_TWIN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerTwinsAmyandmay1, -1 + object_event 5, 10, SPRITE_TWIN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerTwinsAmyandmay2, -1 + object_event 7, 13, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, AzaleaGymGuyScript, -1 diff --git a/maps/AzaleaMart.asm b/maps/AzaleaMart.asm new file mode 100644 index 00000000..c98ff31a --- /dev/null +++ b/maps/AzaleaMart.asm @@ -0,0 +1,60 @@ + const_def 2 ; object constants + const AZALEAMART_CLERK + const AZALEAMART_COOLTRAINER_M + const AZALEAMART_BUG_CATCHER + +AzaleaMart_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +AzaleaMartClerkScript: + opentext + pokemart MARTTYPE_STANDARD, MART_AZALEA + closetext + end + +AzaleaMartCooltrainerMScript: + jumptextfaceplayer AzaleaMartCooltrainerMText + +AzaleaMartBugCatcherScript: + jumptextfaceplayer AzaleaMartBugCatcherText + +AzaleaMartCooltrainerMText: + text "There's no GREAT" + line "BALL here. #" + + para "BALLS will have" + line "to do." + + para "I wish KURT would" + line "make me some of" + cont "his custom BALLS." + done + +AzaleaMartBugCatcherText: + text "A GREAT BALL is" + line "better for catch-" + cont "ing #MON than a" + cont "# BALL." + + para "But KURT's might" + line "be better some-" + cont "times." + done + +AzaleaMart_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, AZALEA_TOWN, 3 + warp_event 3, 7, AZALEA_TOWN, 3 + + db 0 ; coord events + + db 0 ; bg events + + db 3 ; object events + object_event 1, 3, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaMartClerkScript, -1 + object_event 2, 5, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaMartCooltrainerMScript, -1 + object_event 7, 2, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, AzaleaMartBugCatcherScript, -1 diff --git a/maps/AzaleaPokecenter1F.asm b/maps/AzaleaPokecenter1F.asm new file mode 100644 index 00000000..27b5ff1d --- /dev/null +++ b/maps/AzaleaPokecenter1F.asm @@ -0,0 +1,81 @@ + const_def 2 ; object constants + const AZALEAPOKECENTER1F_NURSE + const AZALEAPOKECENTER1F_GENTLEMAN + const AZALEAPOKECENTER1F_FISHING_GURU + const AZALEAPOKECENTER1F_POKEFAN_F + +AzaleaPokecenter1F_MapScripts: + db 1 ; scene scripts + scene_script .DummyScene + + db 0 ; callbacks + +.DummyScene: + end + +AzaleaPokecenter1FNurseScript: + jumpstd pokecenternurse + +AzaleaPokecenter1FGentlemanScript: + jumptextfaceplayer AzaleaPokecenter1FGentlemanText + +AzaleaPokecenter1FFishingGuruScript: + jumptextfaceplayer AzaleaPokecenter1FFishingGuruText + +AzaleaPokecenter1FPokefanFScript: + jumptextfaceplayer AzaleaPokecenter1FPokefanFText + +AzaleaPokecenter1FGentlemanText: + text "Do your #MON" + line "know HM moves?" + + para "Those moves can" + line "be used even if" + + para "your #MON has" + line "fainted." + done + +AzaleaPokecenter1FFishingGuruText: + text "BILL's PC can" + line "store up to 20" + cont "#MON per BOX." + done + +AzaleaPokecenter1FPokefanFText: + text "Do you know about" + line "APRICORNS?" + + para "Crack one open," + line "hollow it out and" + + para "fit it with a" + line "special device." + + para "Then you can catch" + line "#MON with it." + + para "Before # BALLS" + line "were invented," + + para "everyone used" + line "APRICORNS." + done + +AzaleaPokecenter1F_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 3, 7, AZALEA_TOWN, 1 + warp_event 4, 7, AZALEA_TOWN, 1 + warp_event 0, 7, POKECENTER_2F, 1 + + db 0 ; coord events + + db 0 ; bg events + + db 4 ; object events + object_event 3, 1, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaPokecenter1FNurseScript, -1 + object_event 9, 6, SPRITE_GENTLEMAN, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaPokecenter1FGentlemanScript, -1 + object_event 6, 1, SPRITE_FISHING_GURU, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaPokecenter1FFishingGuruScript, -1 + object_event 1, 4, SPRITE_POKEFAN_F, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaPokecenter1FPokefanFScript, -1 diff --git a/maps/CharcoalKiln.asm b/maps/CharcoalKiln.asm new file mode 100644 index 00000000..dda28937 --- /dev/null +++ b/maps/CharcoalKiln.asm @@ -0,0 +1,166 @@ + const_def 2 ; object constants + const CHARCOALKILN_BLACK_BELT + const CHARCOALKILN_YOUNGSTER + const CHARCOALKILN_MOLTRES + +CharcoalKiln_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +CharcoalKilnBoss: + faceplayer + opentext + checkevent EVENT_GOT_HM01_CUT + iftrue .GotCut + checkevent EVENT_CLEARED_SLOWPOKE_WELL + iftrue .SavedSlowpoke + writetext CharcoalKilnBossText1 + waitbutton + closetext + end + +.SavedSlowpoke: + writetext CharcoalKilnBossText2 + waitbutton + closetext + end + +.GotCut: + writetext CharcoalKilnBossText3 + waitbutton + closetext + end + +CharcoalKilnApprentice: + faceplayer + opentext + checkevent EVENT_GOT_CHARCOAL_IN_CHARCOAL_KILN + iftrue .YoureTheCoolest + checkevent EVENT_GOT_HM01_CUT + iftrue .Thanks + writetext CharcoalKilnApprenticeText1 + waitbutton + closetext + end + +.Thanks: + writetext CharcoalKilnApprenticeText2 + buttonsound + verbosegiveitem CHARCOAL + iffalse .Done + setevent EVENT_GOT_CHARCOAL_IN_CHARCOAL_KILN + closetext + end + +.YoureTheCoolest: + writetext CharcoalKilnApprenticeText3 + waitbutton +.Done: + closetext + end + +CharcoalKilnFarfetchd: + faceplayer + opentext + writetext FarfetchdText + cry FARFETCH_D + waitbutton + closetext + end + +CharcoalKilnBookshelf: + jumpstd magazinebookshelf + +CharcoalKilnRadio: + jumpstd radio2 + +CharcoalKilnBossText1: + text "All the SLOWPOKE" + line "have disappeared" + cont "from the town." + + para "The forest's pro-" + line "tector may be" + cont "angry with us…" + + para "It may be a bad" + line "omen. We should" + cont "stay in." + done + +CharcoalKilnBossText2: + text "The SLOWPOKE have" + line "returned…" + + para "But my APPRENTICE" + line "hasn't come back" + cont "from ILEX FOREST." + + para "Where in the world" + line "is that lazy guy?" + done + +CharcoalKilnBossText3: + text "You chased off" + line "TEAM ROCKET and" + + para "went to ILEX" + line "FOREST alone?" + + para "That takes guts!" + line "I like that. Come" + cont "train with us." + done + +CharcoalKilnApprenticeText1: + text "Where have all the" + line "SLOWPOKE gone?" + + para "Are they out play-" + line "ing somewhere?" + done + +CharcoalKilnApprenticeText2: + text "I'm sorry--I for-" + line "got to thank you." + + para "This is CHARCOAL" + line "that I made." + + para "Fire-type #MON" + line "would be happy to" + cont "hold that." + done + +CharcoalKilnApprenticeText3: + text "The SLOWPOKE came" + line "back, and you even" + cont "found FARFETCH'D." + + para "You're the cool-" + line "est, man!" + done + +FarfetchdText: + text "FARFETCH'D: Kwaa!" + done + +CharcoalKiln_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, AZALEA_TOWN, 2 + warp_event 3, 7, AZALEA_TOWN, 2 + + db 0 ; coord events + + db 3 ; bg events + bg_event 0, 1, BGEVENT_READ, CharcoalKilnBookshelf + bg_event 1, 1, BGEVENT_READ, CharcoalKilnBookshelf + bg_event 7, 1, BGEVENT_READ, CharcoalKilnRadio + + db 3 ; object events + object_event 2, 3, SPRITE_BLACK_BELT, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CharcoalKilnBoss, EVENT_CHARCOAL_KILN_BOSS + object_event 5, 3, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CharcoalKilnApprentice, EVENT_CHARCOAL_KILN_APPRENTICE + object_event 5, 6, SPRITE_MOLTRES, SPRITEMOVEDATA_POKEMON, 2, 2, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, CharcoalKilnFarfetchd, EVENT_CHARCOAL_KILN_FARFETCH_D diff --git a/maps/KurtsHouse.asm b/maps/KurtsHouse.asm new file mode 100644 index 00000000..df26a5fc --- /dev/null +++ b/maps/KurtsHouse.asm @@ -0,0 +1,497 @@ + const_def 2 ; object constants + const KURTSHOUSE_KURT1 + const KURTSHOUSE_TWIN1 + const KURTSHOUSE_SLOWPOKE + const KURTSHOUSE_KURT2 + const KURTSHOUSE_TWIN2 + +KurtsHouse_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_OBJECTS, .KurtCallback + +.KurtCallback: + checkevent EVENT_CLEARED_SLOWPOKE_WELL + iffalse .Done + checkflag ENGINE_KURT_MAKING_BALLS + iftrue .MakingBalls + disappear KURTSHOUSE_KURT2 + appear KURTSHOUSE_KURT1 + return + +.MakingBalls: + disappear KURTSHOUSE_KURT1 + appear KURTSHOUSE_KURT2 +.Done: + return + +Kurt1: + faceplayer + opentext + checkevent EVENT_KURT_GAVE_YOU_LURE_BALL + iftrue .GotLureBall + checkevent EVENT_CLEARED_SLOWPOKE_WELL + iftrue .ClearedSlowpokeWell + writetext UnknownText_0x18e473 + waitbutton + closetext + special FadeOutMusic + setevent EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET + checkcode VAR_FACING + ifequal UP, .RunAround + turnobject PLAYER, DOWN + playsound SFX_FLY + applymovement KURTSHOUSE_KURT1, MovementData_0x18e466 + playsound SFX_EXIT_BUILDING + disappear KURTSHOUSE_KURT1 + waitsfx + special RestartMapMusic + end + +.RunAround: + turnobject PLAYER, DOWN + playsound SFX_FLY + applymovement KURTSHOUSE_KURT1, MovementData_0x18e46c + playsound SFX_EXIT_BUILDING + disappear KURTSHOUSE_KURT1 + waitsfx + special RestartMapMusic + end + +.ClearedSlowpokeWell: + writetext UnknownText_0x18e615 + buttonsound + verbosegiveitem LURE_BALL + iffalse .NoRoomForBall + setevent EVENT_KURT_GAVE_YOU_LURE_BALL +.GotLureBall: + checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2 + iftrue .ThatTurnedOutGreat + checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 + iftrue .WaitForApricorns + checkevent EVENT_GAVE_KURT_RED_APRICORN + iftrue .GiveLevelBall + checkevent EVENT_GAVE_KURT_BLU_APRICORN + iftrue .GiveLureBall + checkevent EVENT_GAVE_KURT_YLW_APRICORN + iftrue .GiveMoonBall + checkevent EVENT_GAVE_KURT_GRN_APRICORN + iftrue .GiveFriendBall + checkevent EVENT_GAVE_KURT_WHT_APRICORN + iftrue .GiveFastBall + checkevent EVENT_GAVE_KURT_BLK_APRICORN + iftrue .GiveHeavyBall + checkevent EVENT_GAVE_KURT_PNK_APRICORN + iftrue .GiveLoveBall + writetext UnknownText_0x18e6c9 + buttonsound +.CheckApricorns: + checkitem RED_APRICORN + iftrue .AskApricorn + checkitem BLU_APRICORN + iftrue .AskApricorn + checkitem YLW_APRICORN + iftrue .AskApricorn + checkitem GRN_APRICORN + iftrue .AskApricorn + checkitem WHT_APRICORN + iftrue .AskApricorn + checkitem BLK_APRICORN + iftrue .AskApricorn + checkitem PNK_APRICORN + iftrue .AskApricorn + closetext + end + +.AskApricorn: + writetext UnknownText_0x18e736 + buttonsound + special SelectApricornForKurt + ifequal FALSE, .Cancel + ifequal BLU_APRICORN, .Blu + ifequal YLW_APRICORN, .Ylw + ifequal GRN_APRICORN, .Grn + ifequal WHT_APRICORN, .Wht + ifequal BLK_APRICORN, .Blk + ifequal PNK_APRICORN, .Pnk +; .Red + setevent EVENT_GAVE_KURT_RED_APRICORN + jump .GaveKurtApricorns + +.Blu: + setevent EVENT_GAVE_KURT_BLU_APRICORN + jump .GaveKurtApricorns + +.Ylw: + setevent EVENT_GAVE_KURT_YLW_APRICORN + jump .GaveKurtApricorns + +.Grn: + setevent EVENT_GAVE_KURT_GRN_APRICORN + jump .GaveKurtApricorns + +.Wht: + setevent EVENT_GAVE_KURT_WHT_APRICORN + jump .GaveKurtApricorns + +.Blk: + setevent EVENT_GAVE_KURT_BLK_APRICORN + jump .GaveKurtApricorns + +.Pnk: + setevent EVENT_GAVE_KURT_PNK_APRICORN + jump .GaveKurtApricorns + +.GaveKurtApricorns: + setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 + setflag ENGINE_KURT_MAKING_BALLS +.WaitForApricorns: + writetext UnknownText_0x18e779 + waitbutton + closetext + end + +.Cancel: + writetext UnknownText_0x18e7bc + waitbutton + closetext + end + +.KurtMakingBallsScript: + writetext UnknownText_0x18e7d8 + waitbutton + closetext + end + +._ThatTurnedOutGreat: + setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2 +.ThatTurnedOutGreat: + writetext UnknownText_0x18e82a + waitbutton +.NoRoomForBall: + closetext + end + +.GiveLevelBall: + checkflag ENGINE_KURT_MAKING_BALLS + iftrue .KurtMakingBallsScript + writetext UnknownText_0x18e7fb + buttonsound + verbosegiveitem LEVEL_BALL + iffalse .NoRoomForBall + clearevent EVENT_GAVE_KURT_RED_APRICORN + jump ._ThatTurnedOutGreat + +.GiveLureBall: + checkflag ENGINE_KURT_MAKING_BALLS + iftrue .KurtMakingBallsScript + writetext UnknownText_0x18e7fb + buttonsound + verbosegiveitem LURE_BALL + iffalse .NoRoomForBall + clearevent EVENT_GAVE_KURT_BLU_APRICORN + jump ._ThatTurnedOutGreat + +.GiveMoonBall: + checkflag ENGINE_KURT_MAKING_BALLS + iftrue .KurtMakingBallsScript + writetext UnknownText_0x18e7fb + buttonsound + verbosegiveitem MOON_BALL + iffalse .NoRoomForBall + clearevent EVENT_GAVE_KURT_YLW_APRICORN + jump ._ThatTurnedOutGreat + +.GiveFriendBall: + checkflag ENGINE_KURT_MAKING_BALLS + iftrue .KurtMakingBallsScript + writetext UnknownText_0x18e7fb + buttonsound + verbosegiveitem FRIEND_BALL + iffalse .NoRoomForBall + clearevent EVENT_GAVE_KURT_GRN_APRICORN + jump ._ThatTurnedOutGreat + +.GiveFastBall: + checkflag ENGINE_KURT_MAKING_BALLS + iftrue .KurtMakingBallsScript + writetext UnknownText_0x18e7fb + buttonsound + verbosegiveitem FAST_BALL + iffalse .NoRoomForBall + clearevent EVENT_GAVE_KURT_WHT_APRICORN + jump ._ThatTurnedOutGreat + +.GiveHeavyBall: + checkflag ENGINE_KURT_MAKING_BALLS + iftrue .KurtMakingBallsScript + writetext UnknownText_0x18e7fb + buttonsound + verbosegiveitem HEAVY_BALL + iffalse .NoRoomForBall + clearevent EVENT_GAVE_KURT_BLK_APRICORN + jump ._ThatTurnedOutGreat + +.GiveLoveBall: + checkflag ENGINE_KURT_MAKING_BALLS + iftrue .KurtMakingBallsScript + writetext UnknownText_0x18e7fb + buttonsound + verbosegiveitem LOVE_BALL + iffalse .NoRoomForBall + clearevent EVENT_GAVE_KURT_PNK_APRICORN + jump ._ThatTurnedOutGreat + +KurtsGranddaughter: + faceplayer + opentext + checkevent EVENT_FAST_SHIP_FIRST_TIME + iftrue .Dad + checkevent EVENT_CLEARED_SLOWPOKE_WELL + iftrue .SlowpokeBack + checkevent EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET + iftrue .Lonely + writetext KurtsGranddaughterSlowpokeGoneText + waitbutton + closetext + end + +.SlowpokeBack: + writetext KurtsGranddaughterSlowpokeBackText + waitbutton + closetext + end + +.Lonely: + writetext KurtsGranddaughterLonelyText + waitbutton + closetext + end + +.Dad: + writetext KurtsGranddaughterDadText + waitbutton + closetext + end + +KurtsHouseSlowpoke: + faceplayer + opentext + writetext KurtsHouseSlowpokeText + cry SLOWPOKE + waitbutton + closetext + end + +KurtsHouseOakPhoto: + jumptext KurtsHouseOakPhotoText + +KurtsHouseCelebiStatue: + jumptext KurtsHouseCelebiStatueText + +KurtsHouseBookshelf: + jumpstd difficultbookshelf + +KurtsHouseRadio: + jumpstd radio2 + +MovementData_0x18e466: + big_step DOWN + big_step DOWN + big_step DOWN + big_step DOWN + big_step DOWN + step_end + +MovementData_0x18e46c: + big_step RIGHT + big_step DOWN + big_step DOWN + big_step DOWN + big_step DOWN + big_step DOWN + step_end + +UnknownText_0x18e473: + text "Hm? Who are you?" + + para "<PLAYER>, eh? You" + line "want me to make" + cont "some BALLS?" + + para "Sorry, but that'll" + line "have to wait." + + para "Do you know TEAM" + line "ROCKET? Ah, don't" + + para "worry. I'll tell" + line "you anyhow." + + para "TEAM ROCKET's an" + line "evil gang that" + + para "uses #MON for" + line "their dirty work." + + para "They're supposed" + line "to have disbanded" + cont "three years ago." + + para "Anyway, they're at" + line "the WELL, cutting" + + para "off SLOWPOKETAILS" + line "for sale!" + + para "So I'm going to" + line "go give them a" + cont "lesson in pain!" + + para "Hang on, SLOWPOKE!" + line "Old KURT is on his" + cont "way!" + done + +UnknownText_0x18e615: + text "KURT: Hi, <PLAYER>!" + + para "You handled your-" + line "self like a real" + cont "hero at the WELL." + + para "I like your style!" + + para "I would be honored" + line "to make BALLS for" + + para "a trainer like" + line "you." + + para "This is all I have" + line "now, but take it." + done + +UnknownText_0x18e6c9: + text "KURT: I make BALLS" + line "from APRICORNS." + + para "Collect them from" + line "trees and bring" + cont "'em to me." + + para "I'll make BALLS" + line "out of them." + done + +UnknownText_0x18e736: + text "KURT: You have an" + line "APRICORN for me?" + + para "Fine! I'll turn it" + line "into a BALL." + done + +UnknownText_0x18e779: + text "KURT: It'll take a" + line "day to make you a" + + para "BALL. Come back" + line "for it later." + done + +UnknownText_0x18e7bc: + text "KURT: Oh…" + line "That's a letdown." + done + +UnknownText_0x18e7d8: + text "KURT: I'm working!" + line "Don't bother me!" + done + +UnknownText_0x18e7fb: + text "KURT: Ah, <PLAYER>!" + line "I just finished" + cont "your BALL. Here!" + done + +UnknownText_0x18e82a: + text "KURT: That turned" + line "out great." + + para "Try catching" + line "#MON with it." + done + +KurtsGranddaughterSlowpokeGoneText: + text "The SLOWPOKE are" + line "gone… Were they" + + para "taken away by bad" + line "people?" + done + +KurtsGranddaughterLonelyText: + text "Grandpa's gone…" + line "I'm so lonely…" + done + +KurtsGranddaughterSlowpokeBackText: + text "The SLOWPOKE my" + line "Dad gave me came" + + para "back! Its TAIL is" + line "growing back too!" + done + +KurtsGranddaughterDadText: + text "Dad works at SILPH" + line "where he studies" + cont "# BALLS." + + para "I have to stay" + line "home with Grandpa" + cont "and SLOWPOKE." + done + +KurtsHouseSlowpokeText: + text "SLOWPOKE: …" + line "Yawn?" + done + +KurtsHouseOakPhotoText: + text "…A young PROF." + line "OAK?" + done + +KurtsHouseCelebiStatueText: + text "It's a statue of" + line "the forest's pro-" + cont "tector." + done + +KurtsHouse_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 3, 7, AZALEA_TOWN, 4 + warp_event 4, 7, AZALEA_TOWN, 4 + + db 0 ; coord events + + db 7 ; bg events + bg_event 6, 1, BGEVENT_READ, KurtsHouseRadio + bg_event 8, 0, BGEVENT_READ, KurtsHouseOakPhoto + bg_event 9, 0, BGEVENT_READ, KurtsHouseOakPhoto + bg_event 5, 1, BGEVENT_READ, KurtsHouseBookshelf + bg_event 2, 1, BGEVENT_READ, KurtsHouseBookshelf + bg_event 3, 1, BGEVENT_READ, KurtsHouseBookshelf + bg_event 4, 1, BGEVENT_READ, KurtsHouseCelebiStatue + + db 4 ; object events + object_event 3, 2, SPRITE_KURT, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Kurt1, EVENT_KURTS_HOUSE_KURT_1 + object_event 5, 3, SPRITE_TWIN, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, KurtsGranddaughter, -1 + object_event 6, 3, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, KurtsHouseSlowpoke, EVENT_KURTS_HOUSE_SLOWPOKE + object_event 14, 3, SPRITE_KURT, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Kurt1, EVENT_KURTS_HOUSE_KURT_2 |