123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313 |
- PokemonTower7Script:
- call EnableAutoTextBoxDrawing
- ld hl, PokemonTower7TrainerHeader0
- ld de, PokemonTower7ScriptPointers
- ld a, [wPokemonTower7CurScript]
- call ExecuteCurMapScriptInTable
- ld [wPokemonTower7CurScript], a
- ret
- PokemonTower7Script_60d18:
- xor a
- ld [wJoyIgnore], a
- ld [wPokemonTower7CurScript], a
- ld [wCurMapScript], a
- ret
- PokemonTower7ScriptPointers:
- dw CheckFightingMapTrainers
- dw DisplayEnemyTrainerTextAndStartBattle
- dw PokemonTower7Script2
- dw PokemonTower7Script3
- dw PokemonTower7Script4
- PokemonTower7Script2:
- ld hl, wFlags_0xcd60
- res 0, [hl]
- ld a, [wIsInBattle]
- cp $ff
- jp z, PokemonTower7Script_60d18
- call EndTrainerBattle
- ld a, $f0
- ld [wJoyIgnore], a
- ld a, [wSpriteIndex]
- ld [hSpriteIndexOrTextID], a
- call DisplayTextID
- call PokemonTower7Script_60db6
- ld a, $3
- ld [wPokemonTower7CurScript], a
- ld [wCurMapScript], a
- ret
- PokemonTower7Script3:
- ld a, [wd730]
- bit 0, a
- ret nz
- ld hl, wMissableObjectList
- ld a, [wSpriteIndex]
- ld b, a
- .missableObjectsListLoop
- ld a, [hli]
- cp b ; search for sprite ID in missing objects list
- ld a, [hli]
- jr nz, .missableObjectsListLoop
- ld [wMissableObjectIndex], a ; remove missable object
- predef HideObject
- xor a
- ld [wJoyIgnore], a
- ld [wSpriteIndex], a
- ld [wTrainerHeaderFlagBit], a
- ld [wUnusedDA38], a
- ld a, $0
- ld [wPokemonTower7CurScript], a
- ld [wCurMapScript], a
- ret
- PokemonTower7Script4:
- ld a, $ff
- ld [wJoyIgnore], a
- ld a, HS_POKEMONTOWER_7_MR_FUJI
- ld [wMissableObjectIndex], a
- predef HideObject
- ld a, SPRITE_FACING_UP
- ld [wSpriteStateData1 + 9], a
- ld a, LAVENDER_HOUSE_1
- ld [hWarpDestinationMap], a
- ld a, $1
- ld [wDestinationWarpID], a
- ld a, LAVENDER_TOWN
- ld [wLastMap], a
- ld hl, wd72d
- set 3, [hl]
- ld a, $0
- ld [wPokemonTower7CurScript], a
- ld [wCurMapScript], a
- ret
- PokemonTower7Script_60db6:
- ld hl, CoordsData_60de3
- ld a, [wSpriteIndex]
- dec a
- swap a
- ld d, $0
- ld e, a
- add hl, de
- ld a, [wYCoord]
- ld b, a
- ld a, [wXCoord]
- 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
- ld a, [wSpriteIndex]
- ld [H_SPRITEINDEX], a
- jp MoveSprite
- .asm_60dde
- inc hl
- .asm_60ddf
- inc hl
- inc hl
- jr .asm_60dcb
- CoordsData_60de3:
- 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
- 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
- MovementData_60e22:
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db NPC_MOVEMENT_DOWN
- db $FF
- 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
- 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
- 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
- PokemonTower7TextPointers:
- dw PokemonTower7Text1
- dw PokemonTower7Text2
- dw PokemonTower7Text3
- dw PokemonTower7FujiText
- PokemonTower7TrainerHeader0:
- dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
- db ($3 << 4) ; trainer's view range
- dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
- dw PokemonTower7BattleText1 ; TextBeforeBattle
- dw PokemonTower7AfterBattleText1 ; TextAfterBattle
- dw PokemonTower7EndBattleText1 ; TextEndBattle
- dw PokemonTower7EndBattleText1 ; TextEndBattle
- PokemonTower7TrainerHeader1:
- dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
- db ($3 << 4) ; trainer's view range
- dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
- dw PokemonTower7BattleText2 ; TextBeforeBattle
- dw PokemonTower7AfterBattleText2 ; TextAfterBattle
- dw PokemonTower7EndBattleText2 ; TextEndBattle
- dw PokemonTower7EndBattleText2 ; TextEndBattle
- PokemonTower7TrainerHeader2:
- dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_2
- db ($3 << 4) ; trainer's view range
- dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_2
- dw PokemonTower7BattleText3 ; TextBeforeBattle
- dw PokemonTower7AfterBattleText3 ; TextAfterBattle
- dw PokemonTower7EndBattleText3 ; TextEndBattle
- dw PokemonTower7EndBattleText3 ; TextEndBattle
- db $ff
- PokemonTower7Text1:
- TX_ASM
- ld hl, PokemonTower7TrainerHeader0
- call TalkToTrainer
- jp TextScriptEnd
- PokemonTower7Text2:
- TX_ASM
- ld hl, PokemonTower7TrainerHeader1
- call TalkToTrainer
- jp TextScriptEnd
- PokemonTower7Text3:
- TX_ASM
- ld hl, PokemonTower7TrainerHeader2
- call TalkToTrainer
- jp TextScriptEnd
- PokemonTower7FujiText:
- TX_ASM
- ld hl, TowerRescueFujiText
- call PrintText
- SetEvent EVENT_RESCUED_MR_FUJI
- SetEvent EVENT_RESCUED_MR_FUJI_2
- ld a, HS_LAVENDER_HOUSE_1_MR_FUJI
- ld [wMissableObjectIndex], a
- predef ShowObject
- ld a, HS_SAFFRON_CITY_E
- ld [wMissableObjectIndex], a
- predef HideObject
- ld a, HS_SAFFRON_CITY_F
- ld [wMissableObjectIndex], a
- predef ShowObject
- ld a, $4
- ld [wPokemonTower7CurScript], a
- ld [wCurMapScript], a
- jp TextScriptEnd
- TowerRescueFujiText:
- TX_FAR _TowerRescueFujiText
- db "@"
- PokemonTower7BattleText1:
- TX_FAR _PokemonTower7BattleText1
- db "@"
- PokemonTower7EndBattleText1:
- TX_FAR _PokemonTower7EndBattleText1
- db "@"
- PokemonTower7AfterBattleText1:
- TX_FAR _PokemonTower7AfterBattleText1
- db "@"
- PokemonTower7BattleText2:
- TX_FAR _PokemonTower7BattleText2
- db "@"
- PokemonTower7EndBattleText2:
- TX_FAR _PokemonTower7EndBattleText2
- db "@"
- PokemonTower7AfterBattleText2:
- TX_FAR _PokemonTower7AfterBattleText2
- db "@"
- PokemonTower7BattleText3:
- TX_FAR _PokemonTower7BattleText3
- db "@"
- PokemonTower7EndBattleText3:
- TX_FAR _PokemonTower7EndBattleText3
- db "@"
- PokemonTower7AfterBattleText3:
- TX_FAR _PokemonTower7AfterBattleText3
- db "@"
|