diff options
Diffstat (limited to 'scripts/fightingdojo.asm')
-rwxr-xr-x | scripts/fightingdojo.asm | 234 |
1 files changed, 111 insertions, 123 deletions
diff --git a/scripts/fightingdojo.asm b/scripts/fightingdojo.asm index e26da1b1..fa0cdca2 100755 --- a/scripts/fightingdojo.asm +++ b/scripts/fightingdojo.asm @@ -1,90 +1,86 @@ -FightingDojoScript: ; 5cd5d (17:4d5d) +FightingDojoScript: call EnableAutoTextBoxDrawing - ld hl, FightingDojoTrainerHeaders + ld hl, FightingDojoTrainerHeader0 ld de, FightingDojoScriptPointers - ld a, [W_FIGHTINGDOJOCURSCRIPT] + ld a, [wFightingDojoCurScript] call ExecuteCurMapScriptInTable - ld [W_FIGHTINGDOJOCURSCRIPT], a + ld [wFightingDojoCurScript], a ret -FightingDojoScript_5cd70: ; 5cd70 (17:4d70) +FightingDojoScript_5cd70: xor a ld [wJoyIgnore], a - ld [W_FIGHTINGDOJOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wFightingDojoCurScript], a + ld [wCurMapScript], a ret -FightingDojoScriptPointers: ; 5cd7b (17:4d7b) +FightingDojoScriptPointers: dw FightingDojoScript1 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw FightingDojoScript3 -FightingDojoScript1: ; 5cd83 (17:4d83) - ld a, [wd7b1] - bit 0, a +FightingDojoScript1: + CheckEvent EVENT_DEFEATED_FIGHTING_DOJO ret nz call CheckFightingMapTrainers ld a, [wTrainerHeaderFlagBit] and a ret nz - ld a, [wd7b1] - bit 1, a + CheckEvent EVENT_BEAT_KARATE_MASTER ret nz xor a ld [hJoyHeld], a ld [wcf0d], a - ld a, [W_YCOORD] + ld a, [wYCoord] cp $3 ret nz - ld a, [W_XCOORD] + ld a, [wXCoord] cp $4 ret nz ld a, $1 ld [wcf0d], a + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a ld a, $1 - ld [wd528], a - ld a, $1 - ld [$ff8c], a - ld a, $8 - ld [$ff8d], a + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_LEFT + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID ret -FightingDojoScript3: ; 5cdc6 (17:4dc6) - ld a, [W_ISINBATTLE] +FightingDojoScript3: + ld a, [wIsInBattle] cp $ff jp z, FightingDojoScript_5cd70 ld a, [wcf0d] and a jr z, .asm_5cde4 + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a ld a, $1 - ld [wd528], a - ld a, $1 - ld [$ff8c], a - ld a, $8 - ld [$ff8d], a + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_LEFT + ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay .asm_5cde4 ld a, $f0 ld [wJoyIgnore], a - ld a, [wd7b1] - or $3e - ld [wd7b1], a + SetEventRange EVENT_BEAT_KARATE_MASTER, EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 ld a, $8 - ld [$ff8c], a + ld [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a - ld [W_FIGHTINGDOJOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wFightingDojoCurScript], a + ld [wCurMapScript], a ret -FightingDojoTextPointers: ; 5ce03 (17:4e03) +FightingDojoTextPointers: dw FightingDojoText1 dw FightingDojoText2 dw FightingDojoText3 @@ -94,51 +90,49 @@ FightingDojoTextPointers: ; 5ce03 (17:4e03) dw FightingDojoText7 dw FightingDojoText8 -FightingDojoTrainerHeaders: ; 5ce13 (17:4e13) -FightingDojoTrainerHeader0: ; 5ce13 (17:4e13) - db $2 ; flag's bit +FightingDojoTrainerHeader0: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7b1 ; 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 + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 + dw FightingDojoBattleText1 ; TextBeforeBattle + dw FightingDojoAfterBattleText1 ; TextAfterBattle + dw FightingDojoEndBattleText1 ; TextEndBattle + dw FightingDojoEndBattleText1 ; TextEndBattle + +FightingDojoTrainerHeader1: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7b1 ; 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 + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 + dw FightingDojoBattleText2 ; TextBeforeBattle + dw FightingDojoAfterBattleText2 ; TextAfterBattle + dw FightingDojoEndBattleText2 ; TextEndBattle + dw FightingDojoEndBattleText2 ; TextEndBattle + +FightingDojoTrainerHeader2: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd7b1 ; 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 + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 + dw FightingDojoBattleText3 ; TextBeforeBattle + dw FightingDojoAfterBattleText3 ; TextAfterBattle + dw FightingDojoEndBattleText3 ; TextEndBattle + dw FightingDojoEndBattleText3 ; TextEndBattle + +FightingDojoTrainerHeader3: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd7b1 ; flag's byte - dw FightingDojoBattleText4 ; 0x4ef7 TextBeforeBattle - dw FightingDojoAfterBattleText4 ; 0x4f01 TextAfterBattle - dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle - dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 + dw FightingDojoBattleText4 ; TextBeforeBattle + dw FightingDojoAfterBattleText4 ; TextAfterBattle + dw FightingDojoEndBattleText4 ; TextEndBattle + dw FightingDojoEndBattleText4 ; TextEndBattle db $ff -FightingDojoText1: ; 5ce44 (17:4e44) - db $08 ; asm - ld a, [wd7b1] - bit 0, a +FightingDojoText1: + TX_ASM + CheckEvent EVENT_DEFEATED_FIGHTING_DOJO jp nz, .continue1 - bit 1, a + CheckEventReuseA EVENT_BEAT_KARATE_MASTER jp nz, .continue2 ld hl, FightingDojoText_5ce8e call PrintText @@ -148,117 +142,116 @@ FightingDojoText1: ; 5ce44 (17:4e44) ld hl, FightingDojoText_5ce93 ld de, FightingDojoText_5ce93 call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $3 - ld [W_FIGHTINGDOJOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - jr .asm_9dba4 ; 0x5ce7b -.continue1 ; 0x5ce7d + ld [wFightingDojoCurScript], a + ld [wCurMapScript], a + jr .asm_9dba4 +.continue1 ld hl, FightingDojoText_5ce9d call PrintText - jr .asm_9dba4 ; 0x5ce83 -.continue2 ; 0x5ce85f + jr .asm_9dba4 +.continue2 ld hl, FightingDojoText8 call PrintText -.asm_9dba4 ; 0x5ce8b +.asm_9dba4 jp TextScriptEnd -FightingDojoText_5ce8e: ; 5ce8e (17:4e8e) +FightingDojoText_5ce8e: TX_FAR _FightingDojoText_5ce8e db "@" -FightingDojoText_5ce93: ; 5ce93 (17:4e93) +FightingDojoText_5ce93: TX_FAR _FightingDojoText_5ce93 db "@" -FightingDojoText8: ; 5ce98 (17:4e98) +FightingDojoText8: TX_FAR _FightingDojoText_5ce98 db "@" -FightingDojoText_5ce9d: ; 5ce9d (17:4e9d) +FightingDojoText_5ce9d: TX_FAR _FightingDojoText_5ce9d db "@" -FightingDojoText2: ; 5cea2 (17:4ea2) - db $08 ; asm +FightingDojoText2: + TX_ASM ld hl, FightingDojoTrainerHeader0 call TalkToTrainer jp TextScriptEnd -FightingDojoBattleText1: ; 5ceac (17:4eac) +FightingDojoBattleText1: TX_FAR _FightingDojoBattleText1 db "@" -FightingDojoEndBattleText1: ; 5ceb1 (17:4eb1) +FightingDojoEndBattleText1: TX_FAR _FightingDojoEndBattleText1 db "@" -FightingDojoAfterBattleText1: ; 5ceb6 (17:4eb6) +FightingDojoAfterBattleText1: TX_FAR _FightingDojoAfterBattleText1 db "@" -FightingDojoText3: ; 5cebb (17:4ebb) - db $08 ; asm +FightingDojoText3: + TX_ASM ld hl, FightingDojoTrainerHeader1 call TalkToTrainer jp TextScriptEnd -FightingDojoBattleText2: ; 5cec5 (17:4ec5) +FightingDojoBattleText2: TX_FAR _FightingDojoBattleText2 db "@" -FightingDojoEndBattleText2: ; 5ceca (17:4eca) +FightingDojoEndBattleText2: TX_FAR _FightingDojoEndBattleText2 db "@" -FightingDojoAfterBattleText2: ; 5cecf (17:4ecf) +FightingDojoAfterBattleText2: TX_FAR _FightingDojoAfterBattleText2 db "@" -FightingDojoText4: ; 5ced4 (17:4ed4) - db $08 ; asm +FightingDojoText4: + TX_ASM ld hl, FightingDojoTrainerHeader2 call TalkToTrainer jp TextScriptEnd -FightingDojoBattleText3: ; 5cede (17:4ede) +FightingDojoBattleText3: TX_FAR _FightingDojoBattleText3 db "@" -FightingDojoEndBattleText3: ; 5cee3 (17:4ee3) +FightingDojoEndBattleText3: TX_FAR _FightingDojoEndBattleText3 db "@" -FightingDojoAfterBattleText3: ; 5cee8 (17:4ee8) +FightingDojoAfterBattleText3: TX_FAR _FightingDojoAfterBattleText3 db "@" -FightingDojoText5: ; 5ceed (17:4eed) - db $08 ; asm +FightingDojoText5: + TX_ASM ld hl, FightingDojoTrainerHeader3 call TalkToTrainer jp TextScriptEnd -FightingDojoBattleText4: ; 5cef7 (17:4ef7) +FightingDojoBattleText4: TX_FAR _FightingDojoBattleText4 db "@" -FightingDojoEndBattleText4: ; 5cefc (17:4efc) +FightingDojoEndBattleText4: TX_FAR _FightingDojoEndBattleText4 db "@" -FightingDojoAfterBattleText4: ; 5cf01 (17:4f01) +FightingDojoAfterBattleText4: TX_FAR _FightingDojoAfterBattleText4 db "@" -FightingDojoText6: ; 5cf06 (17:4f06) +FightingDojoText6: ; Hitmonlee Poké Ball - db $08 ; asm - ld a, [wd7b1] - and %11000000 + TX_ASM + CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN jr z, .GetMon ld hl, OtherHitmonText call PrintText @@ -280,23 +273,20 @@ FightingDojoText6: ; 5cf06 (17:4f06) ; once Poké Ball is taken, hide sprite ld a, HS_FIGHTING_DOJO_GIFT_1 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject - ld hl, wd7b1 - set 6, [hl] - set 0, [hl] + SetEvents EVENT_GOT_HITMONLEE, EVENT_DEFEATED_FIGHTING_DOJO .done jp TextScriptEnd -WantHitmonleeText: ; 5cf49 (17:4f49) +WantHitmonleeText: TX_FAR _WantHitmonleeText db "@" -FightingDojoText7: ; 5cf4e (17:4f4e) +FightingDojoText7: ; Hitmonchan Poké Ball - db $08 ; asm - ld a, [wd7b1] - and %11000000 + TX_ASM + CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN jr z, .GetMon ld hl, OtherHitmonText call PrintText @@ -315,21 +305,19 @@ FightingDojoText7: ; 5cf4e (17:4f4e) ld c,30 call GivePokemon jr nc, .done - ld hl, wd7b1 - set 7, [hl] - set 0, [hl] + SetEvents EVENT_GOT_HITMONCHAN, EVENT_DEFEATED_FIGHTING_DOJO ; once Poké Ball is taken, hide sprite ld a, HS_FIGHTING_DOJO_GIFT_2 - ld [wcc4d], a + ld [wMissableObjectIndex], a predef HideObject .done jp TextScriptEnd -WantHitmonchanText: ; 5cf91 (17:4f91) +WantHitmonchanText: TX_FAR _WantHitmonchanText db "@" -OtherHitmonText: ; 5cf96 (17:4f96) +OtherHitmonText: TX_FAR _OtherHitmonText db "@" |