From 2b00d49065e01e35bc6ead2fadc2ce7972ed77d0 Mon Sep 17 00:00:00 2001 From: yenatch Date: Fri, 3 May 2013 01:29:57 -0400 Subject: [PATCH] move effect cleanup --- battle/effect_commands.asm | 191 +++++++++++++++++++------------------ constants.asm | 3 + wram.asm | 29 +++--- 3 files changed, 117 insertions(+), 106 deletions(-) diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index d4e283177..a3d8d0523 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -496,7 +496,7 @@ CheckEnemyTurn: ; 3421f .CheckDisabled - ld hl, EnemyEncoreCount + ld hl, EnemyDisableCount ld a, [hl] and a jr z, .CheckConfused @@ -2406,7 +2406,7 @@ BattleCommand09: ; 34d32 push bc call GetOpponentItem ld a, b - cp $4d ; brightpowder + cp HELD_BRIGHTPOWDER ld a, c ; % miss pop bc jr nz, .asm_34d81 @@ -2983,7 +2983,7 @@ BattleCommand0e: ; 3505e .asm_35072 call GetOpponentItem ld a, b - cp $4f + cp HELD_FOCUS_BAND ld b, $0 jr nz, .asm_3508b ; 3507a $f call FarBattleRNG @@ -3020,21 +3020,22 @@ BattleCommand0e: ; 3505e call GetOpponentItem ld a, [hl] ld [$d265], a - call $3468 + call GetItemName ld hl, HungOnText jp FarBattleTextBox .asm_50bb - ld a, $8 + ld a, BATTLE_VARS_SUBSTATUS4_OPP call CleanGetBattleVarPair - bit 4, a + bit SUBSTATUS_SUBSTITUTE, a ret nz - ld de, EnemyDamageTaken + + ld de, PlayerDamageTaken + 1 ld a, [hBattleTurn] and a - jr nz, .asm_350ce ; 0x350c9 $3 - ld de, $c685 + jr nz, .asm_350ce + ld de, EnemyDamageTaken + 1 .asm_350ce ld a, [CurDamage + 1] @@ -3267,7 +3268,7 @@ BattleCommand11: ; 351c0 ld h, b ld l, c ld a, $b - call $2d83 + call Predef call RefreshBattleHuds call SwitchTurn @@ -4516,7 +4517,7 @@ BattleCommand41: ; 35864 ; encore ld hl, EnemyMonMoves - ld de, EnemyPerishCount + ld de, EnemyEncoreCount ld a, [hBattleTurn] and a jr z, .asm_35875 ; 3586d $6 @@ -4649,7 +4650,7 @@ BattleCommand42: ; 35926 ld [$d10a], a ld hl, $c55e ld a, $b - call $2d83 + call Predef ld hl, EnemyMonHPHi ld a, [hli] ld [$d1ed], a @@ -4665,7 +4666,7 @@ BattleCommand42: ; 35926 call ResetDamage ld hl, $c4ca ld a, $b - call $2d83 + call Predef ld a, $5e ld hl, $4000 rst FarCall @@ -4811,7 +4812,7 @@ BattleCommand44: ; 359e6 ld a, [hl] ld [$d265], a ld a, $29 - call $2d83 + call Predef ld hl, $5452 jp FarBattleTextBox .asm_35a50 @@ -5472,7 +5473,7 @@ Function0x35de0: ; 35de0 jr nc, .asm_35e3d .asm_35dff - ld a, $8 + ld a, BATTLE_VARS_SUBSTATUS4_OPP call GetBattleVarPair res 4, [hl] @@ -5481,23 +5482,23 @@ Function0x35de0: ; 35de0 call SwitchTurn call BattleCommanda7 - ld a, $2 + ld a, BATTLE_VARS_SUBSTATUS3 call CleanGetBattleVarPair - and $60 + and $60 ; fly | dig call z, Function0x37ec7 call SwitchTurn ld a, BATTLE_VARS_MOVE_EFFECT call GetBattleVarPair - cp $1d + cp EFFECT_MULTI_HIT jr z, .asm_35e3a - cp $2c + cp EFFECT_DOUBLE_HIT jr z, .asm_35e3a - cp $4d + cp EFFECT_TWINEEDLE jr z, .asm_35e3a - cp $68 + cp EFFECT_TRIPLE_KICK jr z, .asm_35e3a - cp $9a + cp EFFECT_BEAT_UP jr z, .asm_35e3a xor a @@ -5537,7 +5538,7 @@ BattleCommand14: ; 35e5c jr nz, .asm_35e70 ; 35e62 $c ld a, [hl] ld [$d265], a - call $3468 + call GetItemName ld hl, ProtectedByText jr .asm_35ec6 @@ -5692,7 +5693,7 @@ BattleCommand2f: ; 35f2c jr nz, .asm_35f5f ; 35f51 $c ld a, [hl] ld [$d265], a - call $3468 + call GetItemName ld hl, ProtectedByText jr .asm_35fb8 ; 35f5d $59 .asm_35f5f @@ -5761,17 +5762,17 @@ Function0x35fc0: ; 35fc0 Function0x35fc9: ; 35fc9 - ld a, $9 - call $39e7 + ld a, BATTLE_VARS_SUBSTATUS5_OPP + call GetBattleVarPair ld a, [hBattleTurn] and a ld de, $c67c - jr z, .asm_35fd9 ; 0x35fd4 $3 + jr z, .asm_35fd9 ld de, $c674 .asm_35fd9 - ld a, $d + ld a, BATTLE_VARS_MOVE_EFFECT call CleanGetBattleVarPair - cp $21 + cp EFFECT_TOXIC ret ; 35fe1 @@ -5780,23 +5781,23 @@ Function0x35fe1: ; 35fe1 ld de, EnemyMonType1 ld a, [hBattleTurn] and a - jr z, .asm_35fec ; 0x35fe7 $3 + jr z, .asm_35fec ld de, BattleMonType1 .asm_35fec ld a, [de] inc de - cp $3 + cp POISON ret z ld a, [de] - cp $3 + cp POISON ret ; 35ff5 Function0x35ff5: ; 35ff5 - ld a, $b - call $39e7 - set 3, [hl] + ld a, BATTLE_VARS_STATUS_OPP + call GetBattleVarPair + set PSN, [hl] jp UpdateOpponentInParty ; 35fff @@ -6418,27 +6419,27 @@ Function0x36386: ; 36386 Function0x36391: ; 36391 - ld a, $d + ld a, BATTLE_VARS_MOVE_EFFECT call CleanGetBattleVarPair - cp $12 - jr c, .asm_363ae ; 0x36398 $14 - cp $19 - jr c, .asm_363b0 ; 0x3639c $12 - cp $3a - jr c, .asm_363ae ; 0x363a0 $c - cp $41 - jr c, .asm_363b0 ; 0x363a4 $a - cp $44 - jr c, .asm_363ae ; 0x363a8 $4 - cp $4b - jr c, .asm_363b0 ; 0x363ac $2 + cp EFFECT_ATTACK_DOWN + jr c, .asm_363ae + cp EFFECT_EVASION_DOWN + 1 + jr c, .asm_363b0 + cp EFFECT_ATTACK_DOWN_2 + jr c, .asm_363ae + cp EFFECT_EVASION_DOWN_2 + 1 + jr c, .asm_363b0 + cp EFFECT_ATTACK_DOWN_HIT + jr c, .asm_363ae + cp EFFECT_EVASION_DOWN_HIT + 1 + jr c, .asm_363b0 .asm_363ae xor a ret .asm_363b0 - ld a, $8 + ld a, BATTLE_VARS_SUBSTATUS4_OPP call CleanGetBattleVarPair - bit 1, a + bit SUBSTATUS_MIST, a ret ; 363b8 @@ -6937,11 +6938,11 @@ BattleCommand21: ; 36671 ld hl, PlayerRolloutCount ld a, [hBattleTurn] and a - jr z, .asm_36684 ; 3667f $3 + jr z, .asm_36684 ld hl, EnemyRolloutCount .asm_36684 dec [hl] - jr nz, .asm_366dc ; 36685 $55 + jr nz, .asm_366dc ld a, BATTLE_VARS_SUBSTATUS3 call GetBattleVarPair res 0, [hl] @@ -6951,14 +6952,14 @@ BattleCommand21: ; 36671 ld a, BATTLE_VARS_MOVE_POWER call GetBattleVarPair - ld a, $1 + ld a, 1 ld [hl], a - ld hl, EnemyDamageTaken + ld hl, PlayerDamageTaken + 1 ld de, $c732 ld a, [hBattleTurn] and a - jr z, .asm_366ad ; 366a5 $6 - ld hl, $c685 + jr z, .asm_366ad + ld hl, EnemyDamageTaken + 1 ld de, $c733 .asm_366ad ld a, [hld] @@ -6968,23 +6969,24 @@ BattleCommand21: ; 36671 ld a, [hl] rl a ld [CurDamage], a - jr nc, .asm_366c3 ; 366b9 $8 + jr nc, .asm_366c3 ld a, $ff ld [CurDamage], a ld [CurDamage + 1], a .asm_366c3 or b - jr nz, .asm_366cb ; 366c4 $5 - ld a, $1 + jr nz, .asm_366cb + ld a, 1 ld [AttackMissed], a .asm_366cb xor a ld [hli], a ld [hl], a ld [de], a + ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVarPair - ld a, $75 + ld a, BIDE ld [hl], a ld b, $22 ; unleashenergy @@ -8016,7 +8018,7 @@ BattleCommand27: ; 36cb2 .asm_36d0c ld [$d10a], a ld a, $b - call $2d83 + call Predef call RefreshBattleHuds ld hl, RecoilText jp FarBattleTextBox @@ -8053,7 +8055,7 @@ BattleCommand2a: ; 36d3b jr nz, .asm_36d53 ld a, [hl] ld [$d265], a - call $3468 + call GetItemName call Function0x37e77 ld hl, ProtectedByText jp FarBattleTextBox @@ -8150,7 +8152,7 @@ BattleCommand30: ; 36dc7 jr nz, .asm_36def ; 36ddd $10 ld a, [hl] ld [$d265], a - call $3468 + call GetItemName call Function0x37e77 ld hl, ProtectedByText jp FarBattleTextBox @@ -8493,7 +8495,7 @@ BattleCommand37: ; 36fed ld a, [AttackMissed] and a jr nz, .asm_37059 ; 36ff1 $66 - ld de, EnemyEncoreCount + ld de, EnemyDisableCount ld hl, EnemyMonMoves ld a, [hBattleTurn] and a @@ -8976,7 +8978,7 @@ Function0x372e7: ; 372e7 jr z, .player xor a - ld [EnemyEncoreCount], a + ld [EnemyDisableCount], a ld [EnemyEncoredMove], a ret @@ -9360,7 +9362,7 @@ BattleCommand50: ; 37492 ld [hl], a ld [de], a .asm_374f8 - call $3468 + call GetItemName ld hl, StoleText jp FarBattleTextBox @@ -9539,8 +9541,8 @@ Function0x3762c: ; 3762c ld a, [hBattleTurn] and a jr z, .asm_37637 + ld de, $c681 - ld de, PlayerDamageTaken .asm_37637 call Function0x36abf jr nz, .asm_37665 @@ -9596,10 +9598,10 @@ BattleCommand5a: ; 3766f call Function0x3762c ret c -; get substatus1 + ld a, BATTLE_VARS_SUBSTATUS1 call GetBattleVarPair - set 5, [hl] ; endure + set SUBSTATUS_ENDURE, [hl] call Function0x37e01 ld hl, BracedItselfText jp FarBattleTextBox @@ -9612,16 +9614,19 @@ BattleCommand56: ; 37683 ld hl, EnemyScreens ld a, [hBattleTurn] and a - jr z, .asm_3768e ; 37689 $3 + jr z, .asm_3768e ld hl, PlayerScreens + .asm_3768e bit 0, [hl] - jr nz, .asm_3769d ; 37690 $b + jr nz, .failed + set 0, [hl] call Function0x37e01 ld hl, SpikesText jp FarBattleTextBox -.asm_3769d + +.failed jp Function0x37354 ; 376a0 @@ -9631,14 +9636,14 @@ BattleCommand57: ; 376a0 ld a, [AttackMissed] and a - jr nz, .asm_376bf ; 376a4 $19 + jr nz, .asm_376bf call CheckHiddenOpponent - jr nz, .asm_376bf ; 376a9 $14 + jr nz, .asm_376bf ld a, BATTLE_VARS_SUBSTATUS1_OPP call GetBattleVarPair - bit 3, [hl] - jr nz, .asm_376bf ; 376b2 $b - set 3, [hl] + bit SUBSTATUS_IDENTIFIED, [hl] + jr nz, .asm_376bf + set SUBSTATUS_IDENTIFIED, [hl] call Function0x37e01 ld hl, IdentifiedText jp FarBattleTextBox @@ -9652,25 +9657,25 @@ BattleCommand58: ; 376c2 ld hl, PlayerSubStatus1 ld de, EnemySubStatus1 - bit 4, [hl] - jr z, .asm_376d1 ; 376ca $5 + bit SUBSTATUS_PERISH, [hl] + jr z, .asm_376d1 ld a, [de] - bit 4, a - jr nz, .asm_376f2 ; 376cf $21 + bit SUBSTATUS_PERISH, a + jr nz, .asm_376f2 .asm_376d1 - bit 4, [hl] - jr nz, .asm_376dc ; 376d3 $7 - set 4, [hl] - ld a, $4 + bit SUBSTATUS_PERISH, [hl] + jr nz, .asm_376dc + set SUBSTATUS_PERISH, [hl] + ld a, 4 ld [PlayerPerishCount], a .asm_376dc ld a, [de] - bit 4, a - jr nz, .asm_376e9 ; 376df $8 - set 4, a + bit SUBSTATUS_PERISH, a + jr nz, .asm_376e9 + set SUBSTATUS_PERISH, a ld [de], a - ld a, $4 - ld [$c67f], a + ld a, 4 + ld [EnemyPerishCount], a .asm_376e9 call Function0x37e01 ld hl, StartPerishText @@ -9706,13 +9711,13 @@ BattleCommand5b: ; 37718 ld de, PlayerRolloutCount ld a, [hBattleTurn] and a - jr z, .asm_37723 ; 3771e $3 + jr z, .asm_37723 ld de, EnemyRolloutCount .asm_37723 ld a, BATTLE_VARS_SUBSTATUS1 call CleanGetBattleVarPair - bit 6, a - jr z, .asm_37731 ; 3772a $5 + bit SUBSTATUS_ENCORED, a + jr z, .asm_37731 ld b, $4 ; doturn jp SkipToBattleCommand diff --git a/constants.asm b/constants.asm index 7f390e832..2fe1f6ee5 100644 --- a/constants.asm +++ b/constants.asm @@ -3737,6 +3737,7 @@ SUBSTATUS_IN_LOVE EQU 7 SUBSTATUS_ENCORED EQU 6 SUBSTATUS_ENDURE EQU 5 SUBSTATUS_PERISH EQU 4 +SUBSTATUS_IDENTIFIED EQU 3 SUBSTATUS_PROTECT EQU 2 SUBSTATUS_CURSE EQU 1 SUBSTATUS_NIGHTMARE EQU 0 @@ -3756,10 +3757,12 @@ SUBSTATUS_RAGE EQU 6 SUBSTATUS_RECHARGE EQU 5 SUBSTATUS_SUBSTITUTE EQU 4 SUBSTATUS_FOCUS_ENERGY EQU 2 +SUBSTATUS_MIST EQU 1 SUBSTATUS_UNLEASH EQU 0 SUBSTATUS_DESTINY_BOND EQU 6 SUBSTATUS_LOCK_ON EQU 5 +SUBSTATUS_TOXIC EQU 0 ; status diff --git a/wram.asm b/wram.asm index de76fe74f..28ed0d0d0 100644 --- a/wram.asm +++ b/wram.asm @@ -510,7 +510,7 @@ PlayerSubStatus1: ; c668 ; 6 encore ; 5 endure ; 4 perish song -; 3 +; 3 identified ; 2 protect ; 1 curse ; 0 nightmare @@ -528,7 +528,7 @@ PlayerSubStatus2: ; c669 ds 1 PlayerSubStatus3: ; c66a ; bit -; 7 confusion +; 7 confused ; 6 flying ; 5 underground ; 4 charged @@ -545,7 +545,7 @@ PlayerSubStatus4: ; c66b ; 4 substitute ; 3 ; 2 focus energy -; 1 +; 1 mist ; 0 bide: unleashed energy ds 1 PlayerSubStatus5: ; c66c @@ -557,7 +557,7 @@ PlayerSubStatus5: ; c66c ; 3 ; 2 ; 1 -; 0 +; 0 toxic ds 1 EnemySubStatus1: ; c66d @@ -596,20 +596,22 @@ EnemyRolloutCount: ; c67a EnemyConfuseCount: ; c67b ds 1 ds 1 -EnemyEncoreCount: ; c67d +EnemyDisableCount: ; c67d ds 1 -EnemyPerishCount: ; c67e +EnemyEncoreCount: ; c67e ds 1 +EnemyPerishCount: ; c67f ds 1 EnemyFuryCutterCount: ; c680 ds 1 + ds 1 -PlayerDamageTaken: ; c681 +PlayerDamageTaken: ; c682 ds 2 -EnemyDamageTaken: ; c683 +EnemyDamageTaken: ; c684 ds 2 - ds 4 + ds 3 ds 1 @@ -706,13 +708,14 @@ AlreadyFailed: ; c6fb ds 3 PlayerScreens: ; c6ff -; bit 4: reflect -; bit 3: light screen +; bit +; 4 reflect +; 3 light screen +; 0 spikes ds 1 EnemyScreens: ; c700 -; bit 4: reflect -; bit 3: light screen +; see PlayerScreens ds 1 ds 1