pokered/scripts/Route5Gate.asm

111 lines
2.6 KiB
NASM
Raw Normal View History

Route5Gate_Script:
2014-05-18 18:19:10 +00:00
call EnableAutoTextBoxDrawing
2015-08-31 02:38:41 +00:00
ld a, [wRoute5GateCurScript]
ld hl, Route5Gate_ScriptPointers
2014-05-18 18:19:10 +00:00
jp CallFunctionInTable
Route5Gate_ScriptPointers:
def_script_pointers
dw_const Route5GateDefaultScript, SCRIPT_ROUTE5GATE_DEFAULT
dw_const Route5GatePlayerMovingScript, SCRIPT_ROUTE5GATE_PLAYER_MOVING
2014-05-18 18:19:10 +00:00
Route5GateMovePlayerUpScript:
ld a, D_UP
ld [wSimulatedJoypadStatesEnd], a
2014-05-18 18:19:10 +00:00
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
jp StartSimulatingJoypadStates
2014-05-18 18:19:10 +00:00
Route5GateDefaultScript:
ld a, [wStatusFlags1]
bit BIT_GAVE_SAFFRON_GUARDS_DRINK, a
2014-05-18 18:19:10 +00:00
ret nz
ld hl, .PlayerInCoordsArray
2014-05-18 18:19:10 +00:00
call ArePlayerCoordsInArray
ret nc
2015-07-20 00:52:26 +00:00
ld a, PLAYER_DIR_LEFT
ld [wPlayerMovingDirection], a
2014-05-18 18:19:10 +00:00
xor a
ldh [hJoyHeld], a
farcall RemoveGuardDrink
ldh a, [hItemToRemoveID]
2014-05-18 18:19:10 +00:00
and a
jr nz, .have_drink
ld a, TEXT_ROUTE5GATE_GUARD_GEE_IM_THIRSTY
ldh [hTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
call Route5GateMovePlayerUpScript
ld a, SCRIPT_ROUTE5GATE_PLAYER_MOVING
2015-08-31 02:38:41 +00:00
ld [wRoute5GateCurScript], a
2014-05-18 18:19:10 +00:00
ret
.have_drink
ld a, TEXT_ROUTE5GATE_GUARD_GIVE_DRINK
ldh [hTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
ld hl, wStatusFlags1
set BIT_GAVE_SAFFRON_GUARDS_DRINK, [hl]
2014-05-18 18:19:10 +00:00
ret
.PlayerInCoordsArray:
dbmapcoord 3, 3
dbmapcoord 4, 3
db -1 ; end
2014-05-18 18:19:10 +00:00
Route5GatePlayerMovingScript:
ld a, [wSimulatedJoypadStatesIndex]
2014-05-18 18:19:10 +00:00
and a
ret nz
call Delay3
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2015-08-31 02:38:41 +00:00
ld [wRoute5GateCurScript], a
2014-05-18 18:19:10 +00:00
ret
2014-06-09 20:58:02 +00:00
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
2014-05-18 18:19:10 +00:00
SaffronGateGuardText:
text_asm
ld a, [wStatusFlags1]
bit BIT_GAVE_SAFFRON_GUARDS_DRINK, a
jr nz, .thanks_for_drink
farcall RemoveGuardDrink
ldh a, [hItemToRemoveID]
2014-05-18 18:19:10 +00:00
and a
jr nz, .have_drink
ld hl, SaffronGateGuardGeeImThirstyText
2014-05-18 18:19:10 +00:00
call PrintText
call Route5GateMovePlayerUpScript
ld a, SCRIPT_ROUTE5GATE_PLAYER_MOVING
2015-08-31 02:38:41 +00:00
ld [wRoute5GateCurScript], a
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
.have_drink
ld hl, SaffronGateGuardGiveDrinkText
2014-05-18 18:19:10 +00:00
call PrintText
ld hl, wStatusFlags1
set BIT_GAVE_SAFFRON_GUARDS_DRINK, [hl]
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
.thanks_for_drink
ld hl, SaffronGateGuardThanksForTheDrinkText
2014-05-18 18:19:10 +00:00
call PrintText
jp TextScriptEnd
SaffronGateGuardGeeImThirstyText:
text_far _SaffronGateGuardGeeImThirstyText
text_end
2014-05-18 18:19:10 +00:00
SaffronGateGuardGiveDrinkText:
text_far _SaffronGateGuardImParchedText
sound_get_key_item
text_far _SaffronGateGuardYouCanGoOnThroughText
text_end
2014-05-18 18:19:10 +00:00
SaffronGateGuardThanksForTheDrinkText:
text_far _SaffronGateGuardThanksForTheDrinkText
text_end