From 282ecca47d2d52842a53bb18d8476f5c502544d5 Mon Sep 17 00:00:00 2001 From: RedstonewolfX <108761527+RedstonewolfX@users.noreply.github.com> Date: Sun, 8 Sep 2024 16:18:23 -0400 Subject: [PATCH] Fix RNG break --- src/field/pokemon.ts | 5 +++-- src/ui/fight-ui-handler.ts | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 0c948ee728d..007023e2b31 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -2285,7 +2285,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } else { const critChance = [24, 8, 2, 1][Math.max(0, Math.min(this.getCritStage(source, move), 3))]; isCritical = critChance === 1; - if (simulated) { + if (!simulated) { isCritical = critChance === 1 || !this.scene.randBattleSeedInt(critChance); } if (Overrides.NEVER_CRIT_OVERRIDE) { @@ -2378,7 +2378,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (!isTypeImmune) { const levelMultiplier = (2 * source.level / 5 + 2); - const randomMultiplier = (this.randSeedIntRange(85, 100, "Random damage roll") / 100); + var randRoll = simulated ? 1 : this.randSeedIntRange(85, 100, "Random damage roll") + const randomMultiplier = (randRoll / 100); damage.value = Utils.toDmgValue((((levelMultiplier * power * sourceAtk.value / targetDef.value) / 50) + 2) * stabMultiplier.value * typeMultiplier diff --git a/src/ui/fight-ui-handler.ts b/src/ui/fight-ui-handler.ts index 2e805878cb7..1eba555f078 100644 --- a/src/ui/fight-ui-handler.ts +++ b/src/ui/fight-ui-handler.ts @@ -398,7 +398,8 @@ export default class FightUiHandler extends UiHandler { if (this.scene.damageDisplay == "Percent") return target.getMoveEffectiveness(user, move.getMove(), false, true) + "x - " + (dmgLowP == dmgHighP ? dmgLowP + "%" + qSuffix : dmgLowP + "%-" + dmgHighP + "%" + qSuffix) + koText if (this.scene.damageDisplay == "Value") - return target.getMoveEffectiveness(user, move.getMove(), false, true) + "x" + ((Math.floor(dmgLow) >= target.hp) ? " (KO)" : "") + return target.getMoveEffectiveness(user, move.getMove(), false, true) + "x - " + (dmgLowP == dmgHighP ? dmgLowP + "%" + qSuffix : dmgLowP + "%-" + dmgHighP + "%" + qSuffix) + koText + //return target.getMoveEffectiveness(user, move.getMove(), false, true) + "x" + ((Math.floor(dmgLow) >= target.hp) ? " (KO)" : "") if (this.scene.damageDisplay == "Off") return target.getMoveEffectiveness(user, move.getMove(), false, true) + "x" + ((Math.floor(dmgLow) >= target.hp) ? " (KO)" : "") }