shithub: pokered

Download patch

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