summaryrefslogtreecommitdiff
path: root/scripts/PokemonTower6F.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/PokemonTower6F.asm')
-rwxr-xr-xscripts/PokemonTower6F.asm212
1 files changed, 212 insertions, 0 deletions
diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm
new file mode 100755
index 00000000..14c07c48
--- /dev/null
+++ b/scripts/PokemonTower6F.asm
@@ -0,0 +1,212 @@
+PokemonTower6F_Script:
+ call EnableAutoTextBoxDrawing
+ ld hl, PokemonTower6TrainerHeader0
+ ld de, PokemonTower6F_ScriptPointers
+ ld a, [wPokemonTower6FCurScript]
+ call ExecuteCurMapScriptInTable
+ ld [wPokemonTower6FCurScript], a
+ ret
+
+PokemonTower6Script_60b02:
+ xor a
+ ld [wJoyIgnore], a
+ ld [wPokemonTower6FCurScript], a
+ ld [wCurMapScript], a
+ ret
+
+PokemonTower6F_ScriptPointers:
+ dw PokemonTower6Script0
+ dw DisplayEnemyTrainerTextAndStartBattle
+ dw EndTrainerBattle
+ dw PokemonTower6Script3
+ dw PokemonTower6Script4
+
+PokemonTower6Script0:
+ CheckEvent EVENT_BEAT_GHOST_MAROWAK
+ jp nz, CheckFightingMapTrainers
+ ld hl, CoordsData_60b45
+ call ArePlayerCoordsInArray
+ jp nc, CheckFightingMapTrainers
+ xor a
+ ld [hJoyHeld], a
+ ld a, $6
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+ ld a, MAROWAK
+ ld [wCurOpponent], a
+ ld a, 30
+ ld [wCurEnemyLVL], a
+ ld a, $4
+ ld [wPokemonTower6FCurScript], a
+ ld [wCurMapScript], a
+ ret
+
+CoordsData_60b45:
+ db $10,$0A,$FF
+
+PokemonTower6Script4:
+ ld a, [wIsInBattle]
+ cp $ff
+ jp z, PokemonTower6Script_60b02
+ ld a, $ff
+ ld [wJoyIgnore], a
+ ld a, [wd72d]
+ bit 6, a
+ ret nz
+ call UpdateSprites
+ ld a, $f0
+ ld [wJoyIgnore], a
+ ld a, [wBattleResult]
+ and a
+ jr nz, .asm_60b82
+ SetEvent EVENT_BEAT_GHOST_MAROWAK
+ ld a, $7
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+ xor a
+ ld [wJoyIgnore], a
+ ld a, $0
+ ld [wPokemonTower6FCurScript], a
+ ld [wCurMapScript], a
+ ret
+.asm_60b82
+ ld a, $1
+ ld [wSimulatedJoypadStatesIndex], a
+ ld a, $10
+ ld [wSimulatedJoypadStatesEnd], a
+ xor a
+ ld [wSpriteStateData2 + $06], a
+ ld [wOverrideSimulatedJoypadStatesMask], a
+ ld hl, wd730
+ set 7, [hl]
+ ld a, $3
+ ld [wPokemonTower6FCurScript], a
+ ld [wCurMapScript], a
+ ret
+
+PokemonTower6Script3:
+ ld a, [wSimulatedJoypadStatesIndex]
+ and a
+ ret nz
+ call Delay3
+ xor a
+ ld [wPokemonTower6FCurScript], a
+ ld [wCurMapScript], a
+ ret
+
+PokemonTower6F_TextPointers:
+ dw PokemonTower6Text1
+ dw PokemonTower6Text2
+ dw PokemonTower6Text3
+ dw PickUpItemText
+ dw PickUpItemText
+ dw PokemonTower6Text6
+ dw PokemonTower6Text7
+
+PokemonTower6TrainerHeader0:
+ dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_0
+ db ($3 << 4) ; trainer's view range
+ dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_0
+ dw PokemonTower6BattleText1 ; TextBeforeBattle
+ dw PokemonTower6AfterBattleText1 ; TextAfterBattle
+ dw PokemonTower6EndBattleText1 ; TextEndBattle
+ dw PokemonTower6EndBattleText1 ; TextEndBattle
+
+PokemonTower6TrainerHeader1:
+ dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_1
+ db ($3 << 4) ; trainer's view range
+ dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_1
+ dw PokemonTower6BattleText2 ; TextBeforeBattle
+ dw PokemonTower6AfterBattleText2 ; TextAfterBattle
+ dw PokemonTower6EndBattleText2 ; TextEndBattle
+ dw PokemonTower6EndBattleText2 ; TextEndBattle
+
+PokemonTower6TrainerHeader2:
+ dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_2
+ db ($2 << 4) ; trainer's view range
+ dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_2
+ dw PokemonTower6BattleText3 ; TextBeforeBattle
+ dw PokemonTower6AfterBattleText3 ; TextAfterBattle
+ dw PokemonTower6EndBattleText3 ; TextEndBattle
+ dw PokemonTower6EndBattleText3 ; TextEndBattle
+
+ db $ff
+
+PokemonTower6Text1:
+ TX_ASM
+ ld hl, PokemonTower6TrainerHeader0
+ call TalkToTrainer
+ jp TextScriptEnd
+
+PokemonTower6Text2:
+ TX_ASM
+ ld hl, PokemonTower6TrainerHeader1
+ call TalkToTrainer
+ jp TextScriptEnd
+
+PokemonTower6Text3:
+ TX_ASM
+ ld hl, PokemonTower6TrainerHeader2
+ call TalkToTrainer
+ jp TextScriptEnd
+
+PokemonTower6Text7:
+ TX_ASM
+ ld hl, PokemonTower2Text_60c1f
+ call PrintText
+ ld a, MAROWAK
+ call PlayCry
+ call WaitForSoundToFinish
+ ld c, 30
+ call DelayFrames
+ ld hl, PokemonTower2Text_60c24
+ call PrintText
+ jp TextScriptEnd
+
+PokemonTower2Text_60c1f:
+ TX_FAR _PokemonTower2Text_60c1f
+ db "@"
+
+PokemonTower2Text_60c24:
+ TX_FAR _PokemonTower2Text_60c24
+ db "@"
+
+PokemonTower6BattleText1:
+ TX_FAR _PokemonTower6BattleText1
+ db "@"
+
+PokemonTower6EndBattleText1:
+ TX_FAR _PokemonTower6EndBattleText1
+ db "@"
+
+PokemonTower6AfterBattleText1:
+ TX_FAR _PokemonTower6AfterBattleText1
+ db "@"
+
+PokemonTower6BattleText2:
+ TX_FAR _PokemonTower6BattleText2
+ db "@"
+
+PokemonTower6EndBattleText2:
+ TX_FAR _PokemonTower6EndBattleText2
+ db "@"
+
+PokemonTower6AfterBattleText2:
+ TX_FAR _PokemonTower6AfterBattleText2
+ db "@"
+
+PokemonTower6BattleText3:
+ TX_FAR _PokemonTower6BattleText3
+ db "@"
+
+PokemonTower6EndBattleText3:
+ TX_FAR _PokemonTower6EndBattleText3
+ db "@"
+
+PokemonTower6AfterBattleText3:
+ TX_FAR _PokemonTower6AfterBattleText3
+ db "@"
+
+PokemonTower6Text6:
+ TX_FAR _PokemonTower6Text6
+ db "@"