Use macros to enforce "missable/hide/show object" constraints, and rename them to "toggleable objects" (#557)

This commit is contained in:
Rangi
2026-01-07 22:05:20 -05:00
committed by GitHub
parent 2f76b969c3
commit fe1e76466b
52 changed files with 1137 additions and 1128 deletions

View File

@@ -49,8 +49,8 @@ BillsHousePokemonEntersMachineScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
ld a, HS_BILL_POKEMON
ld [wMissableObjectIndex], a
ld a, TOGGLE_BILL_POKEMON
ld [wToggleableObjectIndex], a
predef HideObject
SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR
xor a
@@ -75,8 +75,8 @@ BillsHouseBillExitsMachineScript:
ld a, 5
ldh [hSpriteMapXCoord], a
call SetSpritePosition1
ld a, HS_BILL_1
ld [wMissableObjectIndex], a
ld a, TOGGLE_BILL_1
ld [wToggleableObjectIndex], a
predef ShowObject
ld c, 8
call DelayFrames
@@ -171,11 +171,11 @@ BillsHouseBillSSTicketText:
ld hl, .SSTicketReceivedText
call PrintText
SetEvent EVENT_GOT_SS_TICKET
ld a, HS_CERULEAN_GUARD_1
ld [wMissableObjectIndex], a
ld a, TOGGLE_CERULEAN_GUARD_1
ld [wToggleableObjectIndex], a
predef ShowObject
ld a, HS_CERULEAN_GUARD_2
ld [wMissableObjectIndex], a
ld a, TOGGLE_CERULEAN_GUARD_2
ld [wToggleableObjectIndex], a
predef HideObject
.got_ss_ticket
ld hl, .WhyDontYouGoInsteadOfMeText

View File

@@ -40,8 +40,8 @@ BluesHouseDaisySittingText:
lb bc, TOWN_MAP, 1
call GiveItem
jr nc, .bag_full
ld a, HS_TOWN_MAP
ld [wMissableObjectIndex], a
ld a, TOGGLE_TOWN_MAP
ld [wToggleableObjectIndex], a
predef HideObject
ld hl, GotMapText
call PrintText

View File

@@ -15,8 +15,8 @@ CeladonMansionRoofHouseEeveePokeballText:
lb bc, EEVEE, 25
call GivePokemon
jr nc, .party_full
ld a, HS_CELADON_MANSION_EEVEE_GIFT
ld [wMissableObjectIndex], a
ld a, TOGGLE_CELADON_MANSION_EEVEE_GIFT
ld [wToggleableObjectIndex], a
predef HideObject
.party_full
jp TextScriptEnd

View File

@@ -8,8 +8,8 @@ CeruleanCityClearScripts:
xor a ; SCRIPT_CERULEANCITY_DEFAULT
ld [wJoyIgnore], a
ld [wCeruleanCityCurScript], a
ld a, HS_CERULEAN_RIVAL
ld [wMissableObjectIndex], a
ld a, TOGGLE_CERULEAN_RIVAL
ld [wToggleableObjectIndex], a
predef_jump HideObject
CeruleanCity_ScriptPointers:
@@ -90,8 +90,8 @@ ENDC
call GetPointerWithinSpriteStateData2
ld [hl], 25
.playerOnRightSideOfBridge
ld a, HS_CERULEAN_RIVAL
ld [wMissableObjectIndex], a
ld a, TOGGLE_CERULEAN_RIVAL
ld [wToggleableObjectIndex], a
predef ShowObject
ld de, CeruleanCityMovement1
ld a, CERULEANCITY_RIVAL
@@ -222,8 +222,8 @@ CeruleanCityRivalCleanupScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
ld a, HS_CERULEAN_RIVAL
ld [wMissableObjectIndex], a
ld a, TOGGLE_CERULEAN_RIVAL
ld [wToggleableObjectIndex], a
predef HideObject
xor a
ld [wJoyIgnore], a

View File

@@ -3,14 +3,14 @@ CeruleanHideRocket:
; one is called after you beat the Rocket that gives you TM28 DIG.
; the screen then fades out, he disappears, and fades back in
call GBFadeOutToBlack
ld a, HS_CERULEAN_GUARD_1
ld [wMissableObjectIndex], a
ld a, TOGGLE_CERULEAN_GUARD_1
ld [wToggleableObjectIndex], a
predef ShowObject
ld a, HS_CERULEAN_GUARD_2
ld [wMissableObjectIndex], a
ld a, TOGGLE_CERULEAN_GUARD_2
ld [wToggleableObjectIndex], a
predef HideObject
ld a, HS_CERULEAN_ROCKET
ld [wMissableObjectIndex], a
ld a, TOGGLE_CERULEAN_ROCKET
ld [wToggleableObjectIndex], a
predef HideObject
call GBFadeInFromBlack
ret

View File

@@ -120,8 +120,8 @@ ChampionsRoomOakArrivesScript:
ld a, CHAMPIONSROOM_OAK
ldh [hSpriteIndex], a
call MoveSprite
ld a, HS_CHAMPIONS_ROOM_OAK
ld [wMissableObjectIndex], a
ld a, TOGGLE_CHAMPIONS_ROOM_OAK
ld [wToggleableObjectIndex], a
predef ShowObject
ld a, SCRIPT_CHAMPIONSROOM_OAK_CONGRATULATES_PLAYER
ld [wChampionsRoomCurScript], a
@@ -197,8 +197,8 @@ ChampionsRoomOakExitsScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
ld a, HS_CHAMPIONS_ROOM_OAK
ld [wMissableObjectIndex], a
ld a, TOGGLE_CHAMPIONS_ROOM_OAK
ld [wToggleableObjectIndex], a
predef HideObject
ld a, SCRIPT_CHAMPIONSROOM_PLAYER_FOLLOWS_OAK
ld [wChampionsRoomCurScript], a

View File

@@ -246,8 +246,8 @@ FightingDojoHitmonleePokeBallText:
jr nc, .done
; once Poké Ball is taken, hide sprite
ld a, HS_FIGHTING_DOJO_GIFT_1
ld [wMissableObjectIndex], a
ld a, TOGGLE_FIGHTING_DOJO_GIFT_1
ld [wToggleableObjectIndex], a
predef HideObject
SetEvents EVENT_GOT_HITMONLEE, EVENT_DEFEATED_FIGHTING_DOJO
.done
@@ -281,8 +281,8 @@ FightingDojoHitmonchanPokeBallText:
SetEvents EVENT_GOT_HITMONCHAN, EVENT_DEFEATED_FIGHTING_DOJO
; once Poké Ball is taken, hide sprite
ld a, HS_FIGHTING_DOJO_GIFT_2
ld [wMissableObjectIndex], a
ld a, TOGGLE_FIGHTING_DOJO_GIFT_2
ld [wToggleableObjectIndex], a
predef HideObject
.done
jp TextScriptEnd

View File

@@ -107,8 +107,8 @@ GameCornerRocketExitScript:
ret nz
xor a
ld [wJoyIgnore], a
ld a, HS_GAME_CORNER_ROCKET
ld [wMissableObjectIndex], a
ld a, TOGGLE_GAME_CORNER_ROCKET
ld [wToggleableObjectIndex], a
predef HideObject
ld hl, wCurrentMapScriptFlags
set BIT_CUR_MAP_LOADED_1, [hl]

View File

@@ -96,8 +96,8 @@ HallOfFameOakCongratulationsScript:
call DisplayTextID
ld a, PAD_BUTTONS | PAD_CTRL_PAD
ld [wJoyIgnore], a
ld a, HS_CERULEAN_CAVE_GUY
ld [wMissableObjectIndex], a
ld a, TOGGLE_CERULEAN_CAVE_GUY
ld [wToggleableObjectIndex], a
predef HideObject
ld a, SCRIPT_HALLOFFAME_RESET_EVENTS_AND_SAVE
ld [wHallOfFameCurScript], a

View File

@@ -141,12 +141,12 @@ MtMoonB2FSuperNerdTakesOtherFossilScript:
call DisplayTextID
CheckEvent EVENT_GOT_DOME_FOSSIL
jr z, .got_dome_fossil
ld a, HS_MT_MOON_B2F_FOSSIL_2
ld a, TOGGLE_MT_MOON_B2F_FOSSIL_2
jr .continue
.got_dome_fossil
ld a, HS_MT_MOON_B2F_FOSSIL_1
ld a, TOGGLE_MT_MOON_B2F_FOSSIL_1
.continue
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef HideObject
xor a
ld [wJoyIgnore], a
@@ -250,8 +250,8 @@ MtMoonB2FDomeFossilText:
call GiveItem
jp nc, MtMoonB2FYouHaveNoRoomText
call MtMoonB2FReceivedFossilText
ld a, HS_MT_MOON_B2F_FOSSIL_1
ld [wMissableObjectIndex], a
ld a, TOGGLE_MT_MOON_B2F_FOSSIL_1
ld [wToggleableObjectIndex], a
predef HideObject
SetEvent EVENT_GOT_DOME_FOSSIL
ld a, SCRIPT_MTMOONB2F_MOVE_SUPER_NERD
@@ -278,8 +278,8 @@ MtMoonB2FHelixFossilText:
call GiveItem
jp nc, MtMoonB2FYouHaveNoRoomText
call MtMoonB2FReceivedFossilText
ld a, HS_MT_MOON_B2F_FOSSIL_2
ld [wMissableObjectIndex], a
ld a, TOGGLE_MT_MOON_B2F_FOSSIL_2
ld [wToggleableObjectIndex], a
predef HideObject
SetEvent EVENT_GOT_HELIX_FOSSIL
ld a, SCRIPT_MTMOONB2F_MOVE_SUPER_NERD

View File

@@ -197,8 +197,8 @@ Museum1FScientist2Text:
call GiveItem
jr nc, .bag_full
SetEvent EVENT_GOT_OLD_AMBER
ld a, HS_OLD_AMBER
ld [wMissableObjectIndex], a
ld a, TOGGLE_OLD_AMBER
ld [wToggleableObjectIndex], a
predef HideObject
ld hl, .ReceivedOldAmberText
jr .done

View File

@@ -13,7 +13,7 @@ OaksLab_ScriptPointers:
def_script_pointers
dw_const OaksLabDefaultScript, SCRIPT_OAKSLAB_DEFAULT
dw_const OaksLabOakEntersLabScript, SCRIPT_OAKSLAB_OAK_ENTERS_LAB
dw_const OaksLabHideShowOaksScript, SCRIPT_OAKSLAB_HIDE_SHOW_OAKS
dw_const OaksLabToggleOaksScript, SCRIPT_OAKSLAB_TOGGLE_OAKS
dw_const OaksLabPlayerEntersLabScript, SCRIPT_OAKSLAB_PLAYER_ENTERS_LAB
dw_const OaksLabFollowedOakScript, SCRIPT_OAKSLAB_FOLLOWED_OAK
dw_const OaksLabOakChooseMonSpeechScript, SCRIPT_OAKSLAB_OAK_CHOOSE_MON_SPEECH
@@ -37,8 +37,8 @@ OaksLabDefaultScript:
ld a, [wNPCMovementScriptFunctionNum]
and a
ret nz
ld a, HS_OAKS_LAB_OAK_2
ld [wMissableObjectIndex], a
ld a, TOGGLE_OAKS_LAB_OAK_2
ld [wToggleableObjectIndex], a
predef ShowObject
ld hl, wStatusFlags4
res BIT_NO_BATTLES, [hl]
@@ -53,7 +53,7 @@ OaksLabOakEntersLabScript:
ld de, OakEntryMovement
call MoveSprite
ld a, SCRIPT_OAKSLAB_HIDE_SHOW_OAKS
ld a, SCRIPT_OAKSLAB_TOGGLE_OAKS
ld [wOaksLabCurScript], a
ret
@@ -63,15 +63,15 @@ OakEntryMovement:
db NPC_MOVEMENT_UP
db -1 ; end
OaksLabHideShowOaksScript:
OaksLabToggleOaksScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
ld a, HS_OAKS_LAB_OAK_2
ld [wMissableObjectIndex], a
ld a, TOGGLE_OAKS_LAB_OAK_2
ld [wToggleableObjectIndex], a
predef HideObject
ld a, HS_OAKS_LAB_OAK_1
ld [wMissableObjectIndex], a
ld a, TOGGLE_OAKS_LAB_OAK_1
ld [wToggleableObjectIndex], a
predef ShowObject
ld a, SCRIPT_OAKSLAB_PLAYER_ENTERS_LAB
@@ -306,17 +306,17 @@ OaksLabRivalChoosesStarterScript:
ld a, [wRivalStarterBallSpriteIndex]
cp OAKSLAB_CHARMANDER_POKE_BALL
jr nz, .not_charmander
ld a, HS_STARTER_BALL_1
ld a, TOGGLE_STARTER_BALL_1
jr .hideBallAndContinue
.not_charmander
cp OAKSLAB_SQUIRTLE_POKE_BALL
jr nz, .not_squirtle
ld a, HS_STARTER_BALL_2
ld a, TOGGLE_STARTER_BALL_2
jr .hideBallAndContinue
.not_squirtle
ld a, HS_STARTER_BALL_3
ld a, TOGGLE_STARTER_BALL_3
.hideBallAndContinue
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef HideObject
call Delay3
ld a, [wRivalStarterTemp]
@@ -475,8 +475,8 @@ OaksLabPlayerWatchRivalExitScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
jr nz, .checkRivalPosition
ld a, HS_OAKS_LAB_RIVAL
ld [wMissableObjectIndex], a
ld a, TOGGLE_OAKS_LAB_RIVAL
ld [wToggleableObjectIndex], a
predef HideObject
xor a
ld [wJoyIgnore], a
@@ -519,8 +519,8 @@ OaksLabRivalArrivesAtOaksRequestScript:
ldh [hTextID], a
call DisplayTextID
call OaksLabCalcRivalMovementScript
ld a, HS_OAKS_LAB_RIVAL
ld [wMissableObjectIndex], a
ld a, TOGGLE_OAKS_LAB_RIVAL
ld [wToggleableObjectIndex], a
predef ShowObject
ld a, [wNPCMovementDirections2Index]
ld [wSavedNPCMovementDirections2Index], a
@@ -578,11 +578,11 @@ OaksLabOakGivesPokedexScript:
ldh [hTextID], a
call DisplayTextID
call Delay3
ld a, HS_POKEDEX_1
ld [wMissableObjectIndex], a
ld a, TOGGLE_POKEDEX_1
ld [wToggleableObjectIndex], a
predef HideObject
ld a, HS_POKEDEX_2
ld [wMissableObjectIndex], a
ld a, TOGGLE_POKEDEX_2
ld [wToggleableObjectIndex], a
predef HideObject
call OaksLabRivalFaceUpOakFaceDownScript
ld a, TEXT_OAKSLAB_OAK_THAT_WAS_MY_DREAM
@@ -599,11 +599,11 @@ OaksLabOakGivesPokedexScript:
call DisplayTextID
SetEvent EVENT_GOT_POKEDEX
SetEvent EVENT_OAK_GOT_PARCEL
ld a, HS_LYING_OLD_MAN
ld [wMissableObjectIndex], a
ld a, TOGGLE_LYING_OLD_MAN
ld [wToggleableObjectIndex], a
predef HideObject
ld a, HS_OLD_MAN
ld [wMissableObjectIndex], a
ld a, TOGGLE_OLD_MAN
ld [wToggleableObjectIndex], a
predef ShowObject
ld a, [wSavedNPCMovementDirections2Index]
ld b, 0
@@ -630,14 +630,14 @@ OaksLabRivalLeavesWithPokedexScript:
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
call PlayDefaultMusic
ld a, HS_OAKS_LAB_RIVAL
ld [wMissableObjectIndex], a
ld a, TOGGLE_OAKS_LAB_RIVAL
ld [wToggleableObjectIndex], a
predef HideObject
SetEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE
ResetEventReuseHL EVENT_2ND_ROUTE22_RIVAL_BATTLE
SetEventReuseHL EVENT_ROUTE22_RIVAL_WANTS_BATTLE
ld a, HS_ROUTE_22_RIVAL_1
ld [wMissableObjectIndex], a
ld a, TOGGLE_ROUTE_22_RIVAL_1
ld [wToggleableObjectIndex], a
predef ShowObject
ld a, SCRIPT_PALLETTOWN_DAISY
ld [wPalletTownCurScript], a
@@ -904,17 +904,17 @@ OaksLabMonChoiceMenu:
ld a, [wSpriteIndex]
cp OAKSLAB_CHARMANDER_POKE_BALL
jr nz, .not_charmander
ld a, HS_STARTER_BALL_1
ld a, TOGGLE_STARTER_BALL_1
jr .continue
.not_charmander
cp OAKSLAB_SQUIRTLE_POKE_BALL
jr nz, .not_squirtle
ld a, HS_STARTER_BALL_2
ld a, TOGGLE_STARTER_BALL_2
jr .continue
.not_squirtle
ld a, HS_STARTER_BALL_3
ld a, TOGGLE_STARTER_BALL_3
.continue
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef HideObject
ld a, $1
ld [wDoNotWaitForButtonPressAfterDisplayingText], a

View File

@@ -51,8 +51,8 @@ PalletTownOakHeyWaitScript:
call DisplayTextID
ld a, PAD_BUTTONS | PAD_CTRL_PAD
ld [wJoyIgnore], a
ld a, HS_PALLET_TOWN_OAK
ld [wMissableObjectIndex], a
ld a, TOGGLE_PALLET_TOWN_OAK
ld [wToggleableObjectIndex], a
predef ShowObject
; trigger the next script
@@ -136,11 +136,11 @@ PalletTownDaisyScript:
CheckBothEventsSet EVENT_GOT_TOWN_MAP, EVENT_ENTERED_BLUES_HOUSE, 1
jr nz, .next
SetEvent EVENT_DAISY_WALKING
ld a, HS_DAISY_SITTING
ld [wMissableObjectIndex], a
ld a, TOGGLE_DAISY_SITTING
ld [wToggleableObjectIndex], a
predef HideObject
ld a, HS_DAISY_WALKING
ld [wMissableObjectIndex], a
ld a, TOGGLE_DAISY_WALKING
ld [wToggleableObjectIndex], a
predef_jump ShowObject
.next
CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK

View File

@@ -92,8 +92,8 @@ PewterCityHideSuperNerd1Script:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
ld a, HS_MUSEUM_GUY
ld [wMissableObjectIndex], a
ld a, TOGGLE_MUSEUM_GUY
ld [wToggleableObjectIndex], a
predef HideObject
ld a, SCRIPT_PEWTERCITY_RESET_SUPER_NERD1
ld [wPewterCityCurScript], a
@@ -103,8 +103,8 @@ PewterCityResetSuperNerd1Script:
ld a, PEWTERCITY_SUPER_NERD1
ld [wSpriteIndex], a
call SetSpritePosition2
ld a, HS_MUSEUM_GUY
ld [wMissableObjectIndex], a
ld a, TOGGLE_MUSEUM_GUY
ld [wToggleableObjectIndex], a
predef ShowObject
xor a
ld [wJoyIgnore], a
@@ -161,8 +161,8 @@ PewterCityHideYoungsterScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
ld a, HS_GYM_GUY
ld [wMissableObjectIndex], a
ld a, TOGGLE_GYM_GUY
ld [wToggleableObjectIndex], a
predef HideObject
ld a, SCRIPT_PEWTERCITY_RESET_YOUNGSTER
ld [wPewterCityCurScript], a
@@ -172,8 +172,8 @@ PewterCityResetYoungsterScript:
ld a, PEWTERCITY_YOUNGSTER
ld [wSpriteIndex], a
call SetSpritePosition2
ld a, HS_GYM_GUY
ld [wMissableObjectIndex], a
ld a, TOGGLE_GYM_GUY
ld [wToggleableObjectIndex], a
predef ShowObject
xor a
ld [wJoyIgnore], a

View File

@@ -66,11 +66,11 @@ PewterGymScriptReceiveTM34:
ld hl, wBeatGymFlags
set BIT_BOULDERBADGE, [hl]
ld a, HS_GYM_GUY
ld [wMissableObjectIndex], a
ld a, TOGGLE_GYM_GUY
ld [wToggleableObjectIndex], a
predef HideObject
ld a, HS_ROUTE_22_RIVAL_1
ld [wMissableObjectIndex], a
ld a, TOGGLE_ROUTE_22_RIVAL_1
ld [wToggleableObjectIndex], a
predef HideObject
ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE

View File

@@ -116,8 +116,8 @@ PokemonTower2FRivalExitsScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
ld a, HS_POKEMON_TOWER_2F_RIVAL
ld [wMissableObjectIndex], a
ld a, TOGGLE_POKEMON_TOWER_2F_RIVAL
ld [wToggleableObjectIndex], a
predef HideObject
xor a
ld [wJoyIgnore], a

View File

@@ -44,15 +44,15 @@ PokemonTower7FHideNPCScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
ld hl, wMissableObjectList
ld hl, wToggleableObjectList
ld a, [wSpriteIndex]
ld b, a
.missableObjectsListLoop
.toggleableObjectsListLoop
ld a, [hli]
cp b ; search for sprite ID in missing objects list
cp b ; search for sprite ID in toggleable objects list
ld a, [hli]
jr nz, .missableObjectsListLoop
ld [wMissableObjectIndex], a ; remove missable object
jr nz, .toggleableObjectsListLoop
ld [wToggleableObjectIndex], a ; remove toggleable object
predef HideObject
xor a
ld [wJoyIgnore], a
@@ -67,8 +67,8 @@ PokemonTower7FHideNPCScript:
PokemonTower7FWarpToMrFujiHouseScript:
ld a, PAD_BUTTONS | PAD_CTRL_PAD
ld [wJoyIgnore], a
ld a, HS_POKEMON_TOWER_7F_MR_FUJI
ld [wMissableObjectIndex], a
ld a, TOGGLE_POKEMON_TOWER_7F_MR_FUJI
ld [wToggleableObjectIndex], a
predef HideObject
ld a, SPRITE_FACING_UP
ld [wSpritePlayerStateData1FacingDirection], a
@@ -228,14 +228,14 @@ PokemonTower7FMrFujiText:
call PrintText
SetEvent EVENT_RESCUED_MR_FUJI
SetEvent EVENT_RESCUED_MR_FUJI_2
ld a, HS_MR_FUJIS_HOUSE_MR_FUJI
ld [wMissableObjectIndex], a
ld a, TOGGLE_MR_FUJIS_HOUSE_MR_FUJI
ld [wToggleableObjectIndex], a
predef ShowObject
ld a, HS_SAFFRON_CITY_E
ld [wMissableObjectIndex], a
ld a, TOGGLE_SAFFRON_CITY_E
ld [wToggleableObjectIndex], a
predef HideObject
ld a, HS_SAFFRON_CITY_F
ld [wMissableObjectIndex], a
ld a, TOGGLE_SAFFRON_CITY_F
ld [wToggleableObjectIndex], a
predef ShowObject
ld a, SCRIPT_POKEMONTOWER7F_WARP_TO_MR_FUJI_HOUSE
ld [wPokemonTower7FCurScript], a

View File

@@ -56,11 +56,11 @@ RocketHideoutB4FBeatGiovanniScript:
ldh [hTextID], a
call DisplayTextID
call GBFadeOutToBlack
ld a, HS_ROCKET_HIDEOUT_B4F_GIOVANNI
ld [wMissableObjectIndex], a
ld a, TOGGLE_ROCKET_HIDEOUT_B4F_GIOVANNI
ld [wToggleableObjectIndex], a
predef HideObject
ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_4
ld [wMissableObjectIndex], a
ld a, TOGGLE_ROCKET_HIDEOUT_B4F_ITEM_4
ld [wToggleableObjectIndex], a
predef ShowObject
call UpdateSprites
call GBFadeInFromBlack
@@ -192,8 +192,8 @@ RocketHideoutB4FRocket3AfterBattleText:
call PrintText
CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY
jr nz, .done
ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_5
ld [wMissableObjectIndex], a
ld a, TOGGLE_ROCKET_HIDEOUT_B4F_ITEM_5
ld [wToggleableObjectIndex], a
predef ShowObject
.done
jp TextScriptEnd

View File

@@ -34,8 +34,8 @@ Route12DefaultScript:
ld [wCurOpponent], a
ld a, 30
ld [wCurEnemyLevel], a
ld a, HS_ROUTE_12_SNORLAX
ld [wMissableObjectIndex], a
ld a, TOGGLE_ROUTE_12_SNORLAX
ld [wToggleableObjectIndex], a
predef HideObject
ld a, SCRIPT_ROUTE12_SNORLAX_POST_BATTLE
ld [wRoute12CurScript], a

View File

@@ -34,8 +34,8 @@ Route16DefaultScript:
ld [wCurOpponent], a
ld a, 30
ld [wCurEnemyLevel], a
ld a, HS_ROUTE_16_SNORLAX
ld [wMissableObjectIndex], a
ld a, TOGGLE_ROUTE_16_SNORLAX
ld [wToggleableObjectIndex], a
predef HideObject
call UpdateSprites
ld a, SCRIPT_ROUTE16_SNORLAX_POST_BATTLE

View File

@@ -12,48 +12,48 @@ Route20_Script:
Route20BoulderScript:
CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
jr z, .next_boulder_check
ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_1
ld a, TOGGLE_SEAFOAM_ISLANDS_1F_BOULDER_1
call Route20ShowObjectScript
ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_2
ld a, TOGGLE_SEAFOAM_ISLANDS_1F_BOULDER_2
call Route20ShowObjectScript
ld hl, .MissableObjectIDs
.hide_missable_objects
ld hl, .ToggleableObjectIDs
.hide_toggleable_objects
ld a, [hli]
cp $ff
jr z, .next_boulder_check
push hl
call Route20HideObjectScript
pop hl
jr .hide_missable_objects
jr .hide_toggleable_objects
.MissableObjectIDs:
db HS_SEAFOAM_ISLANDS_B1F_BOULDER_1
db HS_SEAFOAM_ISLANDS_B1F_BOULDER_2
db HS_SEAFOAM_ISLANDS_B2F_BOULDER_1
db HS_SEAFOAM_ISLANDS_B2F_BOULDER_2
db HS_SEAFOAM_ISLANDS_B3F_BOULDER_3
db HS_SEAFOAM_ISLANDS_B3F_BOULDER_4
.ToggleableObjectIDs:
db TOGGLE_SEAFOAM_ISLANDS_B1F_BOULDER_1
db TOGGLE_SEAFOAM_ISLANDS_B1F_BOULDER_2
db TOGGLE_SEAFOAM_ISLANDS_B2F_BOULDER_1
db TOGGLE_SEAFOAM_ISLANDS_B2F_BOULDER_2
db TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_3
db TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_4
db -1 ; end
.next_boulder_check
CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE
ret z
ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_1
ld a, TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_1
call Route20ShowObjectScript
ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_2
ld a, TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_2
call Route20ShowObjectScript
ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_1
ld a, TOGGLE_SEAFOAM_ISLANDS_B4F_BOULDER_1
call Route20HideObjectScript
ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_2
ld a, TOGGLE_SEAFOAM_ISLANDS_B4F_BOULDER_2
call Route20HideObjectScript
ret
Route20ShowObjectScript:
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef_jump ShowObject
Route20HideObjectScript:
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef_jump HideObject
Route20_ScriptPointers:

View File

@@ -224,8 +224,8 @@ Route22Rival1ExitScript:
ret nz
xor a
ld [wJoyIgnore], a
ld a, HS_ROUTE_22_RIVAL_1
ld [wMissableObjectIndex], a
ld a, TOGGLE_ROUTE_22_RIVAL_1
ld [wToggleableObjectIndex], a
predef HideObject
call PlayDefaultMusic
ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
@@ -368,8 +368,8 @@ Route22Rival2ExitScript:
ret nz
xor a
ld [wJoyIgnore], a
ld a, HS_ROUTE_22_RIVAL_2
ld [wMissableObjectIndex], a
ld a, TOGGLE_ROUTE_22_RIVAL_2
ld [wToggleableObjectIndex], a
predef HideObject
call PlayDefaultMusic
ResetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE

View File

@@ -12,11 +12,11 @@ Route23SetVictoryRoadBoulders:
ret z
ResetEvents EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2
ResetEvents EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2
ld a, HS_VICTORY_ROAD_3F_BOULDER
ld [wMissableObjectIndex], a
ld a, TOGGLE_VICTORY_ROAD_3F_BOULDER
ld [wToggleableObjectIndex], a
predef ShowObject
ld a, HS_VICTORY_ROAD_2F_BOULDER
ld [wMissableObjectIndex], a
ld a, TOGGLE_VICTORY_ROAD_2F_BOULDER
ld [wToggleableObjectIndex], a
predef_jump HideObject
Route23_ScriptPointers:

View File

@@ -1,5 +1,5 @@
Route25_Script:
call Route25ShowHideBillScript
call Route25ToggleBillsScript
call EnableAutoTextBoxDrawing
ld hl, Route25TrainerHeaders
ld de, Route25_ScriptPointers
@@ -8,7 +8,7 @@ Route25_Script:
ld [wRoute25CurScript], a
ret
Route25ShowHideBillScript:
Route25ToggleBillsScript:
ld hl, wCurrentMapScriptFlags
bit BIT_CUR_MAP_LOADED_2, [hl]
res BIT_CUR_MAP_LOADED_2, [hl]
@@ -18,21 +18,21 @@ Route25ShowHideBillScript:
CheckEventReuseHL EVENT_MET_BILL_2
jr nz, .met_bill
ResetEventReuseHL EVENT_BILL_SAID_USE_CELL_SEPARATOR
ld a, HS_BILL_POKEMON
ld [wMissableObjectIndex], a
ld a, TOGGLE_BILL_POKEMON
ld [wToggleableObjectIndex], a
predef_jump ShowObject
.met_bill
CheckEventAfterBranchReuseHL EVENT_GOT_SS_TICKET, EVENT_MET_BILL_2
ret z
SetEventReuseHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING
ld a, HS_NUGGET_BRIDGE_GUY
ld [wMissableObjectIndex], a
ld a, TOGGLE_NUGGET_BRIDGE_GUY
ld [wToggleableObjectIndex], a
predef HideObject
ld a, HS_BILL_1
ld [wMissableObjectIndex], a
ld a, TOGGLE_BILL_1
ld [wToggleableObjectIndex], a
predef HideObject
ld a, HS_BILL_2
ld [wMissableObjectIndex], a
ld a, TOGGLE_BILL_2
ld [wToggleableObjectIndex], a
predef_jump ShowObject
Route25_ScriptPointers:

View File

@@ -33,8 +33,8 @@ SSAnne2FDefaultScript:
call PlayMusic
ld a, [wCoordIndex]
ldh [hSavedCoordIndex], a
ld a, HS_SS_ANNE_2F_RIVAL
ld [wMissableObjectIndex], a
ld a, TOGGLE_SS_ANNE_2F_RIVAL
ld [wToggleableObjectIndex], a
predef ShowObject
call Delay3
ld a, SSANNE2F_RIVAL
@@ -169,8 +169,8 @@ SSAnne2FRivalExitScript:
ret nz
xor a
ld [wJoyIgnore], a
ld a, HS_SS_ANNE_2F_RIVAL
ld [wMissableObjectIndex], a
ld a, TOGGLE_SS_ANNE_2F_RIVAL
ld [wToggleableObjectIndex], a
predef HideObject
call PlayDefaultMusic
ld a, SCRIPT_SSANNE2F_NOOP

View File

@@ -13,23 +13,23 @@ SeafoamIslands1F_Script:
cp $1
jr nz, .boulder2FellDownHole
SetEventReuseHL EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE
ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_1
ld a, TOGGLE_SEAFOAM_ISLANDS_1F_BOULDER_1
ld [wObjectToHide], a
ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_1
ld a, TOGGLE_SEAFOAM_ISLANDS_B1F_BOULDER_1
ld [wObjectToShow], a
jr .hideAndShowBoulderObjects
.boulder2FellDownHole
SetEventAfterBranchReuseHL EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE
ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_2
ld a, TOGGLE_SEAFOAM_ISLANDS_1F_BOULDER_2
ld [wObjectToHide], a
ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_2
ld a, TOGGLE_SEAFOAM_ISLANDS_B1F_BOULDER_2
ld [wObjectToShow], a
.hideAndShowBoulderObjects
ld a, [wObjectToHide]
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef HideObject
ld a, [wObjectToShow]
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef_jump ShowObject
.noBoulderWasPushed
ld a, SEAFOAM_ISLANDS_B1F

View File

@@ -12,23 +12,23 @@ SeafoamIslandsB1F_Script:
cp $1
jr nz, .boulder2FellDownHole
SetEventReuseHL EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE
ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_1
ld a, TOGGLE_SEAFOAM_ISLANDS_B1F_BOULDER_1
ld [wObjectToHide], a
ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_1
ld a, TOGGLE_SEAFOAM_ISLANDS_B2F_BOULDER_1
ld [wObjectToShow], a
jr .hideAndShowBoulderObjects
.boulder2FellDownHole
SetEventAfterBranchReuseHL EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE
ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_2
ld a, TOGGLE_SEAFOAM_ISLANDS_B1F_BOULDER_2
ld [wObjectToHide], a
ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_2
ld a, TOGGLE_SEAFOAM_ISLANDS_B2F_BOULDER_2
ld [wObjectToShow], a
.hideAndShowBoulderObjects
ld a, [wObjectToHide]
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef HideObject
ld a, [wObjectToShow]
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef_jump ShowObject
.noBoulderWasPushed
ld a, SEAFOAM_ISLANDS_B2F

View File

@@ -12,23 +12,23 @@ SeafoamIslandsB2F_Script:
cp $1
jr nz, .boulder2FellDownHole
SetEventReuseHL EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE
ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_1
ld a, TOGGLE_SEAFOAM_ISLANDS_B2F_BOULDER_1
ld [wObjectToHide], a
ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_3
ld a, TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_3
ld [wObjectToShow], a
jr .hideAndShowBoulderObjects
.boulder2FellDownHole
SetEventAfterBranchReuseHL EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE
ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_2
ld a, TOGGLE_SEAFOAM_ISLANDS_B2F_BOULDER_2
ld [wObjectToHide], a
ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_4
ld a, TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_4
ld [wObjectToShow], a
.hideAndShowBoulderObjects
ld a, [wObjectToHide]
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef HideObject
ld a, [wObjectToShow]
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef_jump ShowObject
.noBoulderWasPushed
ld a, SEAFOAM_ISLANDS_B3F

View File

@@ -12,23 +12,23 @@ SeafoamIslandsB3F_Script:
cp $1
jr nz, .boulder2FellDownHole
SetEventReuseHL EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE
ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_1
ld a, TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_1
ld [wObjectToHide], a
ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_1
ld a, TOGGLE_SEAFOAM_ISLANDS_B4F_BOULDER_1
ld [wObjectToShow], a
jr .hideAndShowBoulderObjects
.boulder2FellDownHole
SetEventAfterBranchReuseHL EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE
ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_2
ld a, TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_2
ld [wObjectToHide], a
ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_2
ld a, TOGGLE_SEAFOAM_ISLANDS_B4F_BOULDER_2
ld [wObjectToShow], a
.hideAndShowBoulderObjects
ld a, [wObjectToHide]
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef HideObject
ld a, [wObjectToShow]
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef ShowObject
jr .runCurrentMapScript
.noBoulderWasPushed

View File

@@ -71,78 +71,78 @@ SilphCo11FSetUnlockedDoorEventScript:
ret
SilphCo11FTeamRocketLeavesScript:
ld hl, .HideMissableObjectIDs
ld hl, .HideToggleableObjectIDs
.hide_loop
ld a, [hli]
cp $ff
jr z, .done_hiding
push hl
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef HideObject
pop hl
jr .hide_loop
.done_hiding
ld hl, .ShowMissableObjectIDs
ld hl, .ShowToggleableObjectIDs
.show_loop
ld a, [hli]
cp -1
ret z
push hl
ld [wMissableObjectIndex], a
ld [wToggleableObjectIndex], a
predef ShowObject
pop hl
jr .show_loop
.ShowMissableObjectIDs:
db HS_SAFFRON_CITY_8
db HS_SAFFRON_CITY_9
db HS_SAFFRON_CITY_A
db HS_SAFFRON_CITY_B
db HS_SAFFRON_CITY_C
db HS_SAFFRON_CITY_D
.ShowToggleableObjectIDs:
db TOGGLE_SAFFRON_CITY_8
db TOGGLE_SAFFRON_CITY_9
db TOGGLE_SAFFRON_CITY_A
db TOGGLE_SAFFRON_CITY_B
db TOGGLE_SAFFRON_CITY_C
db TOGGLE_SAFFRON_CITY_D
db -1 ; end
.HideMissableObjectIDs:
db HS_SAFFRON_CITY_1
db HS_SAFFRON_CITY_2
db HS_SAFFRON_CITY_3
db HS_SAFFRON_CITY_4
db HS_SAFFRON_CITY_5
db HS_SAFFRON_CITY_6
db HS_SAFFRON_CITY_7
db HS_SAFFRON_CITY_E
db HS_SAFFRON_CITY_F
db HS_SILPH_CO_2F_2
db HS_SILPH_CO_2F_3
db HS_SILPH_CO_2F_4
db HS_SILPH_CO_2F_5
db HS_SILPH_CO_3F_1
db HS_SILPH_CO_3F_2
db HS_SILPH_CO_4F_1
db HS_SILPH_CO_4F_2
db HS_SILPH_CO_4F_3
db HS_SILPH_CO_5F_1
db HS_SILPH_CO_5F_2
db HS_SILPH_CO_5F_3
db HS_SILPH_CO_5F_4
db HS_SILPH_CO_6F_1
db HS_SILPH_CO_6F_2
db HS_SILPH_CO_6F_3
db HS_SILPH_CO_7F_1
db HS_SILPH_CO_7F_2
db HS_SILPH_CO_7F_3
db HS_SILPH_CO_7F_4
db HS_SILPH_CO_8F_1
db HS_SILPH_CO_8F_2
db HS_SILPH_CO_8F_3
db HS_SILPH_CO_9F_1
db HS_SILPH_CO_9F_2
db HS_SILPH_CO_9F_3
db HS_SILPH_CO_10F_1
db HS_SILPH_CO_10F_2
db HS_SILPH_CO_11F_1
db HS_SILPH_CO_11F_2
db HS_SILPH_CO_11F_3
.HideToggleableObjectIDs:
db TOGGLE_SAFFRON_CITY_1
db TOGGLE_SAFFRON_CITY_2
db TOGGLE_SAFFRON_CITY_3
db TOGGLE_SAFFRON_CITY_4
db TOGGLE_SAFFRON_CITY_5
db TOGGLE_SAFFRON_CITY_6
db TOGGLE_SAFFRON_CITY_7
db TOGGLE_SAFFRON_CITY_E
db TOGGLE_SAFFRON_CITY_F
db TOGGLE_SILPH_CO_2F_2
db TOGGLE_SILPH_CO_2F_3
db TOGGLE_SILPH_CO_2F_4
db TOGGLE_SILPH_CO_2F_5
db TOGGLE_SILPH_CO_3F_1
db TOGGLE_SILPH_CO_3F_2
db TOGGLE_SILPH_CO_4F_1
db TOGGLE_SILPH_CO_4F_2
db TOGGLE_SILPH_CO_4F_3
db TOGGLE_SILPH_CO_5F_1
db TOGGLE_SILPH_CO_5F_2
db TOGGLE_SILPH_CO_5F_3
db TOGGLE_SILPH_CO_5F_4
db TOGGLE_SILPH_CO_6F_1
db TOGGLE_SILPH_CO_6F_2
db TOGGLE_SILPH_CO_6F_3
db TOGGLE_SILPH_CO_7F_1
db TOGGLE_SILPH_CO_7F_2
db TOGGLE_SILPH_CO_7F_3
db TOGGLE_SILPH_CO_7F_4
db TOGGLE_SILPH_CO_8F_1
db TOGGLE_SILPH_CO_8F_2
db TOGGLE_SILPH_CO_8F_3
db TOGGLE_SILPH_CO_9F_1
db TOGGLE_SILPH_CO_9F_2
db TOGGLE_SILPH_CO_9F_3
db TOGGLE_SILPH_CO_10F_1
db TOGGLE_SILPH_CO_10F_2
db TOGGLE_SILPH_CO_11F_1
db TOGGLE_SILPH_CO_11F_2
db TOGGLE_SILPH_CO_11F_3
db -1 ; end
SilphCo11FResetCurScript:

View File

@@ -4,8 +4,8 @@ SilphCo1F_Script:
ret z
CheckAndSetEvent EVENT_SILPH_CO_RECEPTIONIST_AT_DESK
ret nz
ld a, HS_SILPH_CO_1F_RECEPTIONIST
ld [wMissableObjectIndex], a
ld a, TOGGLE_SILPH_CO_1F_RECEPTIONIST
ld [wToggleableObjectIndex], a
predef_jump ShowObject
SilphCo1F_TextPointers:

View File

@@ -255,8 +255,8 @@ SilphCo7FRivalExitScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
ld a, HS_SILPH_CO_7F_RIVAL
ld [wMissableObjectIndex], a
ld a, TOGGLE_SILPH_CO_7F_RIVAL
ld [wToggleableObjectIndex], a
predef HideObject
call PlayDefaultMusic
xor a

View File

@@ -44,11 +44,11 @@ VictoryRoad3FDefaultScript:
.handle_hole
CheckAndSetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2
jr nz, .check_switch_hole
ld a, HS_VICTORY_ROAD_3F_BOULDER
ld [wMissableObjectIndex], a
ld a, TOGGLE_VICTORY_ROAD_3F_BOULDER
ld [wToggleableObjectIndex], a
predef HideObject
ld a, HS_VICTORY_ROAD_2F_BOULDER
ld [wMissableObjectIndex], a
ld a, TOGGLE_VICTORY_ROAD_2F_BOULDER
ld [wToggleableObjectIndex], a
predef_jump ShowObject
.SwitchOrHoleCoords:

View File

@@ -161,8 +161,8 @@ ViridianGymReceiveTM27:
; deactivate gym trainers
SetEventRange EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0, EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7
ld a, HS_ROUTE_22_RIVAL_2
ld [wMissableObjectIndex], a
ld a, TOGGLE_ROUTE_22_RIVAL_2
ld [wToggleableObjectIndex], a
predef ShowObject
SetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
jp ViridianGymResetScripts
@@ -219,8 +219,8 @@ ViridianGymGiovanniText:
ld hl, .PostBattleAdviceText
call PrintText
call GBFadeOutToBlack
ld a, HS_VIRIDIAN_GYM_GIOVANNI
ld [wMissableObjectIndex], a
ld a, TOGGLE_VIRIDIAN_GYM_GIOVANNI
ld [wToggleableObjectIndex], a
predef HideObject
call UpdateSprites
call Delay3