aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSylvie <35663410+Rangi42@users.noreply.github.com>2024-11-24 19:13:11 -0500
committerGitHub <noreply@github.com>2024-11-24 19:13:11 -0500
commitf801d67f8e9b1a7f690a0b6e1549c5811ac015cd (patch)
tree2d9e6319f54214886123160128fc43d4a023ec83
parentGitHub Actions needs libpng-dev installed for rgbds (diff)
downloadpokeyellow-f801d67f8e9b1a7f690a0b6e1549c5811ac015cd.tar.gz
pokeyellow-f801d67f8e9b1a7f690a0b6e1549c5811ac015cd.tar.xz
pokeyellow-f801d67f8e9b1a7f690a0b6e1549c5811ac015cd.zip
Assert the relations between some move effect constants (#478)
-rw-r--r--constants/move_effect_constants.asm4
-rw-r--r--data/moves/effects_pointers.asm4
-rw-r--r--data/moves/moves.asm6
-rw-r--r--engine/battle/effects.asm8
4 files changed, 12 insertions, 10 deletions
diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm
index 8f33ece3..6914fafd 100644
--- a/constants/move_effect_constants.asm
+++ b/constants/move_effect_constants.asm
@@ -9,7 +9,7 @@
const POISON_SIDE_EFFECT1 ; $02
const DRAIN_HP_EFFECT ; $03
const BURN_SIDE_EFFECT1 ; $04
- const FREEZE_SIDE_EFFECT ; $05
+ const FREEZE_SIDE_EFFECT1 ; $05
const PARALYZE_SIDE_EFFECT1 ; $06
const EXPLODE_EFFECT ; $07 Explosion, Self Destruct
const DREAM_EATER_EFFECT ; $08
@@ -39,7 +39,7 @@
const SLEEP_EFFECT ; $20
const POISON_SIDE_EFFECT2 ; $21
const BURN_SIDE_EFFECT2 ; $22
- const_skip ; $23
+ const FREEZE_SIDE_EFFECT2 ; $23 unused (Blizzard in JP Red/Green)
const PARALYZE_SIDE_EFFECT2 ; $24
const FLINCH_SIDE_EFFECT2 ; $25
const OHKO_EFFECT ; $26 moves like Horn Drill
diff --git a/data/moves/effects_pointers.asm b/data/moves/effects_pointers.asm
index c33a5fd6..63350efc 100644
--- a/data/moves/effects_pointers.asm
+++ b/data/moves/effects_pointers.asm
@@ -5,7 +5,7 @@ MoveEffectPointerTable:
dw PoisonEffect ; POISON_SIDE_EFFECT1
dw DrainHPEffect ; DRAIN_HP_EFFECT
dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT1
- dw FreezeBurnParalyzeEffect ; FREEZE_SIDE_EFFECT
+ dw FreezeBurnParalyzeEffect ; FREEZE_SIDE_EFFECT1
dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT1
dw ExplodeEffect ; EXPLODE_EFFECT
dw DrainHPEffect ; DREAM_EATER_EFFECT
@@ -35,7 +35,7 @@ MoveEffectPointerTable:
dw SleepEffect ; SLEEP_EFFECT
dw PoisonEffect ; POISON_SIDE_EFFECT2
dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT2
- dw FreezeBurnParalyzeEffect ; unused effect
+ dw FreezeBurnParalyzeEffect ; FREEZE_SIDE_EFFECT2
dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT2
dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2
dw OneHitKOEffect ; OHKO_EFFECT
diff --git a/data/moves/moves.asm b/data/moves/moves.asm
index c32a89cb..e59ed007 100644
--- a/data/moves/moves.asm
+++ b/data/moves/moves.asm
@@ -18,7 +18,7 @@ Moves:
move MEGA_PUNCH, NO_ADDITIONAL_EFFECT, 80, NORMAL, 85, 20
move PAY_DAY, PAY_DAY_EFFECT, 40, NORMAL, 100, 20
move FIRE_PUNCH, BURN_SIDE_EFFECT1, 75, FIRE, 100, 15
- move ICE_PUNCH, FREEZE_SIDE_EFFECT, 75, ICE, 100, 15
+ move ICE_PUNCH, FREEZE_SIDE_EFFECT1, 75, ICE, 100, 15
move THUNDERPUNCH, PARALYZE_SIDE_EFFECT1, 75, ELECTRIC, 100, 15
move SCRATCH, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35
move VICEGRIP, NO_ADDITIONAL_EFFECT, 55, NORMAL, 100, 30
@@ -68,8 +68,8 @@ Moves:
move WATER_GUN, NO_ADDITIONAL_EFFECT, 40, WATER, 100, 25
move HYDRO_PUMP, NO_ADDITIONAL_EFFECT, 120, WATER, 80, 5
move SURF, NO_ADDITIONAL_EFFECT, 95, WATER, 100, 15
- move ICE_BEAM, FREEZE_SIDE_EFFECT, 95, ICE, 100, 10
- move BLIZZARD, FREEZE_SIDE_EFFECT, 120, ICE, 90, 5
+ move ICE_BEAM, FREEZE_SIDE_EFFECT1, 95, ICE, 100, 10
+ move BLIZZARD, FREEZE_SIDE_EFFECT1, 120, ICE, 90, 5
move PSYBEAM, CONFUSION_SIDE_EFFECT, 65, PSYCHIC_TYPE, 100, 20
move BUBBLEBEAM, SPEED_DOWN_SIDE_EFFECT, 65, WATER, 100, 20
move AURORA_BEAM, ATTACK_DOWN_SIDE_EFFECT, 65, ICE, 100, 20
diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm
index 95c8706f..47b13311 100644
--- a/engine/battle/effects.asm
+++ b/engine/battle/effects.asm
@@ -216,7 +216,9 @@ FreezeBurnParalyzeEffect:
jr c, .regular_effectiveness
; extra effectiveness
ld b, 30 percent + 1
- sub BURN_SIDE_EFFECT2 - BURN_SIDE_EFFECT1 ; treat extra effective as regular from now on
+ assert PARALYZE_SIDE_EFFECT2 - PARALYZE_SIDE_EFFECT1 == BURN_SIDE_EFFECT2 - BURN_SIDE_EFFECT1
+ assert PARALYZE_SIDE_EFFECT2 - PARALYZE_SIDE_EFFECT1 == FREEZE_SIDE_EFFECT2 - FREEZE_SIDE_EFFECT1
+ sub PARALYZE_SIDE_EFFECT2 - PARALYZE_SIDE_EFFECT1 ; treat extra effective as regular from now on
.regular_effectiveness
push af
call BattleRandom ; get random 8bit value for probability test
@@ -226,7 +228,7 @@ FreezeBurnParalyzeEffect:
ld a, b ; what type of effect is this?
cp BURN_SIDE_EFFECT1
jr z, .burn1
- cp FREEZE_SIDE_EFFECT
+ cp FREEZE_SIDE_EFFECT1
jr z, .freeze1
; .paralyze1
ld a, 1 << PAR
@@ -279,7 +281,7 @@ FreezeBurnParalyzeEffect:
ld a, b
cp BURN_SIDE_EFFECT1
jr z, .burn2
- cp FREEZE_SIDE_EFFECT
+ cp FREEZE_SIDE_EFFECT1
jr z, .freeze2
; .paralyze2
ld a, 1 << PAR