2019-01-01 20:06:23 +00:00
|
|
|
Route23_Script:
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route23SetVictoryRoadBoulders
|
2014-05-18 18:19:10 +00:00
|
|
|
call EnableAutoTextBoxDrawing
|
2019-01-01 20:06:23 +00:00
|
|
|
ld hl, Route23_ScriptPointers
|
2015-08-31 02:38:41 +00:00
|
|
|
ld a, [wRoute23CurScript]
|
2014-05-18 18:19:10 +00:00
|
|
|
jp CallFunctionInTable
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23SetVictoryRoadBoulders:
|
2016-01-03 19:17:10 +00:00
|
|
|
ld hl, wCurrentMapScriptFlags
|
2024-09-24 15:39:44 +00:00
|
|
|
bit BIT_CUR_MAP_LOADED_2, [hl]
|
|
|
|
res BIT_CUR_MAP_LOADED_2, [hl]
|
2014-05-18 18:19:10 +00:00
|
|
|
ret z
|
2015-07-21 17:36:03 +00:00
|
|
|
ResetEvents EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2
|
|
|
|
ResetEvents EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2
|
2019-01-01 20:06:23 +00:00
|
|
|
ld a, HS_VICTORY_ROAD_3F_BOULDER
|
2015-07-25 03:27:59 +00:00
|
|
|
ld [wMissableObjectIndex], a
|
2014-06-16 20:57:26 +00:00
|
|
|
predef ShowObject
|
2019-01-01 20:06:23 +00:00
|
|
|
ld a, HS_VICTORY_ROAD_2F_BOULDER
|
2015-07-25 03:27:59 +00:00
|
|
|
ld [wMissableObjectIndex], a
|
2014-06-16 20:57:26 +00:00
|
|
|
predef_jump HideObject
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2019-01-01 20:06:23 +00:00
|
|
|
Route23_ScriptPointers:
|
2023-07-14 01:27:56 +00:00
|
|
|
def_script_pointers
|
|
|
|
dw_const Route23DefaultScript, SCRIPT_ROUTE23_DEFAULT
|
|
|
|
dw_const Route23PlayerMovingScript, SCRIPT_ROUTE23_PLAYER_MOVING
|
|
|
|
dw_const Route23ResetToDefaultScript, SCRIPT_ROUTE23_RESET_TO_DEFAULT
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23DefaultScript:
|
2023-11-19 00:44:03 +00:00
|
|
|
ld hl, Route23GuardsYCoords
|
2015-08-31 02:38:41 +00:00
|
|
|
ld a, [wYCoord]
|
2014-05-18 18:19:10 +00:00
|
|
|
ld b, a
|
|
|
|
ld e, $0
|
2015-07-21 17:36:03 +00:00
|
|
|
EventFlagBit c, EVENT_PASSED_EARTHBADGE_CHECK + 1, EVENT_PASSED_CASCADEBADGE_CHECK
|
2023-11-19 00:44:03 +00:00
|
|
|
.loop
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, [hli]
|
2020-07-16 16:32:19 +00:00
|
|
|
cp -1
|
2014-05-18 18:19:10 +00:00
|
|
|
ret z
|
|
|
|
inc e
|
|
|
|
dec c
|
|
|
|
cp b
|
2023-11-19 00:44:03 +00:00
|
|
|
jr nz, .loop
|
2020-07-16 16:32:19 +00:00
|
|
|
cp 35
|
2023-11-19 00:44:03 +00:00
|
|
|
jr nz, .not_past_victory_road
|
2015-08-31 02:38:41 +00:00
|
|
|
ld a, [wXCoord]
|
2020-07-16 16:32:19 +00:00
|
|
|
cp 14
|
2014-05-18 18:19:10 +00:00
|
|
|
ret nc
|
2023-11-19 00:44:03 +00:00
|
|
|
.not_past_victory_road
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, e
|
2024-09-19 01:01:18 +00:00
|
|
|
ldh [hSpriteIndex], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, c
|
2015-07-18 15:17:29 +00:00
|
|
|
ld [wWhichBadge], a
|
2015-07-20 03:45:34 +00:00
|
|
|
ld b, FLAG_TEST
|
2015-07-21 17:36:03 +00:00
|
|
|
EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK
|
2014-06-16 20:57:26 +00:00
|
|
|
predef FlagActionPredef
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, c
|
|
|
|
and a
|
|
|
|
ret nz
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route23CopyBadgeTextScript
|
2014-05-18 18:19:10 +00:00
|
|
|
call DisplayTextID
|
|
|
|
xor a
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hJoyHeld], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-11-19 00:44:03 +00:00
|
|
|
Route23GuardsYCoords:
|
2020-07-16 16:32:19 +00:00
|
|
|
db 35
|
|
|
|
db 56
|
|
|
|
db 85
|
|
|
|
db 96
|
|
|
|
db 105
|
|
|
|
db 119
|
|
|
|
db 136
|
|
|
|
db -1 ; end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23CopyBadgeTextScript:
|
2015-07-03 19:38:12 +00:00
|
|
|
ld hl, BadgeTextPointers
|
2015-07-18 15:17:29 +00:00
|
|
|
ld a, [wWhichBadge]
|
2014-05-18 18:19:10 +00:00
|
|
|
ld c, a
|
2015-07-18 15:17:29 +00:00
|
|
|
ld b, 0
|
2014-05-18 18:19:10 +00:00
|
|
|
add hl, bc
|
|
|
|
add hl, bc
|
|
|
|
ld a, [hli]
|
|
|
|
ld h, [hl]
|
|
|
|
ld l, a
|
2024-07-24 16:21:59 +00:00
|
|
|
ld de, wNameBuffer
|
2015-07-18 15:17:29 +00:00
|
|
|
.copyTextLoop
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, [hli]
|
|
|
|
ld [de], a
|
|
|
|
inc de
|
2015-07-18 15:17:29 +00:00
|
|
|
cp "@"
|
|
|
|
jr nz, .copyTextLoop
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
BadgeTextPointers:
|
2014-05-18 18:19:10 +00:00
|
|
|
dw CascadeBadgeText
|
|
|
|
dw ThunderBadgeText
|
|
|
|
dw RainbowBadgeText
|
|
|
|
dw SoulBadgeText
|
|
|
|
dw MarshBadgeText
|
|
|
|
dw VolcanoBadgeText
|
|
|
|
dw EarthBadgeText
|
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
EarthBadgeText:
|
2014-05-18 18:19:10 +00:00
|
|
|
db "EARTHBADGE@"
|
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
VolcanoBadgeText:
|
2014-05-18 18:19:10 +00:00
|
|
|
db "VOLCANOBADGE@"
|
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
MarshBadgeText:
|
2014-05-18 18:19:10 +00:00
|
|
|
db "MARSHBADGE@"
|
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
SoulBadgeText:
|
2014-05-18 18:19:10 +00:00
|
|
|
db "SOULBADGE@"
|
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
RainbowBadgeText:
|
2014-05-18 18:19:10 +00:00
|
|
|
db "RAINBOWBADGE@"
|
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
ThunderBadgeText:
|
2014-05-18 18:19:10 +00:00
|
|
|
db "THUNDERBADGE@"
|
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
CascadeBadgeText:
|
2014-05-18 18:19:10 +00:00
|
|
|
db "CASCADEBADGE@"
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23MovePlayerDownScript:
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, $1
|
2014-09-10 03:55:19 +00:00
|
|
|
ld [wSimulatedJoypadStatesIndex], a
|
2015-07-17 07:52:25 +00:00
|
|
|
ld a, D_DOWN
|
2014-09-10 03:55:19 +00:00
|
|
|
ld [wSimulatedJoypadStatesEnd], a
|
2014-05-18 18:19:10 +00:00
|
|
|
xor a
|
2020-07-05 21:29:11 +00:00
|
|
|
ld [wSpritePlayerStateData1FacingDirection], a
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [wJoyIgnore], a
|
2014-09-10 03:55:19 +00:00
|
|
|
jp StartSimulatingJoypadStates
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23PlayerMovingScript:
|
2014-09-10 03:55:19 +00:00
|
|
|
ld a, [wSimulatedJoypadStatesIndex]
|
2014-05-18 18:19:10 +00:00
|
|
|
and a
|
|
|
|
ret nz
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23ResetToDefaultScript:
|
|
|
|
ld a, SCRIPT_ROUTE23_DEFAULT
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute23CurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2019-01-01 20:06:23 +00:00
|
|
|
Route23_TextPointers:
|
2023-07-14 01:27:56 +00:00
|
|
|
def_text_pointers
|
|
|
|
dw_const Route23Guard1Text, TEXT_ROUTE23_GUARD1
|
|
|
|
dw_const Route23Guard2Text, TEXT_ROUTE23_GUARD2
|
|
|
|
dw_const Route23Swimmer1Text, TEXT_ROUTE23_SWIMMER1
|
|
|
|
dw_const Route23Swimmer2Text, TEXT_ROUTE23_SWIMMER2
|
|
|
|
dw_const Route23Guard3Text, TEXT_ROUTE23_GUARD3
|
|
|
|
dw_const Route23Guard4Text, TEXT_ROUTE23_GUARD4
|
|
|
|
dw_const Route23Guard5Text, TEXT_ROUTE23_GUARD5
|
|
|
|
dw_const Route23VictoryRoadGateSignText, TEXT_ROUTE23_VICTORY_ROAD_GATE_SIGN
|
|
|
|
|
|
|
|
Route23Guard1Text:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-21 17:36:03 +00:00
|
|
|
EventFlagBit a, EVENT_PASSED_EARTHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route23CheckForBadgeScript
|
2014-05-18 18:19:10 +00:00
|
|
|
jp TextScriptEnd
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23Guard2Text:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-21 17:36:03 +00:00
|
|
|
EventFlagBit a, EVENT_PASSED_VOLCANOBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route23CheckForBadgeScript
|
2014-05-18 18:19:10 +00:00
|
|
|
jp TextScriptEnd
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23Swimmer1Text:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-21 17:36:03 +00:00
|
|
|
EventFlagBit a, EVENT_PASSED_MARSHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route23CheckForBadgeScript
|
2014-05-18 18:19:10 +00:00
|
|
|
jp TextScriptEnd
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23Swimmer2Text:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-21 17:36:03 +00:00
|
|
|
EventFlagBit a, EVENT_PASSED_SOULBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route23CheckForBadgeScript
|
2014-05-18 18:19:10 +00:00
|
|
|
jp TextScriptEnd
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23Guard3Text:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-21 17:36:03 +00:00
|
|
|
EventFlagBit a, EVENT_PASSED_RAINBOWBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route23CheckForBadgeScript
|
2014-05-18 18:19:10 +00:00
|
|
|
jp TextScriptEnd
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23Guard4Text:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-21 17:36:03 +00:00
|
|
|
EventFlagBit a, EVENT_PASSED_THUNDERBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route23CheckForBadgeScript
|
2014-05-18 18:19:10 +00:00
|
|
|
jp TextScriptEnd
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23Guard5Text:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-21 17:36:03 +00:00
|
|
|
EventFlagBit a, EVENT_PASSED_CASCADEBADGE_CHECK
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route23CheckForBadgeScript
|
2014-05-18 18:19:10 +00:00
|
|
|
jp TextScriptEnd
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23CheckForBadgeScript:
|
2015-07-18 15:17:29 +00:00
|
|
|
ld [wWhichBadge], a
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route23CopyBadgeTextScript
|
2015-07-18 15:17:29 +00:00
|
|
|
ld a, [wWhichBadge]
|
2014-05-18 18:19:10 +00:00
|
|
|
inc a
|
|
|
|
ld c, a
|
2015-07-20 03:45:34 +00:00
|
|
|
ld b, FLAG_TEST
|
2015-08-31 02:38:41 +00:00
|
|
|
ld hl, wObtainedBadges
|
2014-06-16 20:57:26 +00:00
|
|
|
predef FlagActionPredef
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, c
|
|
|
|
and a
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, .have_badge
|
|
|
|
ld hl, Route23YouDontHaveTheBadgeYetText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route23MovePlayerDownScript
|
|
|
|
ld a, SCRIPT_ROUTE23_PLAYER_MOVING
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute23CurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
2023-07-14 01:27:56 +00:00
|
|
|
.have_badge
|
|
|
|
ld hl, Route23OhThatIsTheBadgeText
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2015-07-18 15:17:29 +00:00
|
|
|
ld a, [wWhichBadge]
|
2014-05-18 18:19:10 +00:00
|
|
|
ld c, a
|
2015-07-20 03:45:34 +00:00
|
|
|
ld b, FLAG_SET
|
2015-07-21 17:36:03 +00:00
|
|
|
EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK
|
2014-06-16 20:57:26 +00:00
|
|
|
predef FlagActionPredef
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, SCRIPT_ROUTE23_RESET_TO_DEFAULT
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute23CurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23PrintOhThatsTheBadgeTextScript: ; unreferenced
|
|
|
|
ld hl, Route23OhThatIsTheBadgeText
|
2014-05-18 18:19:10 +00:00
|
|
|
jp PrintText
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23YouDontHaveTheBadgeYetText:
|
|
|
|
text_far _Route23YouDontHaveTheBadgeYetText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-19 08:46:12 +00:00
|
|
|
ld a, SFX_DENIED
|
2014-05-18 18:19:10 +00:00
|
|
|
call PlaySoundWaitForCurrent
|
|
|
|
call WaitForSoundToFinish
|
|
|
|
jp TextScriptEnd
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23OhThatIsTheBadgeText:
|
|
|
|
text_far _Route23OhThatIsTheBadgeText
|
2020-07-04 21:09:35 +00:00
|
|
|
sound_get_item_1
|
2023-07-14 01:27:56 +00:00
|
|
|
text_far _Route23GoRightAheadText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route23VictoryRoadGateSignText:
|
|
|
|
text_far _Route23VictoryRoadGateSignText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|