ref: 962722746ece1952f7f2dcd55bbe3b45d7b86812
dir: /engine/events/hidden_objects/safari_game.asm/
SafariZoneCheck:: CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, jr z, SafariZoneGameStillGoing ; don't bother printing game over text ld a, [wNumSafariBalls] and a jr z, SafariZoneGameOver jr SafariZoneGameStillGoing SafariZoneCheckSteps:: ld a, [wSafariSteps] ld b, a ld a, [wSafariSteps + 1] ld c, a or b jr z, SafariZoneGameOver dec bc ld a, b ld [wSafariSteps], a ld a, c ld [wSafariSteps + 1], a SafariZoneGameStillGoing: xor a ld [wSafariZoneGameOver], a ret SafariZoneGameOver: call EnableAutoTextBoxDrawing xor a ld [wAudioFadeOutControl], a dec a ; SFX_STOP_ALL_MUSIC call PlaySound ld c, BANK(SFX_Safari_Zone_PA) ld a, SFX_SAFARI_ZONE_PA call PlayMusic .waitForMusicToPlay ld a, [wChannelSoundIDs + Ch5] cp SFX_SAFARI_ZONE_PA jr nz, .waitForMusicToPlay ld a, TEXT_SAFARI_GAME_OVER ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wPlayerMovingDirection], a ld a, SAFARI_ZONE_GATE ld [hWarpDestinationMap], a ld a, $3 ld [wDestinationWarpID], a ld a, $5 ld [wSafariZoneGateCurScript], a SetEvent EVENT_SAFARI_GAME_OVER ld a, 1 ld [wSafariZoneGameOver], a ret PrintSafariGameOverText:: xor a ld [wJoyIgnore], a ld hl, SafariGameOverText jp PrintText SafariGameOverText: TX_ASM ld a, [wNumSafariBalls] and a jr z, .noMoreSafariBalls ld hl, TimesUpText call PrintText .noMoreSafariBalls ld hl, GameOverText call PrintText jp TextScriptEnd TimesUpText: TX_FAR _TimesUpText db "@" GameOverText: TX_FAR _GameOverText db "@"