pokered/scripts/pokemontower7.asm

314 lines
6.3 KiB
NASM
Raw Normal View History

2016-06-12 00:24:04 +00:00
PokemonTower7Script:
2014-05-18 18:19:10 +00:00
call EnableAutoTextBoxDrawing
ld hl, PokemonTower7TrainerHeaders
ld de, PokemonTower7ScriptPointers
2015-08-31 02:38:41 +00:00
ld a, [wPokemonTower7CurScript]
2014-05-18 18:19:10 +00:00
call ExecuteCurMapScriptInTable
2015-08-31 02:38:41 +00:00
ld [wPokemonTower7CurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
PokemonTower7Script_60d18:
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2015-08-31 02:38:41 +00:00
ld [wPokemonTower7CurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
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
2016-06-12 00:24:04 +00:00
PokemonTower7Script2:
2014-05-18 18:19:10 +00:00
ld hl, wFlags_0xcd60
res 0, [hl]
2015-08-31 02:38:41 +00:00
ld a, [wIsInBattle]
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]
2015-07-18 15:17:29 +00:00
ld [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
call PokemonTower7Script_60db6
ld a, $3
2015-08-31 02:38:41 +00:00
ld [wPokemonTower7CurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
PokemonTower7Script3:
ld a, [wd730]
2014-05-18 18:19:10 +00:00
bit 0, a
ret nz
2015-08-31 02:38:41 +00:00
ld hl, wMissableObjectList
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
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], 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
2015-07-26 02:26:54 +00:00
ld [wUnusedDA38], a
2014-05-18 18:19:10 +00:00
ld a, $0
2015-08-31 02:38:41 +00:00
ld [wPokemonTower7CurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
PokemonTower7Script4:
2014-05-18 18:19:10 +00:00
ld a, $ff
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld a, HS_POKEMONTOWER_7_MR_FUJI
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef HideObject
ld a, SPRITE_FACING_UP
ld [wSpriteStateData1 + 9], a
2015-02-07 19:16:00 +00:00
ld a, LAVENDER_HOUSE_1
2015-07-18 15:17:29 +00:00
ld [hWarpDestinationMap], a
2014-05-18 18:19:10 +00:00
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
2015-08-31 02:38:41 +00:00
ld [wPokemonTower7CurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
PokemonTower7Script_60db6:
ld hl, CoordsData_60de3
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
2015-08-31 02:38:41 +00:00
ld a, [wYCoord]
2014-05-18 18:19:10 +00:00
ld b, a
2015-08-31 02:38:41 +00:00
ld a, [wXCoord]
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]
2015-07-18 15:17:29 +00:00
ld [H_SPRITEINDEX], a
2014-05-18 18:19:10 +00:00
jp MoveSprite
.asm_60dde
inc hl
.asm_60ddf
inc hl
inc hl
jr .asm_60dcb
2016-06-12 00:24:04 +00:00
CoordsData_60de3:
2014-05-18 18:19:10 +00:00
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:
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_LEFT
db $FF
2014-05-18 18:19:10 +00:00
MovementData_60e1b:
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db $FF
2014-05-18 18:19:10 +00:00
MovementData_60e22:
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db $FF
2014-05-18 18:19:10 +00:00
MovementData_60e28:
db NPC_MOVEMENT_LEFT
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db $FF
2014-05-18 18:19:10 +00:00
MovementData_60e30:
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_LEFT
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db $FF
2014-05-18 18:19:10 +00:00
MovementData_60e37:
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db $FF
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PokemonTower7TextPointers:
2014-05-18 18:19:10 +00:00
dw PokemonTower7Text1
dw PokemonTower7Text2
dw PokemonTower7Text3
2014-10-27 03:00:29 +00:00
dw PokemonTower7FujiText
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PokemonTower7TrainerHeaders:
PokemonTower7TrainerHeader0:
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
dw PokemonTower7BattleText1 ; TextBeforeBattle
dw PokemonTower7AfterBattleText1 ; TextAfterBattle
dw PokemonTower7EndBattleText1 ; TextEndBattle
dw PokemonTower7EndBattleText1 ; TextEndBattle
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PokemonTower7TrainerHeader1:
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
dw PokemonTower7BattleText2 ; TextBeforeBattle
dw PokemonTower7AfterBattleText2 ; TextAfterBattle
dw PokemonTower7EndBattleText2 ; TextEndBattle
dw PokemonTower7EndBattleText2 ; TextEndBattle
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PokemonTower7TrainerHeader2:
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_2
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_2
dw PokemonTower7BattleText3 ; TextBeforeBattle
dw PokemonTower7AfterBattleText3 ; TextAfterBattle
dw PokemonTower7EndBattleText3 ; TextEndBattle
dw PokemonTower7EndBattleText3 ; TextEndBattle
2014-05-18 18:19:10 +00:00
db $ff
2016-06-12 00:24:04 +00:00
PokemonTower7Text1:
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, PokemonTower7TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
PokemonTower7Text2:
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, PokemonTower7TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
PokemonTower7Text3:
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, PokemonTower7TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
2014-10-27 03:00:29 +00:00
PokemonTower7FujiText:
2015-07-04 03:49:20 +00:00
TX_ASM
2014-10-27 03:00:29 +00:00
ld hl, TowerRescueFujiText
2014-05-18 18:19:10 +00:00
call PrintText
2015-07-21 17:36:03 +00:00
SetEvent EVENT_RESCUED_MR_FUJI
SetEvent EVENT_RESCUED_MR_FUJI_2
ld a, HS_LAVENDER_HOUSE_1_MR_FUJI
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef ShowObject
ld a, HS_SAFFRON_CITY_E
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef HideObject
ld a, HS_SAFFRON_CITY_F
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef ShowObject
2014-05-18 18:19:10 +00:00
ld a, $4
2015-08-31 02:38:41 +00:00
ld [wPokemonTower7CurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
2014-10-27 03:00:29 +00:00
TowerRescueFujiText:
TX_FAR _TowerRescueFujiText
2014-05-18 18:19:10 +00:00
db "@"
2016-06-12 00:24:04 +00:00
PokemonTower7BattleText1:
2014-05-18 18:19:10 +00:00
TX_FAR _PokemonTower7BattleText1
db "@"
2016-06-12 00:24:04 +00:00
PokemonTower7EndBattleText1:
2014-05-18 18:19:10 +00:00
TX_FAR _PokemonTower7EndBattleText1
db "@"
2016-06-12 00:24:04 +00:00
PokemonTower7AfterBattleText1:
2014-05-18 18:19:10 +00:00
TX_FAR _PokemonTower7AfterBattleText1
db "@"
2016-06-12 00:24:04 +00:00
PokemonTower7BattleText2:
2014-05-18 18:19:10 +00:00
TX_FAR _PokemonTower7BattleText2
db "@"
2016-06-12 00:24:04 +00:00
PokemonTower7EndBattleText2:
2014-05-18 18:19:10 +00:00
TX_FAR _PokemonTower7EndBattleText2
db "@"
2016-06-12 00:24:04 +00:00
PokemonTower7AfterBattleText2:
2014-05-18 18:19:10 +00:00
TX_FAR _PokemonTower7AfterBattleText2
db "@"
2016-06-12 00:24:04 +00:00
PokemonTower7BattleText3:
2014-05-18 18:19:10 +00:00
TX_FAR _PokemonTower7BattleText3
db "@"
2016-06-12 00:24:04 +00:00
PokemonTower7EndBattleText3:
2014-05-18 18:19:10 +00:00
TX_FAR _PokemonTower7EndBattleText3
db "@"
2016-06-12 00:24:04 +00:00
PokemonTower7AfterBattleText3:
2014-05-18 18:19:10 +00:00
TX_FAR _PokemonTower7AfterBattleText3
db "@"