ref: 58d08bff4386815b83c9260bd831719507acfcec
parent: fc899e1906a9a245e94dafa7c0da2ef1697b7335
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Tue Nov 2 15:57:08 EDT 2021
Identify some percentage constant values
--- a/engine/battle/animations.asm
+++ b/engine/battle/animations.asm
@@ -653,7 +653,7 @@
DoBallTossSpecialEffects:
ld a, [wcf91]
- cp 3 ; is it a Master Ball or Ultra Ball?
+ cp ULTRA_BALL + 1 ; is it a Master Ball or Ultra Ball?
jr nc, .skipFlashingEffect
.flashingEffect ; do a flashing effect if it's Master Ball or Ultra Ball
ldh a, [rOBP0]
@@ -668,7 +668,7 @@
call PlaySound
.skipPlayingSound
ld a, [wIsInBattle]
- cp 02 ; is it a trainer battle?
+ cp 2 ; is it a trainer battle?
jr z, .isTrainerBattle
ld a, [wd11e]
cp $10 ; is the enemy pokemon the Ghost Marowak?
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -402,12 +402,12 @@
cp USING_INTERNAL_CLOCK
jr z, .invertOutcome
call BattleRandom
- cp $80
+ cp 50 percent + 1
jr c, .playerMovesFirst
jr .enemyMovesFirst
.invertOutcome
call BattleRandom
- cp $80
+ cp 50 percent + 1
jr c, .enemyMovesFirst
jr .playerMovesFirst
.enemyMovesFirst
@@ -1319,7 +1319,7 @@
ld [wWhichPokemon], a
jr .next3
.next
- ld b, $FF
+ ld b, $ff
.next2
inc b
ld a, [wEnemyMonPartyPos]
@@ -2962,19 +2962,19 @@
.chooseRandomMove
push hl
call BattleRandom
- ld b, $1
- cp $3f ; select move 1, [0,3e] (63/256 chance)
+ ld b, 1 ; 25% chance to select move 1
+ cp 25 percent
jr c, .moveChosen
inc hl
- inc b
- cp $7f ; select move 2, [3f,7e] (64/256 chance)
+ inc b ; 25% chance to select move 2
+ cp 50 percent
jr c, .moveChosen
inc hl
- inc b
- cp $be ; select move 3, [7f,bd] (63/256 chance)
+ inc b ; 25% chance to select move 3
+ cp 75 percent - 1
jr c, .moveChosen
inc hl
- inc b ; select move 4, [be,ff] (66/256 chance)
+ inc b ; 25% chance to select move 4
.moveChosen
ld a, b
dec a
@@ -3398,7 +3398,7 @@
ld a, CONF_ANIM - 1
call PlayMoveAnimation
call BattleRandom
- cp $80 ; 50% chance to hurt itself
+ cp 50 percent + 1 ; chance to hurt itself
jr c, .TriedToUseDisabledMoveCheck
ld hl, wPlayerBattleStatus1
ld a, [hl]
@@ -4607,7 +4607,7 @@
dec hl
ld c, [hl] ; read move id
ld a, [de]
- bit GETTING_PUMPED, a ; test for focus energy
+ bit GETTING_PUMPED, a ; test for focus energy
jr nz, .focusEnergyUsed ; bug: using focus energy causes a shift to the right instead of left,
; resulting in 1/4 the usual crit chance
sla b ; (effective (base speed/2)*2)
@@ -5932,7 +5932,7 @@
bit PAR, [hl]
jr z, .checkIfUsingBide
call BattleRandom
- cp $3f ; 25% to be fully paralysed
+ cp 25 percent ; chance to be fully paralysed
jr nc, .checkIfUsingBide
ld hl, FullyParalyzedText
call PrintText
--- a/engine/battle/effects.asm
+++ b/engine/battle/effects.asm
@@ -98,10 +98,10 @@
jr z, .noEffect
ld a, [de]
cp POISON_SIDE_EFFECT1
- ld b, $34 ; ~20% chance of poisoning
+ ld b, 20 percent + 1 ; chance of poisoning
jr z, .sideEffectTest
cp POISON_SIDE_EFFECT2
- ld b, $67 ; ~40% chance of poisoning
+ ld b, 40 percent + 1 ; chance of poisoning
jr z, .sideEffectTest
push hl
push de
@@ -548,7 +548,7 @@
cp LINK_STATE_BATTLING
jr z, .statModifierDownEffect
call BattleRandom
- cp $40 ; 1/4 chance to miss by in regular battle
+ cp 25 percent + 1 ; chance to miss by in regular battle
jp c, MoveMissed
.statModifierDownEffect
call CheckTargetSubstitute ; can't hit through substitute
@@ -557,7 +557,7 @@
cp ATTACK_DOWN_SIDE_EFFECT
jr c, .nonSideEffect
call BattleRandom
- cp $55 ; 85/256 chance for side effects
+ cp 33 percent + 1 ; chance for side effects
jp nc, CantLowerAnymore
ld a, [de]
sub ATTACK_DOWN_SIDE_EFFECT ; map each stat to 0-3
@@ -979,9 +979,9 @@
.flinchSideEffect
ld a, [de]
cp FLINCH_SIDE_EFFECT1
- ld b, $1a ; ~10% chance of flinch
+ ld b, 10 percent + 1 ; chance of flinch (FLINCH_SIDE_EFFECT1)
jr z, .gotEffectChance
- ld b, $4d ; ~30% chance of flinch
+ ld b, 30 percent + 1 ; chance of flinch otherwise
.gotEffectChance
call BattleRandom
cp b
@@ -1111,7 +1111,7 @@
ConfusionSideEffect:
call BattleRandom
- cp $19 ; ~10% chance
+ cp 10 percent ; chance of confusion
ret nc
jr ConfusionSideEffectSuccess