pokered/scripts/pokemontower7.asm

278 lines
6 KiB
NASM
Raw Normal View History

2014-05-18 18:19:10 +00:00
PokemonTower7Script: ; 60d05 (18:4d05)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower7TrainerHeaders
ld de, PokemonTower7ScriptPointers
ld a, [W_POKEMONTOWER7CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POKEMONTOWER7CURSCRIPT], a
ret
PokemonTower7Script_60d18: ; 60d18 (18:4d18)
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
2014-10-27 03:00:29 +00:00
PokemonTower7ScriptPointers:
2014-05-18 18:19:10 +00:00
dw CheckFightingMapTrainers
2014-09-14 18:29:18 +00:00
dw DisplayEnemyTrainerTextAndStartBattle
2014-05-18 18:19:10 +00:00
dw PokemonTower7Script2
dw PokemonTower7Script3
dw PokemonTower7Script4
PokemonTower7Script2: ; 60d23 (18:4d23)
ld hl, wFlags_0xcd60
res 0, [hl]
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
2014-05-18 18:19:10 +00:00
cp $ff
jp z, PokemonTower7Script_60d18
call EndTrainerBattle
ld a, $f0
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-09-13 07:50:56 +00:00
ld a, [wSpriteIndex]
2014-05-18 18:19:10 +00:00
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
call PokemonTower7Script_60db6
ld a, $3
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower7Script3: ; 60d56 (18:4d56)
ld a, [wd730]
2014-05-18 18:19:10 +00:00
bit 0, a
ret nz
ld hl, W_MISSABLEOBJECTLIST
2014-09-13 07:50:56 +00:00
ld a, [wSpriteIndex]
2014-05-18 18:19:10 +00:00
ld b, a
.missableObjectsListLoop
ld a, [hli]
cp b ; search for sprite ID in missing objects list
ld a, [hli]
jr nz, .missableObjectsListLoop
ld [wcc4d], a ; remove missable object
predef HideObject
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
2014-05-18 18:19:10 +00:00
ld [wTrainerHeaderFlagBit], a
ld [wda38], a
2014-05-18 18:19:10 +00:00
ld a, $0
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower7Script4: ; 60d86 (18:4d86)
ld a, $ff
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld a, HS_POKEMONTOWER_7_MR_FUJI
ld [wcc4d], a
predef HideObject
2014-05-18 18:19:10 +00:00
ld a, $4
ld [wSpriteStateData1 + 9], a
2015-02-07 19:16:00 +00:00
ld a, LAVENDER_HOUSE_1
2014-05-18 18:19:10 +00:00
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
ld a, $1
2014-09-13 07:50:56 +00:00
ld [wDestinationWarpID], a
ld a, LAVENDER_TOWN
ld [wLastMap], a
ld hl, wd72d
2014-05-18 18:19:10 +00:00
set 3, [hl]
ld a, $0
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower7Script_60db6: ; 60db6 (18:4db6)
ld hl, CoordsData_60de3 ; $4de3
2014-09-13 07:50:56 +00:00
ld a, [wSpriteIndex]
2014-05-18 18:19:10 +00:00
dec a
swap a
ld d, $0
ld e, a
add hl, de
ld a, [W_YCOORD] ; wd361
2014-05-18 18:19:10 +00:00
ld b, a
ld a, [W_XCOORD] ; wd362
2014-05-18 18:19:10 +00:00
ld c, a
.asm_60dcb
ld a, [hli]
cp b
jr nz, .asm_60dde
ld a, [hli]
cp c
jr nz, .asm_60ddf
ld a, [hli]
ld d, [hl]
ld e, a
2014-09-13 07:50:56 +00:00
ld a, [wSpriteIndex]
2014-05-18 18:19:10 +00:00
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp MoveSprite
.asm_60dde
inc hl
.asm_60ddf
inc hl
inc hl
jr .asm_60dcb
CoordsData_60de3: ; 60de3 (18:4de3)
db $0C,$09
dw MovementData_60e13
db $0B,$0A
dw MovementData_60e1b
db $0B,$0B
dw MovementData_60e22
db $0B,$0C
dw MovementData_60e22
db $0A,$0C
dw MovementData_60e28
db $09,$0B
dw MovementData_60e30
db $09,$0A
dw MovementData_60e22
db $09,$09
dw MovementData_60e22
db $08,$09
dw MovementData_60e37
db $07,$0A
dw MovementData_60e22
db $07,$0B
dw MovementData_60e22
db $07,$0C
dw MovementData_60e22
MovementData_60e13: ; 60e13
db $C0,$00,$00,$00,$00,$00,$80,$FF
MovementData_60e1b: ; 60e1b
db $00,$C0,$00,$00,$00,$00,$FF
MovementData_60e22: ; 60e22
db $00,$00,$00,$00,$00,$FF
MovementData_60e28: ; 60e28
db $80,$00,$00,$00,$00,$00,$00,$FF
MovementData_60e30: ; 60e30
db $00,$00,$00,$80,$00,$00,$FF
MovementData_60e37: ; 60e37
db $C0,$00,$00,$00,$00,$00,$00,$FF
PokemonTower7TextPointers: ; 60e3f (18:4e3f)
dw PokemonTower7Text1
dw PokemonTower7Text2
dw PokemonTower7Text3
2014-10-27 03:00:29 +00:00
dw PokemonTower7FujiText
2014-05-18 18:19:10 +00:00
PokemonTower7TrainerHeaders: ; 60e47 (18:4e47)
PokemonTower7TrainerHeader0: ; 60e47 (18:4e47)
db $1 ; flag's bit
db ($3 << 4) ; trainer's view range
dw wd769 ; flag's byte
2014-05-18 18:19:10 +00:00
dw PokemonTower7BattleText1 ; 0x4ec9 TextBeforeBattle
dw PokemonTower7AfterBattleText1 ; 0x4ed3 TextAfterBattle
dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle
dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle
PokemonTower7TrainerHeader1: ; 60e53 (18:4e53)
db $2 ; flag's bit
db ($3 << 4) ; trainer's view range
dw wd769 ; flag's byte
2014-05-18 18:19:10 +00:00
dw PokemonTower7BattleText2 ; 0x4ed8 TextBeforeBattle
dw PokemonTower7AfterBattleText2 ; 0x4ee2 TextAfterBattle
dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle
dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle
PokemonTower7TrainerHeader2: ; 60e5f (18:4e5f)
db $3 ; flag's bit
db ($3 << 4) ; trainer's view range
dw wd769 ; flag's byte
2014-05-18 18:19:10 +00:00
dw PokemonTower7BattleText3 ; 0x4ee7 TextBeforeBattle
dw PokemonTower7AfterBattleText3 ; 0x4ef1 TextAfterBattle
dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle
dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle
db $ff
PokemonTower7Text1: ; 60e6c (18:4e6c)
db $08 ; asm
ld hl, PokemonTower7TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
PokemonTower7Text2: ; 60e76 (18:4e76)
db $08 ; asm
ld hl, PokemonTower7TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
PokemonTower7Text3: ; 60e80 (18:4e80)
db $08 ; asm
ld hl, PokemonTower7TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
2014-10-27 03:00:29 +00:00
PokemonTower7FujiText:
db 8 ; asm
ld hl, TowerRescueFujiText
2014-05-18 18:19:10 +00:00
call PrintText
ld hl, wd7e0
2014-05-18 18:19:10 +00:00
set 7, [hl]
ld hl, wd769
2014-05-18 18:19:10 +00:00
set 7, [hl]
ld a, HS_LAVENDER_HOUSE_1_MR_FUJI
ld [wcc4d], a
predef ShowObject
ld a, HS_SAFFRON_CITY_E
ld [wcc4d], a
predef HideObject
ld a, HS_SAFFRON_CITY_F
ld [wcc4d], a
predef ShowObject
2014-05-18 18:19:10 +00:00
ld a, $4
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
jp TextScriptEnd
2014-10-27 03:00:29 +00:00
TowerRescueFujiText:
TX_FAR _TowerRescueFujiText
2014-05-18 18:19:10 +00:00
db "@"
PokemonTower7BattleText1: ; 60ec9 (18:4ec9)
TX_FAR _PokemonTower7BattleText1
db "@"
PokemonTower7EndBattleText1: ; 60ece (18:4ece)
TX_FAR _PokemonTower7EndBattleText1
db "@"
PokemonTower7AfterBattleText1: ; 60ed3 (18:4ed3)
TX_FAR _PokemonTower7AfterBattleText1
db "@"
PokemonTower7BattleText2: ; 60ed8 (18:4ed8)
TX_FAR _PokemonTower7BattleText2
db "@"
PokemonTower7EndBattleText2: ; 60edd (18:4edd)
TX_FAR _PokemonTower7EndBattleText2
db "@"
PokemonTower7AfterBattleText2: ; 60ee2 (18:4ee2)
TX_FAR _PokemonTower7AfterBattleText2
db "@"
PokemonTower7BattleText3: ; 60ee7 (18:4ee7)
TX_FAR _PokemonTower7BattleText3
db "@"
PokemonTower7EndBattleText3: ; 60eec (18:4eec)
TX_FAR _PokemonTower7EndBattleText3
db "@"
PokemonTower7AfterBattleText3: ; 60ef1 (18:4ef1)
TX_FAR _PokemonTower7AfterBattleText3
db "@"