diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/events/std_scripts.asm | 774 | ||||
-rw-r--r-- | engine/movie/gamefreak_presents.asm | 73 | ||||
-rw-r--r-- | engine/movie/title.asm | 2 | ||||
-rwxr-xr-x | engine/overworld/player_movement.asm | 2 | ||||
-rw-r--r-- | engine/phone/scripts/bike_shop.asm | 5 | ||||
-rw-r--r-- | engine/phone/scripts/bill.asm | 41 | ||||
-rw-r--r-- | engine/phone/scripts/elm.asm | 101 | ||||
-rw-r--r-- | engine/phone/scripts/generic.asm | 227 | ||||
-rw-r--r-- | engine/phone/scripts/mom.asm | 150 | ||||
-rw-r--r-- | engine/phone/scripts/trainers.asm | 677 | ||||
-rw-r--r-- | engine/phone/scripts/unused.asm | 3 |
11 files changed, 2010 insertions, 45 deletions
diff --git a/engine/events/std_scripts.asm b/engine/events/std_scripts.asm new file mode 100644 index 00000000..bdc90c55 --- /dev/null +++ b/engine/events/std_scripts.asm @@ -0,0 +1,774 @@ +StdScripts:: +; entries correspond to constants/std_constants.asm + dba PokecenterNurseScript + dba DifficultBookshelfScript + dba PictureBookshelfScript + dba MagazineBookshelfScript + dba TeamRocketOathScript + dba IncenseBurnerScript + dba MerchandiseShelfScript + dba TownMapScript + dba WindowScript + dba TVScript + dba HomepageScript + dba Radio1Script + dba Radio2Script + dba TrashCanScript + dba StrengthBoulderScript + dba SmashRockScript + dba PokecenterSignScript + dba MartSignScript + dba GoldenrodRocketsScript + dba RadioTowerRocketsScript + dba ElevatorButtonScript + dba DayToTextScript + dba BugContestResultsWarpScript + dba BugContestResultsScript + dba InitializeEventsScript + dba AskNumber1MScript + dba AskNumber2MScript + dba RegisteredNumberMScript + dba NumberAcceptedMScript + dba NumberDeclinedMScript + dba PhoneFullMScript + dba RematchMScript + dba AskNumber1FScript + dba AskNumber2FScript + dba RegisteredNumberFScript + dba NumberAcceptedFScript + dba NumberDeclinedFScript + dba PhoneFullFScript + dba RematchFScript + dba GymStatue1Script + dba GymStatue2Script + dba ReceiveItemScript + dba ReceiveTogepiEggScript + dba PCScript + dba GameCornerCoinVendorScript + dba HappinessCheckScript + +PokecenterNurseScript: + opentext + checktime MORN + iftrue .morn + checktime DAY + iftrue .day + checktime NITE + iftrue .nite + sjump .ok + +.morn + writetext NurseMornText + promptbutton + sjump .ok + +.day + writetext NurseDayText + promptbutton + sjump .ok + +.nite + writetext NurseNiteText + promptbutton + sjump .ok + +.ok + writetext NurseAskHealText + yesorno + iffalse .done + + writetext NurseTakePokemonText + pause 20 + turnobject LAST_TALKED, LEFT + pause 10 + special HealParty + playmusic MUSIC_NONE + setval HEALMACHINE_POKECENTER + special HealMachineAnim + pause 30 + special RestartMapMusic + turnobject LAST_TALKED, DOWN + pause 10 + + checkphonecall ; elm already called about pokerus + iftrue .no + checkflag ENGINE_CAUGHT_POKERUS + iftrue .no + special CheckPokerus + iftrue .pokerus +.no + writetext NurseReturnPokemonText + pause 20 + +.done + writetext NurseGoodbyeText + + turnobject LAST_TALKED, UP + pause 10 + turnobject LAST_TALKED, DOWN + pause 10 + + waitbutton + closetext + end + +.pokerus + writetext NursePokerusText + waitbutton + closetext + setflag ENGINE_CAUGHT_POKERUS + specialphonecall SPECIALCALL_POKERUS + end + +DifficultBookshelfScript: + jumptext DifficultBookshelfText + +PictureBookshelfScript: + jumptext PictureBookshelfText + +MagazineBookshelfScript: + jumptext MagazineBookshelfText + +TeamRocketOathScript: + jumptext TeamRocketOathText + +IncenseBurnerScript: + jumptext IncenseBurnerText + +MerchandiseShelfScript: + jumptext MerchandiseShelfText + +TownMapScript: + opentext + writetext LookTownMapText + waitbutton + special OverworldTownMap + closetext + end + +WindowScript: + jumptext WindowText + +TVScript: + opentext + writetext TVText + waitbutton + closetext + end + +HomepageScript: + jumptext HomepageText + +Radio1Script: + opentext + setval MAPRADIO_POKEMON_CHANNEL + special MapRadio + closetext + end + +Radio2Script: +; Lucky Channel + opentext + setval MAPRADIO_LUCKY_CHANNEL + special MapRadio + closetext + end + +TrashCanScript: + jumptext TrashCanText + +PCScript: + opentext + special PokemonCenterPC + closetext + end + +ElevatorButtonScript: + playsound SFX_READ_TEXT_2 + pause 15 + playsound SFX_ELEVATOR_END + end + +StrengthBoulderScript: + farsjump AskStrengthScript + +SmashRockScript: + farsjump AskRockSmashScript + +PokecenterSignScript: + jumptext PokecenterSignText + +MartSignScript: + jumptext MartSignText + +DayToTextScript: + readvar VAR_WEEKDAY + ifequal MONDAY, .Monday + ifequal TUESDAY, .Tuesday + ifequal WEDNESDAY, .Wednesday + ifequal THURSDAY, .Thursday + ifequal FRIDAY, .Friday + ifequal SATURDAY, .Saturday + getstring STRING_BUFFER_3, .SundayText + end +.Monday: + getstring STRING_BUFFER_3, .MondayText + end +.Tuesday: + getstring STRING_BUFFER_3, .TuesdayText + end +.Wednesday: + getstring STRING_BUFFER_3, .WednesdayText + end +.Thursday: + getstring STRING_BUFFER_3, .ThursdayText + end +.Friday: + getstring STRING_BUFFER_3, .FridayText + end +.Saturday: + getstring STRING_BUFFER_3, .SaturdayText + end +.SundayText: + db "SUNDAY@" +.MondayText: + db "MONDAY@" +.TuesdayText: + db "TUESDAY@" +.WednesdayText: + db "WEDNESDAY@" +.ThursdayText: + db "THURSDAY@" +.FridayText: + db "FRIDAY@" +.SaturdayText: + db "SATURDAY@" + +GoldenrodRocketsScript: + clearevent EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER + end + +RadioTowerRocketsScript: + setflag ENGINE_ROCKETS_IN_RADIO_TOWER + setevent EVENT_GOLDENROD_CITY_CIVILIANS + setevent EVENT_RADIO_TOWER_BLACKBELT_BLOCKS_STAIRS + clearevent EVENT_RADIO_TOWER_ROCKET_TAKEOVER + clearevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER + setevent EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST + specialphonecall SPECIALCALL_WEIRDBROADCAST + setmapscene MAHOGANY_TOWN, SCENE_FINISHED + end + +BugContestResultsWarpScript: + special ClearBGPalettes + scall BugContestResults_CopyContestantsToResults + setevent EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY + clearevent EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY + setevent EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE + warp ROUTE_36_NATIONAL_PARK_GATE, 0, 4 + applymovement PLAYER, Movement_ContestResults_WalkAfterWarp + +BugContestResultsScript: + clearflag ENGINE_BUG_CONTEST_TIMER + clearevent EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE + clearevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE + clearevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE + clearevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY + clearevent EVENT_CONTEST_OFFICER_HAS_BERRY + opentext + writetext ContestResults_ReadyToJudgeText + waitbutton + special BugContestJudging + getnum STRING_BUFFER_3 + ifequal 1, BugContestResults_FirstPlace + ifequal 2, BugContestResults_SecondPlace + ifequal 3, BugContestResults_ThirdPlace + writetext ContestResults_ConsolationPrizeText + promptbutton + waitsfx + verbosegiveitem BERRY + iffalse BugContestResults_NoRoomForBerry + +BugContestResults_DidNotWin: + writetext ContestResults_DidNotWinText + promptbutton + sjump BugContestResults_FinishUp + +BugContestResults_ReturnAfterWinnersPrize: + writetext ContestResults_JoinUsNextTimeText + promptbutton + +BugContestResults_FinishUp: + checkevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER + iffalse BugContestResults_DidNotLeaveMons + writetext ContestResults_ReturnPartyText + waitbutton + special ContestReturnMons +BugContestResults_DidNotLeaveMons: + special CheckPartyFullAfterContest + ifequal BUGCONTEST_CAUGHT_MON, BugContestResults_CleanUp + ifequal BUGCONTEST_NO_CATCH, BugContestResults_CleanUp + ; BUGCONTEST_BOXED_MON + writetext ContestResults_PartyFullText + waitbutton +BugContestResults_CleanUp: + closetext + setscene SCENE_ROUTE36NATIONALPARKGATE_NOTHING + setmapscene ROUTE_35_NATIONAL_PARK_GATE, SCENE_ROUTE35NATIONALPARKGATE_NOTHING + setevent EVENT_BUG_CATCHING_CONTESTANT_1A + setevent EVENT_BUG_CATCHING_CONTESTANT_2A + setevent EVENT_BUG_CATCHING_CONTESTANT_3A + setevent EVENT_BUG_CATCHING_CONTESTANT_4A + setevent EVENT_BUG_CATCHING_CONTESTANT_5A + setevent EVENT_BUG_CATCHING_CONTESTANT_6A + setevent EVENT_BUG_CATCHING_CONTESTANT_7A + setevent EVENT_BUG_CATCHING_CONTESTANT_8A + setevent EVENT_BUG_CATCHING_CONTESTANT_9A + setevent EVENT_BUG_CATCHING_CONTESTANT_10A + setevent EVENT_BUG_CATCHING_CONTESTANT_1B + setevent EVENT_BUG_CATCHING_CONTESTANT_2B + setevent EVENT_BUG_CATCHING_CONTESTANT_3B + setevent EVENT_BUG_CATCHING_CONTESTANT_4B + setevent EVENT_BUG_CATCHING_CONTESTANT_5B + setevent EVENT_BUG_CATCHING_CONTESTANT_6B + setevent EVENT_BUG_CATCHING_CONTESTANT_7B + setevent EVENT_BUG_CATCHING_CONTESTANT_8B + setevent EVENT_BUG_CATCHING_CONTESTANT_9B + setevent EVENT_BUG_CATCHING_CONTESTANT_10B + setflag ENGINE_DAILY_BUG_CONTEST + special PlayMapMusic + end + +BugContestResults_FirstPlace: + setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 + getitemname STRING_BUFFER_4, SUN_STONE + writetext ContestResults_PlayerWonAPrizeText + waitbutton + verbosegiveitem SUN_STONE + iffalse BugContestResults_NoRoomForSunStone + sjump BugContestResults_ReturnAfterWinnersPrize + +BugContestResults_SecondPlace: + getitemname STRING_BUFFER_4, EVERSTONE + writetext ContestResults_PlayerWonAPrizeText + waitbutton + verbosegiveitem EVERSTONE + iffalse BugContestResults_NoRoomForEverstone + sjump BugContestResults_ReturnAfterWinnersPrize + +BugContestResults_ThirdPlace: + getitemname STRING_BUFFER_4, GOLD_BERRY + writetext ContestResults_PlayerWonAPrizeText + waitbutton + verbosegiveitem GOLD_BERRY + iffalse BugContestResults_NoRoomForGoldBerry + sjump BugContestResults_ReturnAfterWinnersPrize + +BugContestResults_NoRoomForSunStone: + writetext BugContestPrizeNoRoomText + promptbutton + setevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE + sjump BugContestResults_ReturnAfterWinnersPrize + +BugContestResults_NoRoomForEverstone: + writetext BugContestPrizeNoRoomText + promptbutton + setevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE + sjump BugContestResults_ReturnAfterWinnersPrize + +BugContestResults_NoRoomForGoldBerry: + writetext BugContestPrizeNoRoomText + promptbutton + setevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY + sjump BugContestResults_ReturnAfterWinnersPrize + +BugContestResults_NoRoomForBerry: + writetext BugContestPrizeNoRoomText + promptbutton + setevent EVENT_CONTEST_OFFICER_HAS_BERRY + sjump BugContestResults_DidNotWin + +BugContestResults_CopyContestantsToResults: + checkevent EVENT_BUG_CATCHING_CONTESTANT_1A + iftrue .skip1 + clearevent EVENT_BUG_CATCHING_CONTESTANT_1B +.skip1 + checkevent EVENT_BUG_CATCHING_CONTESTANT_2A + iftrue .skip2 + clearevent EVENT_BUG_CATCHING_CONTESTANT_2B +.skip2 + checkevent EVENT_BUG_CATCHING_CONTESTANT_3A + iftrue .skip3 + clearevent EVENT_BUG_CATCHING_CONTESTANT_3B +.skip3 + checkevent EVENT_BUG_CATCHING_CONTESTANT_4A + iftrue .skip4 + clearevent EVENT_BUG_CATCHING_CONTESTANT_4B +.skip4 + checkevent EVENT_BUG_CATCHING_CONTESTANT_5A + iftrue .skip5 + clearevent EVENT_BUG_CATCHING_CONTESTANT_5B +.skip5 + checkevent EVENT_BUG_CATCHING_CONTESTANT_6A + iftrue .skip6 + clearevent EVENT_BUG_CATCHING_CONTESTANT_6B +.skip6 + checkevent EVENT_BUG_CATCHING_CONTESTANT_7A + iftrue .skip7 + clearevent EVENT_BUG_CATCHING_CONTESTANT_7B +.skip7 + checkevent EVENT_BUG_CATCHING_CONTESTANT_8A + iftrue .skip8 + clearevent EVENT_BUG_CATCHING_CONTESTANT_8B +.skip8 + checkevent EVENT_BUG_CATCHING_CONTESTANT_9A + iftrue .skip9 + clearevent EVENT_BUG_CATCHING_CONTESTANT_9B +.skip9 + checkevent EVENT_BUG_CATCHING_CONTESTANT_10A + iftrue .skip10 + clearevent EVENT_BUG_CATCHING_CONTESTANT_10B +.skip10 + end + +InitializeEventsScript: + setevent EVENT_EARLS_ACADEMY_EARL + setevent EVENT_RADIO_TOWER_ROCKET_TAKEOVER + setevent EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER + setevent EVENT_RADIO_TOWER_CIVILIANS_AFTER + setevent EVENT_ILEX_FOREST_APPRENTICE + setevent EVENT_ILEX_FOREST_FARFETCHD1 + setevent EVENT_ILEX_FOREST_FARFETCHD2 + setevent EVENT_ILEX_FOREST_FARFETCHD3 + setevent EVENT_ILEX_FOREST_FARFETCHD4 + setevent EVENT_ILEX_FOREST_FARFETCHD5 + setevent EVENT_ILEX_FOREST_FARFETCHD6 + setevent EVENT_ILEX_FOREST_FARFETCHD7 + setevent EVENT_ILEX_FOREST_FARFETCHD8 + setevent EVENT_ILEX_FOREST_FARFETCHD9 + setevent EVENT_ILEX_FOREST_FARFETCHD10 + setevent EVENT_ILEX_FOREST_CHARCOAL_MASTER + setevent EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE + setevent EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE + setevent EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE + setevent EVENT_TEAM_ROCKET_BASE_B2F_DRAGONITE + setevent EVENT_RIVAL_TEAM_ROCKET_BASE + setevent EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM + setevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER + setevent EVENT_RIVAL_CHERRYGROVE_CITY + setevent EVENT_RIVAL_AZALEA_TOWN + setevent EVENT_RIVAL_GOLDENROD_UNDERGROUND + setevent EVENT_AZALEA_TOWN_SLOWPOKES + setevent EVENT_KURTS_HOUSE_SLOWPOKE + setevent EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE + setevent EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER + setevent EVENT_COP_IN_ELMS_LAB + setevent EVENT_RUINS_OF_ALPH_OUTSIDE_SCIENTIST + setevent EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST + setevent EVENT_BOULDER_IN_ICE_PATH_1A + setevent EVENT_BOULDER_IN_ICE_PATH_2A + setevent EVENT_BOULDER_IN_ICE_PATH_3A + setevent EVENT_BOULDER_IN_ICE_PATH_4A + setevent EVENT_ROUTE_30_YOUNGSTER_JOEY + setevent EVENT_BUG_CATCHING_CONTESTANT_1A + setevent EVENT_BUG_CATCHING_CONTESTANT_2A + setevent EVENT_BUG_CATCHING_CONTESTANT_3A + setevent EVENT_BUG_CATCHING_CONTESTANT_4A + setevent EVENT_BUG_CATCHING_CONTESTANT_5A + setevent EVENT_BUG_CATCHING_CONTESTANT_6A + setevent EVENT_BUG_CATCHING_CONTESTANT_7A + setevent EVENT_BUG_CATCHING_CONTESTANT_8A + setevent EVENT_BUG_CATCHING_CONTESTANT_9A + setevent EVENT_BUG_CATCHING_CONTESTANT_10A + setevent EVENT_BUG_CATCHING_CONTESTANT_1B + setevent EVENT_BUG_CATCHING_CONTESTANT_2B + setevent EVENT_BUG_CATCHING_CONTESTANT_3B + setevent EVENT_BUG_CATCHING_CONTESTANT_4B + setevent EVENT_BUG_CATCHING_CONTESTANT_5B + setevent EVENT_BUG_CATCHING_CONTESTANT_6B + setevent EVENT_BUG_CATCHING_CONTESTANT_7B + setevent EVENT_BUG_CATCHING_CONTESTANT_8B + setevent EVENT_BUG_CATCHING_CONTESTANT_9B + setevent EVENT_BUG_CATCHING_CONTESTANT_10B + setevent EVENT_FAST_SHIP_1F_GENTLEMAN + setevent EVENT_FAST_SHIP_B1F_SAILOR_RIGHT + setevent EVENT_FAST_SHIP_CABINS_NNW_NNE_NE_SAILOR + setevent EVENT_LAKE_OF_RAGE_CIVILIANS + setevent EVENT_MAHOGANY_MART_OWNERS + setevent EVENT_TIN_TOWER_ROOF_HO_OH + setevent EVENT_WHIRL_ISLAND_LUGIA_CHAMBER_LUGIA + setevent EVENT_PLAYERS_HOUSE_2F_CONSOLE + setevent EVENT_PLAYERS_HOUSE_2F_DOLL_1 + setevent EVENT_PLAYERS_HOUSE_2F_DOLL_2 + setevent EVENT_PLAYERS_HOUSE_2F_BIG_DOLL + setevent EVENT_DECO_BED_1 + setevent EVENT_DECO_POSTER_1 + setevent EVENT_GOLDENROD_TRAIN_STATION_GENTLEMAN + setevent EVENT_OLIVINE_GYM_JASMINE + setevent EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN + setevent EVENT_MET_BILL + setevent EVENT_ECRUTEAK_POKE_CENTER_BILL + setevent EVENT_MYSTERY_GIFT_DELIVERY_GUY + setevent EVENT_LAKE_OF_RAGE_LANCE + setevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_1 + setevent EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_BLOCKED_OFF + setevent EVENT_DRAGONS_DEN_CLAIR + setevent EVENT_RIVAL_OLIVINE_CITY + setevent EVENT_RIVAL_VICTORY_ROAD + setevent EVENT_RIVAL_DRAGONS_DEN + setevent EVENT_LANCES_ROOM_OAK_AND_MARY + setevent EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_1 + setevent EVENT_BURNED_TOWER_B1F_BEASTS_1 + setevent EVENT_RED_IN_MT_SILVER + setevent EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME + setevent EVENT_FAST_SHIP_PASSENGERS_EASTBOUND + setevent EVENT_FAST_SHIP_PASSENGERS_WESTBOUND + setevent EVENT_OLIVINE_PORT_PASSAGE_POKEFAN_M + setevent EVENT_KURTS_HOUSE_KURT_2 + setevent EVENT_BURNED_TOWER_FIREBREATHER_DICK_ASHES + setevent EVENT_RANG_CLEAR_BELL_1 ; ? + setevent EVENT_PLAYERS_HOUSE_MOM_2 + setflag ENGINE_ROCKET_SIGNAL_ON_CH20 + setflag ENGINE_ROCKETS_IN_MAHOGANY + variablesprite SPRITE_WEIRD_TREE, SPRITE_SUDOWOODO + variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SILVER + variablesprite SPRITE_AZALEA_ROCKET, SPRITE_ROCKET + variablesprite SPRITE_FUCHSIA_GYM_1, SPRITE_JANINE + variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_JANINE + variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_JANINE + variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_JANINE + variablesprite SPRITE_COPYCAT, SPRITE_LASS + variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_LASS + setevent EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM + setevent EVENT_CERULEAN_GYM_ROCKET + setevent EVENT_ROUTE_24_ROCKET + setevent EVENT_ROUTE_25_MISTY_BOYFRIEND + setevent EVENT_TRAINERS_IN_CERULEAN_GYM + setevent EVENT_COPYCATS_HOUSE_2F_DOLL + setevent EVENT_VIRIDIAN_GYM_BLUE + setevent EVENT_SEAFOAM_GYM_GYM_GUY + setevent EVENT_MT_MOON_SQUARE_CLEFAIRY + setevent EVENT_SAFFRON_TRAIN_STATION_POPULATION + setevent EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL + setevent EVENT_INITIALIZED_EVENTS + return + +AskNumber1MScript: + writetext AskNumber1MText + end + +AskNumber2MScript: + writetext AskNumber2MText + end + +RegisteredNumberMScript: + writetext RegisteredNumberMText + playsound SFX_REGISTER_PHONE_NUMBER + waitsfx + promptbutton + end + +NumberAcceptedMScript: + writetext NumberAcceptedMText + waitbutton + closetext + end + +NumberDeclinedMScript: + writetext NumberDeclinedMText + waitbutton + closetext + end + +PhoneFullMScript: + writetext PhoneFullMText + waitbutton + closetext + end + +RematchMScript: + writetext RematchMText + waitbutton + closetext + end + +AskNumber1FScript: + writetext AskNumber1FText + end + +AskNumber2FScript: + writetext AskNumber2FText + end + +RegisteredNumberFScript: + writetext RegisteredNumberFText + playsound SFX_REGISTER_PHONE_NUMBER + waitsfx + promptbutton + end + +NumberAcceptedFScript: + writetext NumberAcceptedFText + waitbutton + closetext + end + +NumberDeclinedFScript: + writetext NumberDeclinedFText + waitbutton + closetext + end + +PhoneFullFScript: + writetext PhoneFullFText + waitbutton + closetext + end + +RematchFScript: + writetext RematchFText + waitbutton + closetext + end + +GymStatue1Script: + getcurlandmarkname STRING_BUFFER_3 + opentext + writetext GymStatue_CityGymText + waitbutton + closetext + end + +GymStatue2Script: + getcurlandmarkname STRING_BUFFER_3 + opentext + writetext GymStatue_CityGymText + promptbutton + writetext GymStatue_WinningTrainersText + waitbutton + closetext + end + +ReceiveItemScript: + waitsfx + writetext ReceivedItemText + playsound SFX_ITEM + waitsfx + end + +ReceiveTogepiEggScript: + waitsfx + writetext ReceivedItemText + playsound SFX_GET_EGG + waitsfx + end + +GameCornerCoinVendorScript: + faceplayer + opentext + writetext CoinVendor_WelcomeText + promptbutton + checkitem COIN_CASE + iftrue CoinVendor_IntroScript + writetext CoinVendor_NoCoinCaseText + waitbutton + closetext + end + +CoinVendor_IntroScript: + writetext CoinVendor_IntroText + +.loop + special DisplayMoneyAndCoinBalance + loadmenu .MenuHeader + verticalmenu + closewindow + ifequal 1, .Buy50 + ifequal 2, .Buy500 + sjump .Cancel + +.Buy50: + checkcoins MAX_COINS - 50 + ifequal HAVE_MORE, .CoinCaseFull + checkmoney YOUR_MONEY, 1000 + ifequal HAVE_LESS, .NotEnoughMoney + givecoins 50 + takemoney YOUR_MONEY, 1000 + waitsfx + playsound SFX_TRANSACTION + writetext CoinVendor_Buy50CoinsText + waitbutton + sjump .loop + +.Buy500: + checkcoins MAX_COINS - 500 + ifequal HAVE_MORE, .CoinCaseFull + checkmoney YOUR_MONEY, 10000 + ifequal HAVE_LESS, .NotEnoughMoney + givecoins 500 + takemoney YOUR_MONEY, 10000 + waitsfx + playsound SFX_TRANSACTION + writetext CoinVendor_Buy500CoinsText + waitbutton + sjump .loop + +.NotEnoughMoney: + writetext CoinVendor_NotEnoughMoneyText + waitbutton + closetext + end + +.CoinCaseFull: + writetext CoinVendor_CoinCaseFullText + waitbutton + closetext + end + +.Cancel: + writetext CoinVendor_CancelText + waitbutton + closetext + end + +.MenuHeader: + db MENU_BACKUP_TILES ; flags + menu_coords 0, 4, 15, TEXTBOX_Y - 1 + dw .MenuData + db 1 ; default option + +.MenuData: + db STATICMENU_CURSOR ; flags + db 3 ; items + db " 50 : ¥1000@" + db "500 : ¥10000@" + db "CANCEL@" + +HappinessCheckScript: + faceplayer + opentext + special GetFirstPokemonHappiness + ifless 50, .Unhappy + ifless 150, .KindaHappy + writetext HappinessText3 + waitbutton + closetext + end + +.KindaHappy: + writetext HappinessText2 + waitbutton + closetext + end + +.Unhappy: + writetext HappinessText1 + waitbutton + closetext + end + +Movement_ContestResults_WalkAfterWarp: + step RIGHT + step DOWN + turn_head UP + step_end diff --git a/engine/movie/gamefreak_presents.asm b/engine/movie/gamefreak_presents.asm index 2676c9f6..f4c2c5cc 100644 --- a/engine/movie/gamefreak_presents.asm +++ b/engine/movie/gamefreak_presents.asm @@ -1,41 +1,30 @@ -Copyright_GFPresents: ; e49a8 (39:49a8) +Copyright_GFPresents: ; Play the copyright screen and GameFreak Presents sequence. ; Return carry if user cancels animation by pressing a button. call ClearBGPalettes call ClearTilemap - ld a, HIGH(vBGMap0) ldh [hBGMapAddress + 1], a xor a ; LOW(vBGMap0) ldh [hBGMapAddress], a - ldh [hJoyDown], a ldh [hSCX], a ldh [hSCY], a - ld a, SCREEN_HEIGHT_PX ldh [hWY], a - call WaitBGMap - ld b, SCGB_GAMEFREAK_LOGO call GetSGBLayout - call SetPalettes - ld c, 10 call DelayFrames - callfar Copyright - call WaitBGMap - ld c, 100 call DelayFrames - call ClearTilemap - call GFPresents_Init + call .GetGFLogoGFX .loop call GFPresents_PlayFrame @@ -55,7 +44,7 @@ Copyright_GFPresents: ; e49a8 (39:49a8) scf ret -GFPresents_Init: ; e49f3 (39:49f3) +.GetGFLogoGFX: ; Load gfx and initialize variables ld de, GFPresentsGFX1 @@ -75,25 +64,21 @@ GFPresents_Init: ; e49f3 (39:49f3) ld [hli], a ld a, $8d ld [hl], a - xor a ld [wJumptableIndex], a - ld [$ce64], a + ld [wIntroSceneFrameCounter], a ld [wIntroSceneTimer], a ldh [hSCX], a ldh [hSCY], a - ld a, 1 ldh [hBGMapMode], a - ld a, SCREEN_HEIGHT_PX ldh [hWY], a - lb de, %00100100, %11111000 call DmgToCgbObjPals ret -GFPresents_PlayFrame: ; e4a37 (39:4a37) +GFPresents_PlayFrame: ; Play one frame of GFPresents sequence. ; Return carry when the sequence completes or is canceled. @@ -133,7 +118,7 @@ GFPresents_PlayFrame: ; e4a37 (39:4a37) scf ret -GFPresents_HandleFrame: ; e4a6d (39:4a6d) +GFPresents_HandleFrame: ; Dispatch to the current scene handler ld a, [wJumptableIndex] @@ -155,26 +140,26 @@ GFPresents_HandleFrame: ; e4a6d (39:4a6d) dw GFPresents_WaitForTimer dw GFPresents_SetDoneFlag -GFPresents_NextScene: ; e4a88 (39:4a88) +GFPresents_NextScene: ld hl, wJumptableIndex inc [hl] ret ; unused? -Func_e4a8d: ; e4a8d (39:4a8d) +Functione4a8d: ld c, 64 call DelayFrames call GFPresents_NextScene ret -GFPresents_Star: ; e4a96 (39:4a96) +GFPresents_Star: ; tell GFPresents_PlaceLogo we haven't finished yet xor a - ld [$ce64], a + ld [wIntroSceneFrameCounter], a depixel 10, 11, 4, 0 - ld a, $16 + ld a, SPRITE_ANIM_INDEX_GS_INTRO_STAR call InitSpriteAnimStruct ; TODO set some flag in the struct? @@ -188,17 +173,17 @@ GFPresents_Star: ; e4a96 (39:4a96) call GFPresents_NextScene ret -GFPresents_PlaceLogo: ; e4ab2 (39:4ab2) +GFPresents_PlaceLogo: ; Draw the Game Freak logo (may be initially invisible due to palette) ; wait until the star animation completed ; TODO this is cleared above, but when is it set? - ld a, [$ce64] + ld a, [wIntroSceneFrameCounter] and a ret z depixel 10, 11, 4, 0 - ld a, $15 + ld a, SPRITE_ANIM_INDEX_GAMEFREAK_LOGO call InitSpriteAnimStruct call GFPresents_NextScene @@ -208,7 +193,7 @@ GFPresents_PlaceLogo: ; e4ab2 (39:4ab2) ld [wIntroSceneTimer], a ret -GFPresents_LogoSparkles: ; e4ac8 (39:4ac8) +GFPresents_LogoSparkles: ld hl, wIntroSceneTimer ld a, [hl] @@ -230,16 +215,18 @@ GFPresents_LogoSparkles: ; e4ac8 (39:4ac8) call GFPresents_NextScene ret -GFPresents_PlaceGameFreak: ; e4adf (39:4adf) +GFPresents_PlaceGameFreak: hlcoord 5, 12 ld de, .game_freak call PlaceString ret .game_freak - db $80, $81, $82, $83, $8d, $84, $85, $83, $81, $86, "@" + db $80, $81, $82, $83, $8d, $84, $85, $83, $81, $86 +.end + db "@" -GFPresents_PlacePresents: ; e4af4 (39:4af4) +GFPresents_PlacePresents: hlcoord 7, 13 ld de, .presents call PlaceString @@ -252,18 +239,18 @@ GFPresents_PlacePresents: ; e4af4 (39:4af4) ret .presents - db $87, $88, $89, $8a, $8b, $8c, "@" + db $87, $88, $89, $8a, $8b, $8c +.end + db "@" -GFPresents_SetDoneFlag: ; e4b0d (39:4b0d) -; Tell GFPresents_PlayFrame and TitleScreenFrame (01:63da) that we're finished. +GFPresents_SetDoneFlag: +; Tell GFPresents_PlayFrame and TitleScreenFrame that we're finished. ld hl, wJumptableIndex set 7, [hl] ret -GFPresents_WaitForTimer: ; e4b13 (39:4b13) -; Wait for the timer to elapse - +GFPresents_WaitForTimer: ld hl, wIntroSceneTimer ld a, [hl] and a @@ -274,8 +261,8 @@ GFPresents_WaitForTimer: ; e4b13 (39:4b13) call GFPresents_NextScene ret -GFPresents_UpdateLogoPal: ; e4b20 (39:4b20) -; called from 29:5928 +GFPresents_UpdateLogoPal: +; called from 23:5928 ; OBP1 was initialized at end of GFPresents_Init ; once we reached the final state, leave it alone @@ -297,7 +284,7 @@ GFPresents_UpdateLogoPal: ; e4b20 (39:4b20) call DmgToCgbObjPal1 ret -GFPresents_Sparkle: ; e4b33 (39:4b33) +GFPresents_Sparkle: ; Initialize and configure a sparkle sprite. ; TODO unclear how this relates to the actual screen display, ; seems to be called more times than there are visible sparkles? @@ -314,7 +301,7 @@ GFPresents_Sparkle: ; e4b33 (39:4b33) ; set up a new sparkle sprite push af depixel 11, 11 - ld a, $17 + ld a, SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE call InitSpriteAnimStruct pop af diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 93345798..0545b8f1 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -55,7 +55,7 @@ TitleScreen: ld [hli], a ; wIntroSceneFrameCounter ld [hli], a ; wTitleScreenTimer ld [hl], a ; wTitleScreenTimer + 1 - ld de, $6058 + depixel 12, 11 ld a, SPRITE_ANIM_INDEX_GS_INTRO_HO_OH call InitSpriteAnimStruct ld hl, wSpriteAnim1 diff --git a/engine/overworld/player_movement.asm b/engine/overworld/player_movement.asm index bdf23ec4..6747c0ef 100755 --- a/engine/overworld/player_movement.asm +++ b/engine/overworld/player_movement.asm @@ -394,7 +394,7 @@ DoPlayerMovement:: .CheckWarp: ; Bug: Since no case is made for STANDING here, it will check -; [.edgewarps + $ff]. This resolves to $3e at $8035a. +; [.edgewarps + $ff]. This resolves to $3e at $1035a. ; This causes wWalkingIntoEdgeWarp to be nonzero when standing on tile $3e, ; making bumps silent. diff --git a/engine/phone/scripts/bike_shop.asm b/engine/phone/scripts/bike_shop.asm new file mode 100644 index 00000000..bb10af68 --- /dev/null +++ b/engine/phone/scripts/bike_shop.asm @@ -0,0 +1,5 @@ +BikeShopPhoneCallerScript: + writetext BikeShopPhoneCallerText + clearflag ENGINE_BIKE_SHOP_CALL_ENABLED + specialphonecall SPECIALCALL_NONE + end diff --git a/engine/phone/scripts/bill.asm b/engine/phone/scripts/bill.asm new file mode 100644 index 00000000..7bb2e4d6 --- /dev/null +++ b/engine/phone/scripts/bill.asm @@ -0,0 +1,41 @@ +BillPhoneCalleeScript: + checktime DAY + iftrue .daygreet + checktime NITE + iftrue .nitegreet + writetext BillPhoneMornGreetingText + promptbutton + sjump .main + +.daygreet + writetext BillPhoneDayGreetingText + promptbutton + sjump .main + +.nitegreet + writetext BillPhoneNiteGreetingText + promptbutton + sjump .main + +.main + writetext BillPhoneGenericText + promptbutton + readvar VAR_BOXSPACE + getnum STRING_BUFFER_3 + ifequal 0, .full + ifless PARTY_LENGTH, .nearlyfull + writetext BillPhoneNotFullText + end + +.nearlyfull + writetext BillPhoneNearlyFullText + end + +.full + writetext BillPhoneFullText + end + +BillPhoneCallerScript: + writetext BillPhoneNewlyFullText + waitbutton + end diff --git a/engine/phone/scripts/elm.asm b/engine/phone/scripts/elm.asm new file mode 100644 index 00000000..b93bdc22 --- /dev/null +++ b/engine/phone/scripts/elm.asm @@ -0,0 +1,101 @@ +ElmPhoneCalleeScript: + readvar VAR_SPECIALPHONECALL + ifequal SPECIALCALL_POKERUS, .pokerus + checkevent EVENT_SHOWED_TOGEPI_TO_ELM + iftrue .discovery + checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE + iffalse .next + checkevent EVENT_TOGEPI_HATCHED + iftrue .egghatched +.next + checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE + iftrue .eggunhatched + checkevent EVENT_ELMS_AIDE_IN_LAB + iftrue .assistant + checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM + iftrue .checkingegg + checkevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON + iftrue .stolen + checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON + iftrue .sawmrpokemon + writetext ElmPhoneHealYourMonText + end + +.sawmrpokemon + writetext ElmPhoneSawMrPokemonText + end + +.stolen + writetext ElmPhonePokemonStolenText + end + +.checkingegg + writetext ElmPhoneCheckingTheEggText + end + +.assistant + writetext ElmPhoneAssistantText + end + +.eggunhatched + writetext ElmPhoneHowIsTheEggText + end + +.egghatched + writetext ElmPhoneEggHatchedText + setevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE + end + +.discovery + random 2 + ifequal 0, .nextdiscovery + writetext ElmPhoneDiscoveredHatchTimeText + end + +.nextdiscovery + writetext ElmPhoneInvestigatingEggMovesText + end + +.pokerus + writetext ElmPhoneDiscoveredPokerusText + specialphonecall SPECIALCALL_NONE + end + +ElmPhoneCallerScript: + readvar VAR_SPECIALPHONECALL + ifequal SPECIALCALL_ROBBED, .disaster + ifequal SPECIALCALL_ASSISTANT, .assistant + ifequal SPECIALCALL_WEIRDBROADCAST, .rocket + ifequal SPECIALCALL_SSTICKET, .gift + ifequal SPECIALCALL_MASTERBALL, .gift + writetext ElmPhoneDiscoveredPokerusText + specialphonecall SPECIALCALL_NONE + end + +.disaster + writetext ElmPhoneDisasterText + specialphonecall SPECIALCALL_NONE + setevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON + end + +.assistant + writetext ElmPhoneEggAssistantText + specialphonecall SPECIALCALL_NONE + clearevent EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER + setevent EVENT_ELMS_AIDE_IN_LAB + end + +.rocket + writetext ElmPhoneRadioTowerRocketTakeoverText + specialphonecall SPECIALCALL_NONE + end + +.gift + writetext ElmPhoneGiftText + specialphonecall SPECIALCALL_NONE + end + +.unused + writetext ElmPhoneGotAholdOfSomethingNeatText + specialphonecall SPECIALCALL_NONE + end diff --git a/engine/phone/scripts/generic.asm b/engine/phone/scripts/generic.asm new file mode 100644 index 00000000..4587c739 --- /dev/null +++ b/engine/phone/scripts/generic.asm @@ -0,0 +1,227 @@ +PhoneScript_Random2: + random 2 + end + +PhoneScript_Random4: + random 4 + end + +PhoneScript_AnswerPhone_Male: + checktime DAY + iftrue .day + checktime NITE + iftrue .nite + writetext PhoneMaleAnswerMornText + promptbutton + end +.day + writetext PhoneMaleAnswerDayText + promptbutton + end +.nite + writetext PhoneMaleAnswerNiteText + promptbutton + end + +PhoneScript_AnswerPhone_Female: + checktime DAY + iftrue .day + checktime NITE + iftrue .nite + writetext PhoneFemaleAnswerMornText + promptbutton + end +.day + writetext PhoneFemaleAnswerDayText + promptbutton + end +.nite + writetext PhoneFemaleAnswerNiteText + promptbutton + end + +PhoneScript_GreetPhone_Male: + checktime DAY + iftrue .day + checktime NITE + iftrue .nite + writetext PhoneMaleGreetMornText + promptbutton + end +.day + writetext PhoneMaleGreetDayText + promptbutton + end +.nite + writetext PhoneMaleGreetNiteText + promptbutton + end + +PhoneScript_GreetPhone_Female: + checktime DAY + iftrue .day + checktime NITE + iftrue .nite + writetext PhoneFemaleGreetMornText + promptbutton + end +.day + writetext PhoneFemaleGreetDayText + promptbutton + end +.nite + writetext PhoneFemaleGreetNiteText + promptbutton + end + +; Huey +Phone_GenericCall_Male_SkipMon: + special RandomPhoneMon + scall PhoneScript_Random2 + ifequal 0, Phone_LookingAwesome_Male_SkipMon + writetext PhoneMaleReallyEnergeticText + promptbutton + sjump PhoneScript_SeeYouLater + +; unused +Phone_GenericCall_Female_SkipMon: + special RandomPhoneMon + scall PhoneScript_Random2 + ifequal 0, Phone_DressedUp_Female_SkipMon + writetext PhoneFemaleTopShapeText + promptbutton + sjump PhoneScript_ByeBye + +; Huey +Phone_LookingAwesome_Male_SkipMon: + writetext PhoneMaleLookingAwesomeText + promptbutton + sjump PhoneScript_ByeBye + +; unused +Phone_DressedUp_Female_SkipMon: + writetext PhoneFemaleDressedUpText + promptbutton + sjump PhoneScript_ByeBye + +Phone_GenericCall_Male: + special RandomPhoneMon + scall PhoneScript_Random2 + ifequal 0, Phone_LookingAwesome_Male + writetext PhoneMaleReallyEnergeticText + promptbutton + sjump Phone_FoundAMon_Male + +Phone_GenericCall_Female: + special RandomPhoneMon + scall PhoneScript_Random2 + ifequal 0, Phone_DressedUp_Female + writetext PhoneFemaleTopShapeText + promptbutton + sjump Phone_FoundAMon_Female + +Phone_LookingAwesome_Male: + writetext PhoneMaleLookingAwesomeText + promptbutton + sjump Phone_FoundAMon_Male + +Phone_DressedUp_Female: + writetext PhoneFemaleDressedUpText + promptbutton + sjump Phone_FoundAMon_Female + +Phone_FoundAMon_Male: + special RandomPhoneWildMon + scall PhoneScript_Random2 + ifequal 0, PhoneScript_AlmostCaught_Male + writetext PhoneMaleManagedToBeatText + promptbutton + sjump PhoneScript_SeeYouLater + +Phone_FoundAMon_Female: + special RandomPhoneWildMon + scall PhoneScript_Random2 + ifequal 0, PhoneScript_MissedCatching_Female + writetext PhoneFemaleTypeAdvantageText + promptbutton + sjump PhoneScript_ByeBye + +PhoneScript_AlmostCaught_Male: + writetext PhoneMaleAlmostCaughtText + promptbutton + sjump PhoneScript_SeeYouLater + +PhoneScript_MissedCatching_Female: + writetext PhoneFemaleMissedCatchingText + promptbutton + sjump PhoneScript_ByeBye + +PhoneScript_WantsToBattle_Male: + writetext PhoneMaleWantsToBattleText + promptbutton + sjump PhoneScript_SeeYouLater + +PhoneScript_WantsToBattle_Female: + writetext PhoneFemaleWantsToBattleText + promptbutton + sjump PhoneScript_ByeBye + +Phone_WrongNumber_JoseBrent: + writetext PhoneWrongNumberKazText + end + +Phone_WrongNumber_Tiffany: + writetext PhoneWrongNumberAudreyText + end + +PhoneScript_SeeYouLater: + writetext PhoneSeeYouLaterText + end + +PhoneScript_ByeBye: + writetext PhoneByeByeText + end + +PhoneScript_SwarmGrass: + writetext PhoneSwarmGrassText + promptbutton + sjump PhoneScript_SeeYouLater + +PhoneScript_SwarmFish: + writetext PhoneSwarmFishText + promptbutton + sjump PhoneScript_SeeYouLater + +PhoneScript_SwarmCave: + writetext PhoneSwarmCaveText + promptbutton + sjump PhoneScript_SeeYouLater + +PhoneScript_BugCatchingContest: + writetext PhoneBugCatchingContestText + promptbutton + sjump PhoneScript_SeeYouLater + +IrwinRocketRumorScript: + writetext IrwinRocketTakeoverRumorText + promptbutton + sjump PhoneScript_SeeYouLater + +GinaRocketRumorScript: + writetext GinaRocketTakeoverRumorText + promptbutton + sjump PhoneScript_ByeBye + +Phone_CheckIfUnseenRare_Male: + scall PhoneScriptRareWildMon + iffalse PhoneScript_SeeYouLater + sjump Phone_GenericCall_Male + +Phone_CheckIfUnseenRare_Female: + scall PhoneScriptRareWildMon + iffalse PhoneScript_ByeBye + sjump Phone_GenericCall_Female + +PhoneScriptRareWildMon: + special RandomUnseenWildMon + end diff --git a/engine/phone/scripts/mom.asm b/engine/phone/scripts/mom.asm new file mode 100644 index 00000000..ec0e5113 --- /dev/null +++ b/engine/phone/scripts/mom.asm @@ -0,0 +1,150 @@ +MomPhoneCalleeScript: + checkevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST + iftrue .script_10401f + checkevent EVENT_DUDE_TALKED_TO_YOU + iftrue MomPhoneLectureScript + checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM + iftrue MomPhoneNoGymQuestScript + checkevent EVENT_GOT_A_POKEMON_FROM_ELM + iftrue MomPhoneNoPokedexScript + sjump MomPhoneNoPokemonScript + +.script_10401f + checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_8 + iftrue MomPhoneHangUpScript + writetext MomPhoneGreetingText + promptbutton + getcurlandmarkname STRING_BUFFER_3 + readvar VAR_ROOFPALETTE + ifequal 1, MomPhonePalette1 + ifequal 2, MomPhonePalette2 + sjump MomPhoneOther + +MomPhoneLandmark: + writetext MomPhoneLandmarkText + promptbutton + sjump MomSavingMoney + +MomPhonePalette1: + readvar VAR_MAPGROUP + ifequal GROUP_NEW_BARK_TOWN, .newbark + ifequal GROUP_CHERRYGROVE_CITY, .cherrygrove + ifequal GROUP_VIOLET_CITY, .violet + ifequal GROUP_AZALEA_TOWN, .azalea + ifequal GROUP_GOLDENROD_CITY, .goldenrod + writetext MomPhoneGenericAreaText + promptbutton + sjump MomSavingMoney + +.newbark + writetext MomPhoneNewBarkText + promptbutton + sjump MomSavingMoney + +.cherrygrove + writetext MomPhoneCherrygroveText + promptbutton + sjump MomSavingMoney + +.violet + getstring STRING_BUFFER_4, .text_sprout_tower + sjump MomPhoneLandmark +.text_sprout_tower + db "SPROUT TOWER@" + +.azalea + getstring STRING_BUFFER_4, .text_slowpoke_well + sjump MomPhoneLandmark +.text_slowpoke_well + db "SLOWPOKE WELL@" + +.goldenrod + getstring STRING_BUFFER_4, .text_radio_tower + sjump MomPhoneLandmark +.text_radio_tower + db "RADIO TOWER@" + +MomPhonePalette2: + writetext MomOtherAreaText + promptbutton + sjump MomSavingMoney + +MomPhoneOther: + writetext MomDeterminedText + promptbutton + sjump MomSavingMoney + +MomSavingMoney: + checkflag ENGINE_MOM_SAVING_MONEY + iffalse .NotSaving + checkmoney MOMS_MONEY, 0 + ifequal HAVE_MORE, .SavingHasMoney + sjump .SavingNoMoney + +.NotSaving: + checkmoney MOMS_MONEY, 0 + ifequal HAVE_MORE, .HasMoney + sjump .NoMoney + +.SavingHasMoney: + getmoney STRING_BUFFER_3, MOMS_MONEY + writetext MomCheckBalanceText + yesorno + iftrue MomPhoneSaveMoneyScript + sjump MomPhoneStopSavingMoneyScript + +.SavingNoMoney: + writetext MomImportantToSaveText + yesorno + iftrue MomPhoneSaveMoneyScript + sjump MomPhoneStopSavingMoneyScript + +.NoMoney: + writetext MomYoureNotSavingText + yesorno + iftrue MomPhoneSaveMoneyScript + sjump MomPhoneStopSavingMoneyScript + +.HasMoney: + getmoney STRING_BUFFER_3, MOMS_MONEY + writetext MomYouveSavedText + yesorno + iftrue MomPhoneSaveMoneyScript + sjump MomPhoneStopSavingMoneyScript + +MomPhoneSaveMoneyScript: + setflag ENGINE_MOM_SAVING_MONEY + writetext MomOKIllSaveText + promptbutton + sjump MomPhoneHangUpScript + +MomPhoneStopSavingMoneyScript: + clearflag ENGINE_MOM_SAVING_MONEY + writetext MomPhoneStopSavingMoneyText + promptbutton + sjump MomPhoneHangUpScript + +MomPhoneHangUpScript: + writetext MomPhoneHangUpText + end + +MomPhoneNoPokemonScript: + writetext MomPhoneNoPokemonText + end + +MomPhoneNoPokedexScript: + writetext MomPhoneNoPokedexText + end + +MomPhoneNoGymQuestScript: + writetext MomPhoneNoGymQuestText + end + +MomPhoneLectureScript: + setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST + setflag ENGINE_MOM_ACTIVE + specialphonecall SPECIALCALL_NONE + writetext MomPhoneLectureText + yesorno + iftrue MomPhoneSaveMoneyScript + sjump MomPhoneStopSavingMoneyScript diff --git a/engine/phone/scripts/trainers.asm b/engine/phone/scripts/trainers.asm new file mode 100644 index 00000000..8c22df62 --- /dev/null +++ b/engine/phone/scripts/trainers.asm @@ -0,0 +1,677 @@ +JackPhoneCalleeScript: + gettrainername STRING_BUFFER_3, SCHOOLBOY, JACK1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +JackPhoneCallerScript: + gettrainername STRING_BUFFER_3, SCHOOLBOY, JACK1 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneNationalParkText + setevent EVENT_JACK_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +BeverlyPhoneCalleeScript: + gettrainername STRING_BUFFER_3, POKEFANF, BEVERLY1 + scall PhoneScript_AnswerPhone_Female + sjump Phone_GenericCall_Female + +BeverlyPhoneCallerScript: + gettrainername STRING_BUFFER_3, POKEFANF, BEVERLY1 + scall PhoneScript_GreetPhone_Female + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Female + sjump Phone_GenericCall_Female + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneNationalParkText + setevent EVENT_BEVERLY_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Female + +HueyPhoneCalleeScript: + gettrainername STRING_BUFFER_3, SAILOR, HUEY1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male_SkipMon + +HueyPhoneCallerScript: + gettrainername STRING_BUFFER_3, SAILOR, HUEY1 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + sjump Phone_GenericCall_Male_SkipMon + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneLighthouseText + setevent EVENT_HUEY_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +GavenPhoneCalleeScript: + gettrainername STRING_BUFFER_3, COOLTRAINERM, GAVEN3 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +GavenPhoneCallerScript: + gettrainername STRING_BUFFER_3, COOLTRAINERM, GAVEN3 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute26Text + setevent EVENT_GAVEN_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +BethPhoneCalleeScript: + gettrainername STRING_BUFFER_3, COOLTRAINERF, BETH1 + scall PhoneScript_AnswerPhone_Female + sjump Phone_GenericCall_Female + +BethPhoneCallerScript: + gettrainername STRING_BUFFER_3, COOLTRAINERF, BETH1 + scall PhoneScript_GreetPhone_Female + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Female + sjump Phone_GenericCall_Female + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute26Text + setevent EVENT_BETH_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Female + +JosePhoneCalleeScript: + gettrainername STRING_BUFFER_3, BIRD_KEEPER, JOSE2 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +JosePhoneCallerScript: + gettrainername STRING_BUFFER_3, BIRD_KEEPER, JOSE2 + scall PhoneScript_Random4 + ifequal 0, Phone_WrongNumber_JoseBrent + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute27Text + setevent EVENT_JOSE_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +ReenaPhoneCalleeScript: + gettrainername STRING_BUFFER_3, COOLTRAINERF, REENA1 + scall PhoneScript_AnswerPhone_Female + sjump Phone_GenericCall_Female + +ReenaPhoneCallerScript: + gettrainername STRING_BUFFER_3, COOLTRAINERF, REENA1 + scall PhoneScript_GreetPhone_Female + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Female + sjump Phone_GenericCall_Female + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute27Text + setevent EVENT_REENA_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Female + +JoeyPhoneCalleeScript: + gettrainername STRING_BUFFER_3, YOUNGSTER, JOEY1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +JoeyPhoneCallerScript: + gettrainername STRING_BUFFER_3, YOUNGSTER, JOEY1 + scall PhoneScript_GreetPhone_Male + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse .NoBattle + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + +.NoBattle: + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute30Text + setevent EVENT_JOEY_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +WadePhoneCalleeScript: + gettrainername STRING_BUFFER_3, BUG_CATCHER, WADE1 + scall PhoneScript_AnswerPhone_Male + scall PhoneScript_Random2 + ifequal 0, .Generic + checkflag ENGINE_DAILY_BUG_CONTEST + iftrue .Generic + readvar VAR_WEEKDAY + ifequal TUESDAY, PhoneScript_BugCatchingContest + ifequal THURSDAY, PhoneScript_BugCatchingContest + ifequal SATURDAY, PhoneScript_BugCatchingContest + +.Generic: + sjump Phone_GenericCall_Male + +WadePhoneCallerScript: + gettrainername STRING_BUFFER_3, BUG_CATCHER, WADE1 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .NoContest + checkflag ENGINE_DAILY_BUG_CONTEST + iftrue .NoContest + readvar VAR_WEEKDAY + ifequal TUESDAY, PhoneScript_BugCatchingContest + ifequal THURSDAY, PhoneScript_BugCatchingContest + ifequal SATURDAY, PhoneScript_BugCatchingContest + +.NoContest: + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse .NoBattle + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + +.NoBattle: + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute31Text + setevent EVENT_WADE_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +RalphPhoneCalleeScript: + gettrainername STRING_BUFFER_3, FISHER, RALPH1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +RalphPhoneCallerScript: + gettrainername STRING_BUFFER_3, FISHER, RALPH1 + scall PhoneScript_GreetPhone_Male + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse .NoBattle + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + +.NoBattle: + scall PhoneScript_Random2 + ifequal 0, .QwilfishSwarm + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute32Text + setevent EVENT_RALPH_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +.QwilfishSwarm: + checkflag ENGINE_SWARM + iftrue Phone_GenericCall_Male + getmonname STRING_BUFFER_4, QWILFISH + getstring STRING_BUFFER_5, PhoneRoute32Text + setval FISHSWARM_QWILFISH + special ActivateFishingSwarm + sjump PhoneScript_SwarmFish + +LizPhoneCalleeScript: + gettrainername STRING_BUFFER_3, PICNICKER, LIZ1 + scall PhoneScript_AnswerPhone_Female + sjump Phone_GenericCall_Female + +LizPhoneCallerScript: + gettrainername STRING_BUFFER_3, PICNICKER, LIZ1 + scall PhoneScript_GreetPhone_Female + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse .NoBattle + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + +.NoBattle: + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Female + sjump Phone_GenericCall_Female + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute32Text + setevent EVENT_LIZ_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Female + +AnthonyPhoneCalleeScript: + gettrainername STRING_BUFFER_3, HIKER, ANTHONY2 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +AnthonyPhoneCallerScript: + gettrainername STRING_BUFFER_3, HIKER, ANTHONY2 + scall PhoneScript_GreetPhone_Male + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse .NoBattle + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + +.NoBattle: + scall PhoneScript_Random2 + ifequal 0, .DunsparceSwarm + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute33Text + setevent EVENT_ANTHONY_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +.DunsparceSwarm: + checkflag ENGINE_SWARM + iftrue Phone_GenericCall_Male + getmonname STRING_BUFFER_4, DUNSPARCE + getstring STRING_BUFFER_5, PhoneDarkCaveText + swarm DARK_CAVE_VIOLET_ENTRANCE + sjump PhoneScript_SwarmCave + +ToddPhoneCalleeScript: + gettrainername STRING_BUFFER_3, CAMPER, TODD1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +ToddPhoneCallerScript: + gettrainername STRING_BUFFER_3, CAMPER, TODD1 + scall PhoneScript_GreetPhone_Male + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse .NoBattle + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + +.NoBattle: + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute34Text + setevent EVENT_TODD_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +GinaPhoneCalleeScript: + gettrainername STRING_BUFFER_3, PICNICKER, GINA1 + scall PhoneScript_AnswerPhone_Female + checkflag ENGINE_ROCKETS_IN_RADIO_TOWER + iftrue GinaRocketRumorScript + sjump Phone_GenericCall_Female + +GinaPhoneCallerScript: + gettrainername STRING_BUFFER_3, PICNICKER, GINA1 + scall PhoneScript_GreetPhone_Female + checkflag ENGINE_ROCKETS_IN_RADIO_TOWER + iftrue GinaRocketRumorScript + checkflag ENGINE_FLYPOINT_GOLDENROD + iffalse .NoBattle + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + +.NoBattle: + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Female + sjump Phone_GenericCall_Female + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute34Text + setevent EVENT_GINA_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Female + +IrwinPhoneCalleeScript: + gettrainername STRING_BUFFER_3, JUGGLER, IRWIN1 + scall PhoneScript_AnswerPhone_Male + checkflag ENGINE_ROCKETS_IN_RADIO_TOWER + iftrue IrwinRocketRumorScript + sjump Phone_GenericCall_Male + +IrwinPhoneCallerScript: + gettrainername STRING_BUFFER_3, JUGGLER, IRWIN1 + scall PhoneScript_GreetPhone_Male + checkflag ENGINE_ROCKETS_IN_RADIO_TOWER + iftrue IrwinRocketRumorScript + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute35Text + setevent EVENT_IRWIN_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +ArniePhoneCalleeScript: + gettrainername STRING_BUFFER_3, BUG_CATCHER, ARNIE1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +ArniePhoneCallerScript: + gettrainername STRING_BUFFER_3, BUG_CATCHER, ARNIE1 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, .YanmaSwarm + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute35Text + setevent EVENT_ARNIE_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +.YanmaSwarm: + checkflag ENGINE_SWARM + iftrue Phone_GenericCall_Male + getmonname STRING_BUFFER_4, YANMA + getstring STRING_BUFFER_5, PhoneRoute35Text + swarm ROUTE_35 + sjump PhoneScript_SwarmGrass + +AlanPhoneCalleeScript: + gettrainername STRING_BUFFER_3, SCHOOLBOY, ALAN1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +AlanPhoneCallerScript: + gettrainername STRING_BUFFER_3, SCHOOLBOY, ALAN1 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute36Text + setevent EVENT_ALAN_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +DanaPhoneCalleeScript: + gettrainername STRING_BUFFER_3, LASS, DANA1 + scall PhoneScript_AnswerPhone_Female + sjump Phone_GenericCall_Female + +DanaPhoneCallerScript: + gettrainername STRING_BUFFER_3, LASS, DANA1 + scall PhoneScript_GreetPhone_Female + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Female + sjump Phone_GenericCall_Female + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute38Text + setevent EVENT_DANA_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Female + +ChadPhoneCalleeScript: + gettrainername STRING_BUFFER_3, SCHOOLBOY, CHAD1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +ChadPhoneCallerScript: + gettrainername STRING_BUFFER_3, SCHOOLBOY, CHAD1 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .SnubbullSwarm + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.SnubbullSwarm: + checkflag ENGINE_SWARM + iftrue Phone_GenericCall_Male + getmonname STRING_BUFFER_4, SNUBBULL + getstring STRING_BUFFER_5, PhoneRoute38Text + swarm ROUTE_38 + sjump PhoneScript_SwarmGrass + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute38Text + setevent EVENT_CHAD_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +DerekPhoneCalleeScript: + gettrainername STRING_BUFFER_3, POKEFANM, DEREK1 + scall PhoneScript_AnswerPhone_Male + scall PhoneScript_Random2 + ifequal 0, .Generic + checkflag ENGINE_DAILY_BUG_CONTEST + iftrue .Generic + readvar VAR_WEEKDAY + ifequal TUESDAY, PhoneScript_BugCatchingContest + ifequal THURSDAY, PhoneScript_BugCatchingContest + ifequal SATURDAY, PhoneScript_BugCatchingContest + +.Generic: + sjump Phone_GenericCall_Male + +DerekPhoneCallerScript: + gettrainername STRING_BUFFER_3, POKEFANM, DEREK1 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .NoContest + checkflag ENGINE_DAILY_BUG_CONTEST + iftrue .NoContest + readvar VAR_WEEKDAY + ifequal TUESDAY, PhoneScript_BugCatchingContest + ifequal THURSDAY, PhoneScript_BugCatchingContest + ifequal SATURDAY, PhoneScript_BugCatchingContest + +.NoContest: + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute39Text + setevent EVENT_DEREK_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +ChrisPhoneCalleeScript: + gettrainername STRING_BUFFER_3, FISHER, CHRIS1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +ChrisPhoneCallerScript: + gettrainername STRING_BUFFER_3, FISHER, CHRIS1 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute42Text + setevent EVENT_CHRIS_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +BrentPhoneCalleeScript: + gettrainername STRING_BUFFER_3, POKEMANIAC, BRENT1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +BrentPhoneCallerScript: + gettrainername STRING_BUFFER_3, POKEMANIAC, BRENT1 + scall PhoneScript_Random4 + ifequal 0, Phone_WrongNumber_JoseBrent + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute43Text + setevent EVENT_BRENT_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +TiffanyPhoneCalleeScript: + gettrainername STRING_BUFFER_3, PICNICKER, TIFFANY3 + scall PhoneScript_AnswerPhone_Female + sjump Phone_GenericCall_Female + +TiffanyPhoneCallerScript: + gettrainername STRING_BUFFER_3, PICNICKER, TIFFANY3 + scall PhoneScript_Random4 + ifequal 0, Phone_WrongNumber_Tiffany + scall PhoneScript_GreetPhone_Female + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Female + sjump Phone_GenericCall_Female + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute43Text + setevent EVENT_TIFFANY_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Female + +VancePhoneCalleeScript: + gettrainername STRING_BUFFER_3, BIRD_KEEPER, VANCE1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +VancePhoneCallerScript: + gettrainername STRING_BUFFER_3, BIRD_KEEPER, VANCE1 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute44Text + setevent EVENT_VANCE_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +WiltonPhoneCalleeScript: + gettrainername STRING_BUFFER_3, FISHER, WILTON1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +WiltonPhoneCallerScript: + gettrainername STRING_BUFFER_3, FISHER, WILTON1 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .RemoraidSwarm + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.RemoraidSwarm: + checkflag ENGINE_SWARM + iftrue Phone_GenericCall_Male + getmonname STRING_BUFFER_4, REMORAID + getstring STRING_BUFFER_5, PhoneRoute44Text + setval FISHSWARM_REMORAID + special ActivateFishingSwarm + sjump PhoneScript_SwarmFish + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute44Text + setevent EVENT_WILTON_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +KenjiPhoneCalleeScript: + gettrainername STRING_BUFFER_3, BLACKBELT_T, KENJI3 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +KenjiPhoneCallerScript: + gettrainername STRING_BUFFER_3, BLACKBELT_T, KENJI3 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute45Text + setevent EVENT_KENJI_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +ParryPhoneCalleeScript: + gettrainername STRING_BUFFER_3, HIKER, PARRY1 + scall PhoneScript_AnswerPhone_Male + sjump Phone_GenericCall_Male + +ParryPhoneCallerScript: + gettrainername STRING_BUFFER_3, HIKER, PARRY1 + scall PhoneScript_GreetPhone_Male + scall PhoneScript_Random2 + ifequal 0, .MarillSwarm + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Male + sjump Phone_GenericCall_Male + +.MarillSwarm: + checkflag ENGINE_SWARM + iftrue Phone_GenericCall_Male + getmonname STRING_BUFFER_4, MARILL + getstring STRING_BUFFER_5, PhoneMtMortarText + swarm MOUNT_MORTAR_1F_OUTSIDE + sjump PhoneScript_SwarmCave + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute45Text + setevent EVENT_PARRY_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Male + +ErinPhoneCalleeScript: + gettrainername STRING_BUFFER_3, PICNICKER, ERIN1 + scall PhoneScript_AnswerPhone_Female + sjump Phone_GenericCall_Female + +ErinPhoneCallerScript: + gettrainername STRING_BUFFER_3, PICNICKER, ERIN1 + scall PhoneScript_GreetPhone_Female + scall PhoneScript_Random2 + ifequal 0, .WantsBattle + scall PhoneScript_Random2 + ifequal 0, Phone_CheckIfUnseenRare_Female + sjump Phone_GenericCall_Female + +.WantsBattle: + getstring STRING_BUFFER_5, PhoneRoute46Text + setevent EVENT_ERIN_READY_FOR_REMATCH + sjump PhoneScript_WantsToBattle_Female + +INCLUDE "engine/phone/scripts/generic.asm" + +INCLUDE "data/phone/text/landmarks.asm" diff --git a/engine/phone/scripts/unused.asm b/engine/phone/scripts/unused.asm new file mode 100644 index 00000000..08d67f60 --- /dev/null +++ b/engine/phone/scripts/unused.asm @@ -0,0 +1,3 @@ +UnusedPhoneScript: + writetext UnusedPhoneText + end |