mirror of
https://github.com/pret/pokeyellow.git
synced 2024-11-23 14:00:03 +00:00
111 lines
2.6 KiB
NASM
111 lines
2.6 KiB
NASM
Route5Gate_Script:
|
|
call EnableAutoTextBoxDrawing
|
|
ld a, [wRoute5GateCurScript]
|
|
ld hl, Route5Gate_ScriptPointers
|
|
jp CallFunctionInTable
|
|
|
|
Route5Gate_ScriptPointers:
|
|
def_script_pointers
|
|
dw_const Route5GateDefaultScript, SCRIPT_ROUTE5GATE_DEFAULT
|
|
dw_const Route5GatePlayerMovingScript, SCRIPT_ROUTE5GATE_PLAYER_MOVING
|
|
|
|
Route5GateMovePlayerUpScript:
|
|
ld a, D_UP
|
|
ld [wSimulatedJoypadStatesEnd], a
|
|
ld a, $1
|
|
ld [wSimulatedJoypadStatesIndex], a
|
|
jp StartSimulatingJoypadStates
|
|
|
|
Route5GateDefaultScript:
|
|
ld a, [wStatusFlags1]
|
|
bit BIT_GAVE_SAFFRON_GUARDS_DRINK, a
|
|
ret nz
|
|
ld hl, .PlayerInCoordsArray
|
|
call ArePlayerCoordsInArray
|
|
ret nc
|
|
ld a, PLAYER_DIR_LEFT
|
|
ld [wPlayerMovingDirection], a
|
|
xor a
|
|
ldh [hJoyHeld], a
|
|
farcall RemoveGuardDrink
|
|
ldh a, [hItemToRemoveID]
|
|
and a
|
|
jr nz, .have_drink
|
|
ld a, TEXT_ROUTE5GATE_GUARD_GEE_IM_THIRSTY
|
|
ldh [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
call Route5GateMovePlayerUpScript
|
|
ld a, SCRIPT_ROUTE5GATE_PLAYER_MOVING
|
|
ld [wRoute5GateCurScript], a
|
|
ret
|
|
.have_drink
|
|
ld a, TEXT_ROUTE5GATE_GUARD_GIVE_DRINK
|
|
ldh [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
ld hl, wStatusFlags1
|
|
set BIT_GAVE_SAFFRON_GUARDS_DRINK, [hl]
|
|
ret
|
|
|
|
.PlayerInCoordsArray:
|
|
dbmapcoord 3, 3
|
|
dbmapcoord 4, 3
|
|
db -1 ; end
|
|
|
|
Route5GatePlayerMovingScript:
|
|
ld a, [wSimulatedJoypadStatesIndex]
|
|
and a
|
|
ret nz
|
|
call Delay3
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
ld [wRoute5GateCurScript], a
|
|
ret
|
|
|
|
Route5Gate_TextPointers:
|
|
def_text_pointers
|
|
dw_const SaffronGateGuardText, TEXT_ROUTE5GATE_GUARD
|
|
dw_const SaffronGateGuardGeeImThirstyText, TEXT_ROUTE5GATE_GUARD_GEE_IM_THIRSTY
|
|
dw_const SaffronGateGuardGiveDrinkText, TEXT_ROUTE5GATE_GUARD_GIVE_DRINK
|
|
|
|
SaffronGateGuardText:
|
|
text_asm
|
|
ld a, [wStatusFlags1]
|
|
bit BIT_GAVE_SAFFRON_GUARDS_DRINK, a
|
|
jr nz, .thanks_for_drink
|
|
farcall RemoveGuardDrink
|
|
ldh a, [hItemToRemoveID]
|
|
and a
|
|
jr nz, .have_drink
|
|
ld hl, SaffronGateGuardGeeImThirstyText
|
|
call PrintText
|
|
call Route5GateMovePlayerUpScript
|
|
ld a, SCRIPT_ROUTE5GATE_PLAYER_MOVING
|
|
ld [wRoute5GateCurScript], a
|
|
jp TextScriptEnd
|
|
|
|
.have_drink
|
|
ld hl, SaffronGateGuardGiveDrinkText
|
|
call PrintText
|
|
ld hl, wStatusFlags1
|
|
set BIT_GAVE_SAFFRON_GUARDS_DRINK, [hl]
|
|
jp TextScriptEnd
|
|
|
|
.thanks_for_drink
|
|
ld hl, SaffronGateGuardThanksForTheDrinkText
|
|
call PrintText
|
|
jp TextScriptEnd
|
|
|
|
SaffronGateGuardGeeImThirstyText:
|
|
text_far _SaffronGateGuardGeeImThirstyText
|
|
text_end
|
|
|
|
SaffronGateGuardGiveDrinkText:
|
|
text_far _SaffronGateGuardImParchedText
|
|
sound_get_key_item
|
|
text_far _SaffronGateGuardYouCanGoOnThroughText
|
|
text_end
|
|
|
|
SaffronGateGuardThanksForTheDrinkText:
|
|
text_far _SaffronGateGuardThanksForTheDrinkText
|
|
text_end
|