123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- SeafoamIslands5Script:
- call EnableAutoTextBoxDrawing
- ld a, [wSeafoamIslands5CurScript]
- ld hl, SeafoamIslands5ScriptPointers
- jp CallFunctionInTable
- SeafoamIslands5Script_467a5:
- xor a
- ld [wSeafoamIslands5CurScript], a
- ld [wJoyIgnore], a
- ret
- SeafoamIslands5ScriptPointers:
- dw SeafoamIslands5Script0
- dw SeafoamIslands5Script1
- dw SeafoamIslands5Script2
- dw SeafoamIslands5Script3
- dw SeafoamIslands5Script4
- SeafoamIslands5Script4:
- ld a, [wIsInBattle]
- cp $ff
- jr z, SeafoamIslands5Script_467a5
- call EndTrainerBattle
- ld a, $0
- ld [wSeafoamIslands5CurScript], a
- ret
- SeafoamIslands5Script0:
- CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
- ret z
- ld hl, .Coords
- call ArePlayerCoordsInArray
- ret nc
- ld a, [wCoordIndex]
- cp $3
- jr nc, .asm_467e6
- ld a, NPC_MOVEMENT_UP
- ld [wSimulatedJoypadStatesEnd + 1], a
- ld a, 2
- jr .asm_467e8
- .asm_467e6
- ld a, 1
- .asm_467e8
- ld [wSimulatedJoypadStatesIndex], a
- ld a, D_UP
- ld [wSimulatedJoypadStatesEnd], a
- call StartSimulatingJoypadStates
- ld hl, wFlags_D733
- res 2, [hl]
- ld a, $1
- ld [wSeafoamIslands5CurScript], a
- ret
- .Coords
- db $11,$14
- db $11,$15
- db $10,$14
- db $10,$15
- db $FF
- SeafoamIslands5Script1:
- ld a, [wSimulatedJoypadStatesIndex]
- and a
- ret nz
- xor a
- ld [wJoyIgnore], a
- ld a, $0
- ld [wSeafoamIslands5CurScript], a
- ret
- SeafoamIslands5Script2:
- CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE
- ld a, $0
- jr z, .asm_46849
- ld hl, .Coords
- call ArePlayerCoordsInArray
- ld a, $0
- jr nc, .asm_46849
- ld a, [wCoordIndex]
- cp $1
- jr nz, .asm_46837
- ld de, RLEMovementData_46859
- jr .asm_4683a
- .asm_46837
- ld de, RLEMovementData_46852
- .asm_4683a
- ld hl, wSimulatedJoypadStatesEnd
- call DecodeRLEList
- dec a
- ld [wSimulatedJoypadStatesIndex], a
- call StartSimulatingJoypadStates
- ld a, $3
- .asm_46849
- ld [wSeafoamIslands5CurScript], a
- ret
- .Coords
- db $0E,$04
- db $0E,$05
- db $FF
- RLEMovementData_46852:
- db D_UP,$03
- db D_RIGHT,$02
- db D_UP,$01
- db $FF
- RLEMovementData_46859:
- db D_UP,$03
- db D_RIGHT,$03
- db D_UP,$01
- db $FF
- SeafoamIslands5Script3:
- ld a, [wSimulatedJoypadStatesIndex]
- ld b, a
- cp $1
- call z, SeaFoamIslands5Script_46872
- ld a, b
- and a
- ret nz
- ld a, $0
- ld [wSeafoamIslands5CurScript], a
- ret
- SeaFoamIslands5Script_46872:
- xor a
- ld [wWalkBikeSurfState], a
- ld [wWalkBikeSurfStateCopy], a
- jp ForceBikeOrSurf
- SeafoamIslands5TextPointers:
- dw BoulderText
- dw BoulderText
- dw ArticunoText
- dw SeafoamIslands5Text4
- dw SeafoamIslands5Text5
- ArticunoTrainerHeader:
- dbEventFlagBit EVENT_BEAT_ARTICUNO
- db ($0 << 4) ; trainer's view range
- dwEventFlagAddress EVENT_BEAT_ARTICUNO
- dw ArticunoBattleText ; TextBeforeBattle
- dw ArticunoBattleText ; TextAfterBattle
- dw ArticunoBattleText ; TextEndBattle
- dw ArticunoBattleText ; TextEndBattle
- db $ff
- ArticunoText:
- TX_ASM
- ld hl, ArticunoTrainerHeader
- call TalkToTrainer
- ld a, $4
- ld [wSeafoamIslands5CurScript], a
- jp TextScriptEnd
- ArticunoBattleText:
- TX_FAR _ArticunoBattleText
- TX_ASM
- ld a, ARTICUNO
- call PlayCry
- call WaitForSoundToFinish
- jp TextScriptEnd
- SeafoamIslands5Text4:
- TX_FAR _SeafoamIslands5Text4
- db "@"
- SeafoamIslands5Text5:
- TX_FAR _SeafoamIslands5Text5
- db "@"
|