summaryrefslogtreecommitdiff
path: root/engine/battle/moveEffects/haze_effect.asm
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2015-04-09 12:25:29 -0400
committeryenatch <yenatch@gmail.com>2015-04-09 12:25:29 -0400
commit941d2b9eb8a59b42ea71a08b34b25c06477cf36d (patch)
treeb304682416ef55ddb763759cab6d03aeb1af5f55 /engine/battle/moveEffects/haze_effect.asm
parentc2efe700ac1c5cca88bac710b98388a99665741e (diff)
parent9739c26ed7fa89492cbc8609445d292ced48ee65 (diff)
Merge pull request #93 from xCrystal/master
Document some move effects
Diffstat (limited to 'engine/battle/moveEffects/haze_effect.asm')
-rw-r--r--engine/battle/moveEffects/haze_effect.asm29
1 files changed, 17 insertions, 12 deletions
diff --git a/engine/battle/moveEffects/haze_effect.asm b/engine/battle/moveEffects/haze_effect.asm
index 2343e784..14b5f5dd 100644
--- a/engine/battle/moveEffects/haze_effect.asm
+++ b/engine/battle/moveEffects/haze_effect.asm
@@ -1,9 +1,11 @@
HazeEffect_: ; 139da (4:79da)
ld a, $7
+; store 7 on every stat mod
ld hl, wPlayerMonAttackMod
call ResetStatMods
ld hl, wEnemyMonAttackMod
call ResetStatMods
+; copy unmodified stats to battle stats
ld hl, wPlayerMonUnmodifiedAttack
ld de, wBattleMonAttack
call ResetStats
@@ -14,39 +16,42 @@ HazeEffect_: ; 139da (4:79da)
ld de, wEnemySelectedMove
ld a, [H_WHOSETURN]
and a
- jr z, .asm_13a09
+ jr z, .cureStatuses
ld hl, wBattleMonStatus
- dec de
+ dec de ; wPlayerSelectedMove
-.asm_13a09
+.cureStatuses
ld a, [hl]
ld [hl], $0
- and $27
- jr z, .asm_13a13
+ and SLP | (1 << FRZ)
+ jr z, .cureVolatileStatuses
+; prevent the Pokemon from executing a move if it was asleep or frozen
ld a, $ff
ld [de], a
-.asm_13a13
+.cureVolatileStatuses
xor a
ld [W_PLAYERDISABLEDMOVE], a
ld [W_ENEMYDISABLEDMOVE], a
- ld hl, wccee
+ ld hl, wPlayerDisabledMoveNumber
ld [hli], a
ld [hl], a
ld hl, W_PLAYERBATTSTATUS1
- call CureStatuses
+ call CureVolatileStatuses
ld hl, W_ENEMYBATTSTATUS1
- call CureStatuses
+ call CureVolatileStatuses
ld hl, PlayCurrentMoveAnimation
call CallBankF
ld hl, StatusChangesEliminatedText
jp PrintText
-CureStatuses: ; 13a37 (4:7a37)
+CureVolatileStatuses: ; 13a37 (4:7a37)
+; only cures statuses of the Pokemon not using Haze
res Confused, [hl]
inc hl ; BATTSTATUS2
ld a, [hl]
- and (1 << UsingRage) | (1 << NeedsToRecharge) | (1 << HasSubstituteUp) | (1 << 3) ; clear all but these from BATTSTATUS2
+ ; clear UsingXAccuracy, ProtectedByMist, GettingPumped, and Seeded statuses
+ and $ff ^((1 << UsingXAccuracy) | (1 << ProtectedByMist) | (1 << GettingPumped) | (1 << Seeded))
ld [hli], a ; BATTSTATUS3
ld a, [hl]
and %11110000 | (1 << Transformed) ; clear Bad Poison, Reflect and Light Screen statuses
@@ -56,7 +61,7 @@ CureStatuses: ; 13a37 (4:7a37)
ResetStatMods: ; 13a43 (4:7a43)
ld b, $8
.loop
- ld [hli], a
+ ld [hli], a
dec b
jr nz, .loop
ret