summaryrefslogtreecommitdiff
path: root/scripts/fightingdojo.asm
diff options
context:
space:
mode:
authorU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-05-18 14:19:10 -0400
committerU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-05-18 14:19:10 -0400
commit24c01b09bb2b617812bd826d1cf9ab5e3ec6a023 (patch)
tree07d2ed81b23de081f2003d9f8d50170344dd5ada /scripts/fightingdojo.asm
parent4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff)
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/fightingdojo.asm')
-rwxr-xr-xscripts/fightingdojo.asm337
1 files changed, 337 insertions, 0 deletions
diff --git a/scripts/fightingdojo.asm b/scripts/fightingdojo.asm
new file mode 100755
index 00000000..4dc7fe7b
--- /dev/null
+++ b/scripts/fightingdojo.asm
@@ -0,0 +1,337 @@
+FightingDojoScript: ; 5cd5d (17:4d5d)
+ call EnableAutoTextBoxDrawing
+ ld hl, FightingDojoTrainerHeaders
+ ld de, FightingDojoScriptPointers
+ ld a, [W_FIGHTINGDOJOCURSCRIPT]
+ call ExecuteCurMapScriptInTable
+ ld [W_FIGHTINGDOJOCURSCRIPT], a
+ ret
+
+FightingDojoScript_5cd70: ; 5cd70 (17:4d70)
+ xor a
+ ld [$cd6b], a
+ ld [$d642], a
+ ld [$da39], a
+ ret
+
+FightingDojoScriptPointers: ; 5cd7b (17:4d7b)
+ dw FightingDojoScript1
+ dw Func_324c
+ dw EndTrainerBattle
+ dw FightingDojoScript3
+
+FightingDojoScript1: ; 5cd83 (17:4d83)
+ ld a, [$d7b1]
+ bit 0, a
+ ret nz
+ call CheckFightingMapTrainers
+ ld a, [wTrainerHeaderFlagBit]
+ and a
+ ret nz
+ ld a, [$d7b1]
+ bit 1, a
+ ret nz
+ xor a
+ ld [H_CURRENTPRESSEDBUTTONS], a
+ ld [$cf0d], a
+ ld a, [W_YCOORD]
+ cp $3
+ ret nz
+ ld a, [W_XCOORD]
+ cp $4
+ ret nz
+ ld a, $1
+ ld [$cf0d], a
+ ld a, $1
+ ld [$d528], a
+ ld a, $1
+ ld [$ff8c], a
+ ld a, $8
+ ld [$ff8d], a
+ call Func_34a6
+ ld a, $1
+ ld [$ff8c], a
+ call DisplayTextID
+ ret
+
+FightingDojoScript3: ; 5cdc6 (17:4dc6)
+ ld a, [$d057]
+ cp $ff
+ jp z, FightingDojoScript_5cd70
+ ld a, [$cf0d]
+ and a
+ jr z, .asm_5cde4
+ ld a, $1
+ ld [$d528], a
+ ld a, $1
+ ld [$ff8c], a
+ ld a, $8
+ ld [$ff8d], a
+ call Func_34a6
+
+.asm_5cde4
+ ld a, $f0
+ ld [$cd6b], a
+ ld a, [$d7b1]
+ or $3e
+ ld [$d7b1], a
+ ld a, $8
+ ld [$ff8c], a
+ call DisplayTextID
+ xor a
+ ld [$cd6b], a
+ ld [$d642], a
+ ld [$da39], a
+ ret
+
+FightingDojoTextPointers: ; 5ce03 (17:4e03)
+ dw FightingDojoText1
+ dw FightingDojoText2
+ dw FightingDojoText3
+ dw FightingDojoText4
+ dw FightingDojoText5
+ dw FightingDojoText6
+ dw FightingDojoText7
+ dw FightingDojoText8
+
+FightingDojoTrainerHeaders: ; 5ce13 (17:4e13)
+FightingDojoTrainerHeader0: ; 5ce13 (17:4e13)
+ db $2 ; flag's bit
+ db ($4 << 4) ; trainer's view range
+ dw $d7b1 ; flag's byte
+ dw FightingDojoBattleText1 ; 0x4eac TextBeforeBattle
+ dw FightingDojoAfterBattleText1 ; 0x4eb6 TextAfterBattle
+ dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle
+ dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle
+
+FightingDojoTrainerHeader1: ; 5ce1f (17:4e1f)
+ db $3 ; flag's bit
+ db ($4 << 4) ; trainer's view range
+ dw $d7b1 ; flag's byte
+ dw FightingDojoBattleText2 ; 0x4ec5 TextBeforeBattle
+ dw FightingDojoAfterBattleText2 ; 0x4ecf TextAfterBattle
+ dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle
+ dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle
+
+FightingDojoTrainerHeader2: ; 5ce2b (17:4e2b)
+ db $4 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d7b1 ; flag's byte
+ dw FightingDojoBattleText3 ; 0x4ede TextBeforeBattle
+ dw FightingDojoAfterBattleText3 ; 0x4ee8 TextAfterBattle
+ dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle
+ dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle
+
+FightingDojoTrainerHeader3: ; 5ce37 (17:4e37)
+ db $5 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d7b1 ; flag's byte
+ dw FightingDojoBattleText4 ; 0x4ef7 TextBeforeBattle
+ dw FightingDojoAfterBattleText4 ; 0x4f01 TextAfterBattle
+ dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle
+ dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle
+
+ db $ff
+
+FightingDojoText1: ; 5ce44 (17:4e44)
+ db $08 ; asm
+ ld a, [$d7b1]
+ bit 0, a
+ jp nz, .continue1
+ bit 1, a
+ jp nz, .continue2
+ ld hl, FightingDojoText_5ce8e
+ call PrintText
+ ld hl, $d72d
+ set 6, [hl]
+ set 7, [hl]
+ ld hl, FightingDojoText_5ce93
+ ld de, FightingDojoText_5ce93
+ call PreBattleSaveRegisters
+ ldh a, [$8c]
+ ld [$cf13], a
+ call EngageMapTrainer
+ call InitBattleEnemyParameters
+ ld a, $3
+ ld [W_FIGHTINGDOJOCURSCRIPT], a
+ ld [W_CURMAPSCRIPT], a
+ jr .asm_9dba4 ; 0x5ce7b
+.continue1 ; 0x5ce7d
+ ld hl, FightingDojoText_5ce9d
+ call PrintText
+ jr .asm_9dba4 ; 0x5ce83
+.continue2 ; 0x5ce85f
+ ld hl, FightingDojoText8
+ call PrintText
+.asm_9dba4 ; 0x5ce8b
+ jp TextScriptEnd
+
+FightingDojoText_5ce8e: ; 5ce8e (17:4e8e)
+ TX_FAR _FightingDojoText_5ce8e
+ db "@"
+
+FightingDojoText_5ce93: ; 5ce93 (17:4e93)
+ TX_FAR _FightingDojoText_5ce93
+ db "@"
+
+FightingDojoText8: ; 5ce98 (17:4e98)
+ TX_FAR _FightingDojoText_5ce98
+ db "@"
+
+FightingDojoText_5ce9d: ; 5ce9d (17:4e9d)
+ TX_FAR _FightingDojoText_5ce9d
+ db "@"
+
+FightingDojoText2: ; 5cea2 (17:4ea2)
+ db $08 ; asm
+ ld hl, FightingDojoTrainerHeader0
+ call TalkToTrainer
+ jp TextScriptEnd
+
+FightingDojoBattleText1: ; 5ceac (17:4eac)
+ TX_FAR _FightingDojoBattleText1
+ db "@"
+
+FightingDojoEndBattleText1: ; 5ceb1 (17:4eb1)
+ TX_FAR _FightingDojoEndBattleText1
+ db "@"
+
+FightingDojoAfterBattleText1: ; 5ceb6 (17:4eb6)
+ TX_FAR _FightingDojoAfterBattleText1
+ db "@"
+
+FightingDojoText3: ; 5cebb (17:4ebb)
+ db $08 ; asm
+ ld hl, FightingDojoTrainerHeader1
+ call TalkToTrainer
+ jp TextScriptEnd
+
+FightingDojoBattleText2: ; 5cec5 (17:4ec5)
+ TX_FAR _FightingDojoBattleText2
+ db "@"
+
+FightingDojoEndBattleText2: ; 5ceca (17:4eca)
+ TX_FAR _FightingDojoEndBattleText2
+ db "@"
+
+FightingDojoAfterBattleText2: ; 5cecf (17:4ecf)
+ TX_FAR _FightingDojoAfterBattleText2
+ db "@"
+
+FightingDojoText4: ; 5ced4 (17:4ed4)
+ db $08 ; asm
+ ld hl, FightingDojoTrainerHeader2
+ call TalkToTrainer
+ jp TextScriptEnd
+
+FightingDojoBattleText3: ; 5cede (17:4ede)
+ TX_FAR _FightingDojoBattleText3
+ db "@"
+
+FightingDojoEndBattleText3: ; 5cee3 (17:4ee3)
+ TX_FAR _FightingDojoEndBattleText3
+ db "@"
+
+FightingDojoAfterBattleText3: ; 5cee8 (17:4ee8)
+ TX_FAR _FightingDojoAfterBattleText3
+ db "@"
+
+FightingDojoText5: ; 5ceed (17:4eed)
+ db $08 ; asm
+ ld hl, FightingDojoTrainerHeader3
+ call TalkToTrainer
+ jp TextScriptEnd
+
+FightingDojoBattleText4: ; 5cef7 (17:4ef7)
+ TX_FAR _FightingDojoBattleText4
+ db "@"
+
+FightingDojoEndBattleText4: ; 5cefc (17:4efc)
+ TX_FAR _FightingDojoEndBattleText4
+ db "@"
+
+FightingDojoAfterBattleText4: ; 5cf01 (17:4f01)
+ TX_FAR _FightingDojoAfterBattleText4
+ db "@"
+
+FightingDojoText6: ; 5cf06 (17:4f06)
+; Hitmonlee Poké Ball
+ db $08 ; asm
+ ld a, [$d7b1]
+ and %11000000
+ jr z, .GetMon
+ ld hl, OtherHitmonText
+ call PrintText
+ jr .done
+.GetMon
+ ld a, HITMONLEE
+ call DisplayPokedex
+ ld hl, WantHitmonleeText
+ call PrintText
+ call YesNoChoice
+ ld a, [$cc26]
+ and a
+ jr nz, .done
+ ld a, [$cf91]
+ ld b, a
+ ld c, 30
+ call GivePokemon
+ jr nc, .done
+
+ ; once Poké Ball is taken, hide sprite
+ ld a, $4a
+ ld [$cc4d], a
+ ld a, $11
+ call Predef
+ ld hl, $d7b1
+ set 6, [hl]
+ set 0, [hl]
+.done
+ jp TextScriptEnd
+
+WantHitmonleeText: ; 5cf49 (17:4f49)
+ TX_FAR _WantHitmonleeText
+ db "@"
+
+FightingDojoText7: ; 5cf4e (17:4f4e)
+; Hitmonchan Poké Ball
+ db $08 ; asm
+ ld a, [$d7b1]
+ and %11000000
+ jr z, .GetMon
+ ld hl, OtherHitmonText
+ call PrintText
+ jr .done
+.GetMon
+ ld a, HITMONCHAN
+ call DisplayPokedex
+ ld hl, WantHitmonchanText
+ call PrintText
+ call YesNoChoice
+ ld a, [$cc26]
+ and a
+ jr nz, .done
+ ld a, [$cf91]
+ ld b, a
+ ld c,30
+ call GivePokemon
+ jr nc, .done
+ ld hl, $d7b1
+ set 7, [hl]
+ set 0, [hl]
+
+ ; once Poké Ball is taken, hide sprite
+ ld a, $4b
+ ld [$cc4d], a
+ ld a, $11
+ call Predef
+.done
+ jp TextScriptEnd
+
+WantHitmonchanText: ; 5cf91 (17:4f91)
+ TX_FAR _WantHitmonchanText
+ db "@"
+
+OtherHitmonText: ; 5cf96 (17:4f96)
+ TX_FAR _OtherHitmonText
+ db "@"