Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pret
GitHub Repository: pret/pokered
Path: blob/master/engine/events/hidden_objects/safari_game.asm
1271 views
1
SafariZoneCheck::
2
CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone,
3
jr z, SafariZoneGameStillGoing ; don't bother printing game over text
4
ld a, [wNumSafariBalls]
5
and a
6
jr z, SafariZoneGameOver
7
jr SafariZoneGameStillGoing
8
9
SafariZoneCheckSteps::
10
IF DEF(_DEBUG)
11
call DebugPressedOrHeldB
12
ret nz
13
ENDC
14
ld a, [wSafariSteps]
15
ld b, a
16
ld a, [wSafariSteps + 1]
17
ld c, a
18
or b
19
jr z, SafariZoneGameOver
20
dec bc
21
ld a, b
22
ld [wSafariSteps], a
23
ld a, c
24
ld [wSafariSteps + 1], a
25
SafariZoneGameStillGoing:
26
xor a
27
ld [wSafariZoneGameOver], a
28
ret
29
30
SafariZoneGameOver:
31
call EnableAutoTextBoxDrawing
32
xor a
33
ld [wAudioFadeOutControl], a
34
dec a ; SFX_STOP_ALL_MUSIC
35
call PlaySound
36
ld c, BANK(SFX_Safari_Zone_PA)
37
ld a, SFX_SAFARI_ZONE_PA
38
call PlayMusic
39
.waitForMusicToPlay
40
ld a, [wChannelSoundIDs + CHAN5]
41
cp SFX_SAFARI_ZONE_PA
42
jr nz, .waitForMusicToPlay
43
ld a, TEXT_SAFARI_GAME_OVER
44
ldh [hTextID], a
45
call DisplayTextID
46
xor a
47
ld [wPlayerMovingDirection], a
48
ld a, SAFARI_ZONE_GATE
49
ldh [hWarpDestinationMap], a
50
ld a, $3
51
ld [wDestinationWarpID], a
52
ld a, SCRIPT_SAFARIZONEGATE_LEAVING_SAFARI
53
ld [wSafariZoneGateCurScript], a
54
SetEvent EVENT_SAFARI_GAME_OVER
55
ld a, 1
56
ld [wSafariZoneGameOver], a
57
ret
58
59
PrintSafariGameOverText::
60
xor a
61
ld [wJoyIgnore], a
62
ld hl, SafariGameOverText
63
jp PrintText
64
65
SafariGameOverText:
66
text_asm
67
ld a, [wNumSafariBalls]
68
and a
69
jr z, .noMoreSafariBalls
70
ld hl, TimesUpText
71
call PrintText
72
.noMoreSafariBalls
73
ld hl, GameOverText
74
call PrintText
75
jp TextScriptEnd
76
77
TimesUpText:
78
text_far _TimesUpText
79
text_end
80
81
GameOverText:
82
text_far _GameOverText
83
text_end
84
85