From 2220ed0e9fce6ea67ed9a1fdc61651ca07f36196 Mon Sep 17 00:00:00 2001 From: fakuzatsu Date: Sat, 27 Sep 2025 09:11:24 +0100 Subject: [PATCH 1/2] fix critical hit (maybe) --- src/battle_script_commands.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a7256eb31705..2ff53a5a6bff 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1970,6 +1970,9 @@ s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordA critChance = CRITICAL_HIT_BLOCKED; } + if (critChance != CRITICAL_HIT_ALWAYS) + critChance = CRITICAL_HIT_BLOCKED; + return critChance; } From 51bec1cef0d600e07d86b33a3240b324e3e9d613 Mon Sep 17 00:00:00 2001 From: fakuzatsu Date: Sat, 27 Sep 2025 09:13:10 +0100 Subject: [PATCH 2/2] disable crits for sure --- src/battle_script_commands.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 2ff53a5a6bff..bdcaed90277d 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2078,6 +2078,8 @@ static void Cmd_critcalc(void) gSpecialStatuses[battlerDef].criticalHit = FALSE; else if (gBattleStruct->critChance[battlerDef] == -2) gSpecialStatuses[battlerDef].criticalHit = TRUE; + else if (PlayerIsDitto()) // Disable non-guarenteed crits + gSpecialStatuses[battlerDef].criticalHit = FALSE; else { if (GetGenConfig(GEN_CONFIG_CRIT_CHANCE) == GEN_1)