Partial Safari Game implementation

This adds some infrastructure for the Safari Game, specifically;
- The guards who let you in; the ticket is given and Safari Balls are provided; you also get the leaving early and so on. Bit janky at times.
- Infrastructure for the step system, albeit unfinished; the steps aren't initially counted and there's no kicking out process yet.

All in all, it's now playable, but the loss conditions are not yet finished. I shall now lay down in a dark room.
This commit is contained in:
Llinos Evans 2024-07-29 18:42:40 +01:00
parent b64504b9fd
commit 76c497dd99
9 changed files with 288 additions and 6 deletions

View file

@ -3,6 +3,31 @@ SafariZoneBeta_MapScripts:
def_callbacks
SafariZoneCheckSteps:
ld a, [wSafariZoneStepCount] ; check if you have more than 0 steps.
jr nz, .skip ; if not zero, ignore. easy enough.
checkitem SAFARI_BALL ; check if the player has any safari balls left
iftrue .skip ; this checks if there's any at all, so same principle.
playsound SFX_ELEVATOR_END
opentext
writetext SafariZoneTimesUpText
waitbutton
closetext
warpfacing UP, SAFARI_ZONE_FUCHSIA_GATE_BETA, 4, 0
.skip
ret
SafariZoneTimesUpText:
text "PA: Ding-dong!"
para "Time's up!"
para "Your SAFARI GAME"
line "is over!"
done
SafariZoneBeta_MapEvents:
db 0, 0 ; filler