pokered/scripts/route23.asm

237 lines
4.3 KiB
NASM
Raw Normal View History

2016-06-12 00:24:04 +00:00
Route23Script:
2014-05-18 18:19:10 +00:00
call Route23Script_511e9
call EnableAutoTextBoxDrawing
ld hl, Route23ScriptPointers
2015-08-31 02:38:41 +00:00
ld a, [wRoute23CurScript]
2014-05-18 18:19:10 +00:00
jp CallFunctionInTable
2016-06-12 00:24:04 +00:00
Route23Script_511e9:
2016-01-03 19:17:10 +00:00
ld hl, wCurrentMapScriptFlags
2014-05-18 18:19:10 +00:00
bit 6, [hl]
res 6, [hl]
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
ld a, HS_VICTORY_ROAD_3_BOULDER
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef ShowObject
ld a, HS_VICTORY_ROAD_2_BOULDER
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef_jump HideObject
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
Route23ScriptPointers:
2014-05-18 18:19:10 +00:00
dw Route23Script0
dw Route23Script1
dw Route23Script2
2016-06-12 00:24:04 +00:00
Route23Script0:
ld hl, YCoordsData_51255
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
2014-05-18 18:19:10 +00:00
.asm_51224
ld a, [hli]
cp $ff
ret z
inc e
dec c
cp b
jr nz, .asm_51224
2014-05-18 18:19:10 +00:00
cp $23
jr nz, .asm_51237
2015-08-31 02:38:41 +00:00
ld a, [wXCoord]
2014-05-18 18:19:10 +00:00
cp $e
ret nc
.asm_51237
ld a, e
2015-07-18 15:17:29 +00:00
ld [hSpriteIndexOrTextID], 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
predef FlagActionPredef
2014-05-18 18:19:10 +00:00
ld a, c
and a
ret nz
call Route23Script_5125d
call DisplayTextID
xor a
2014-05-25 17:51:53 +00:00
ld [hJoyHeld], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
YCoordsData_51255:
2014-05-18 18:19:10 +00:00
db $23,$38,$55,$60,$69,$77,$88,$FF
2016-06-12 00:24:04 +00:00
Route23Script_5125d:
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
ld de, wcd6d
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@"
2016-06-12 00:24:04 +00:00
Route23Script_512d8:
2014-05-18 18:19:10 +00:00
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
ld a, D_DOWN
ld [wSimulatedJoypadStatesEnd], a
2014-05-18 18:19:10 +00:00
xor a
ld [wSpriteStateData1 + 9], a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
jp StartSimulatingJoypadStates
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
Route23Script1:
ld a, [wSimulatedJoypadStatesIndex]
2014-05-18 18:19:10 +00:00
and a
ret nz
2016-06-12 00:24:04 +00:00
Route23Script2:
2014-05-18 18:19:10 +00:00
ld a, $0
2015-08-31 02:38:41 +00:00
ld [wRoute23CurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
Route23TextPointers:
2014-05-18 18:19:10 +00:00
dw Route23Text1
dw Route23Text2
dw Route23Text3
dw Route23Text4
dw Route23Text5
dw Route23Text6
dw Route23Text7
dw Route23Text8
2016-06-12 00:24:04 +00:00
Route23Text1:
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 17:36:03 +00:00
EventFlagBit a, EVENT_PASSED_EARTHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
2014-05-18 18:19:10 +00:00
call Route23Script_51346
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
Route23Text2:
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 17:36:03 +00:00
EventFlagBit a, EVENT_PASSED_VOLCANOBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
2014-05-18 18:19:10 +00:00
call Route23Script_51346
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
Route23Text3:
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 17:36:03 +00:00
EventFlagBit a, EVENT_PASSED_MARSHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
2014-05-18 18:19:10 +00:00
call Route23Script_51346
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
Route23Text4:
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 17:36:03 +00:00
EventFlagBit a, EVENT_PASSED_SOULBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
2014-05-18 18:19:10 +00:00
call Route23Script_51346
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
Route23Text5:
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 17:36:03 +00:00
EventFlagBit a, EVENT_PASSED_RAINBOWBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
2014-05-18 18:19:10 +00:00
call Route23Script_51346
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
Route23Text6:
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 17:36:03 +00:00
EventFlagBit a, EVENT_PASSED_THUNDERBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
2014-05-18 18:19:10 +00:00
call Route23Script_51346
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
Route23Text7:
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 17:36:03 +00:00
EventFlagBit a, EVENT_PASSED_CASCADEBADGE_CHECK
2014-05-18 18:19:10 +00:00
call Route23Script_51346
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
Route23Script_51346:
2015-07-18 15:17:29 +00:00
ld [wWhichBadge], a
2014-05-18 18:19:10 +00:00
call Route23Script_5125d
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
predef FlagActionPredef
2014-05-18 18:19:10 +00:00
ld a, c
and a
jr nz, .asm_5136e
ld hl, VictoryRoadGuardText1
call PrintText
call Route23Script_512d8
ld a, $1
2015-08-31 02:38:41 +00:00
ld [wRoute23CurScript], a
2014-05-18 18:19:10 +00:00
ret
.asm_5136e
ld hl, VictoryRoadGuardText2
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
predef FlagActionPredef
2014-05-18 18:19:10 +00:00
ld a, $2
2015-08-31 02:38:41 +00:00
ld [wRoute23CurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
Route23Script_51388:
2014-05-18 18:19:10 +00:00
ld hl, VictoryRoadGuardText2
jp PrintText
2016-06-12 00:24:04 +00:00
VictoryRoadGuardText1:
2014-05-18 18:19:10 +00:00
TX_FAR _VictoryRoadGuardText1
2015-07-03 19:58:50 +00:00
TX_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
2016-06-12 00:24:04 +00:00
VictoryRoadGuardText2:
2014-05-18 18:19:10 +00:00
TX_FAR _VictoryRoadGuardText2
2016-07-18 06:17:03 +00:00
TX_SFX_ITEM_1
2014-05-18 18:19:10 +00:00
TX_FAR _VictoryRoadGuardText_513a3
db "@"
2016-06-12 00:24:04 +00:00
Route23Text8:
2014-05-18 18:19:10 +00:00
TX_FAR _Route23Text8
db "@"