From ab56064e9355aaee466ab9e22985084bd2437d96 Mon Sep 17 00:00:00 2001 From: Prof-Holon Date: Sat, 13 Jun 2026 13:15:56 +0100 Subject: [PATCH] Updates to type chart --- src/battle_main.c | 14 ++++++-------- src/battle_script_commands.c | 8 ++++---- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/battle_main.c b/src/battle_main.c index a9dd3e110..d51aae738 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -309,7 +309,7 @@ static const s8 sPlayerThrowXTranslation[] = { -32, -16, -16, -32, -32, 0, 0, 0 // 10 is ×1.0 TYPE_MUL_NORMAL // 05 is ×0.5 TYPE_MUL_NOT_EFFECTIVE // 00 is ×0.0 TYPE_MUL_NO_EFFECT -const u8 gTypeEffectiveness[336] = +const u8 gTypeEffectiveness[330] = { TYPE_NORMAL, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE, TYPE_NORMAL, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, @@ -318,7 +318,6 @@ const u8 gTypeEffectiveness[336] = TYPE_FIRE, TYPE_GRASS, TYPE_MUL_SUPER_EFFECTIVE, TYPE_FIRE, TYPE_ICE, TYPE_MUL_SUPER_EFFECTIVE, TYPE_FIRE, TYPE_BUG, TYPE_MUL_SUPER_EFFECTIVE, - TYPE_FIRE, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE, TYPE_FIRE, TYPE_DRAGON, TYPE_MUL_NOT_EFFECTIVE, TYPE_FIRE, TYPE_STEEL, TYPE_MUL_SUPER_EFFECTIVE, TYPE_WATER, TYPE_FIRE, TYPE_MUL_SUPER_EFFECTIVE, @@ -340,7 +339,6 @@ const u8 gTypeEffectiveness[336] = TYPE_GRASS, TYPE_GROUND, TYPE_MUL_SUPER_EFFECTIVE, TYPE_GRASS, TYPE_FLYING, TYPE_MUL_NOT_EFFECTIVE, TYPE_GRASS, TYPE_BUG, TYPE_MUL_NOT_EFFECTIVE, - TYPE_GRASS, TYPE_ROCK, TYPE_MUL_SUPER_EFFECTIVE, TYPE_GRASS, TYPE_DRAGON, TYPE_MUL_NOT_EFFECTIVE, TYPE_GRASS, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, TYPE_ICE, TYPE_WATER, TYPE_MUL_NOT_EFFECTIVE, @@ -383,7 +381,7 @@ const u8 gTypeEffectiveness[336] = TYPE_PSYCHIC, TYPE_FIGHTING, TYPE_MUL_SUPER_EFFECTIVE, TYPE_PSYCHIC, TYPE_POISON, TYPE_MUL_SUPER_EFFECTIVE, TYPE_PSYCHIC, TYPE_PSYCHIC, TYPE_MUL_NOT_EFFECTIVE, - TYPE_PSYCHIC, TYPE_DARK, TYPE_MUL_NO_EFFECT, + TYPE_PSYCHIC, TYPE_GHOST, TYPE_MUL_NO_EFFECT, TYPE_PSYCHIC, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, TYPE_BUG, TYPE_FIRE, TYPE_MUL_NOT_EFFECTIVE, TYPE_BUG, TYPE_GRASS, TYPE_MUL_SUPER_EFFECTIVE, @@ -391,7 +389,7 @@ const u8 gTypeEffectiveness[336] = TYPE_BUG, TYPE_POISON, TYPE_MUL_SUPER_EFFECTIVE, TYPE_BUG, TYPE_FLYING, TYPE_MUL_NOT_EFFECTIVE, TYPE_BUG, TYPE_PSYCHIC, TYPE_MUL_SUPER_EFFECTIVE, - TYPE_BUG, TYPE_GHOST, TYPE_MUL_NOT_EFFECTIVE, + TYPE_BUG, TYPE_GHOST, TYPE_MUL_SUPER_EFFECTIVE, TYPE_BUG, TYPE_DARK, TYPE_MUL_SUPER_EFFECTIVE, TYPE_BUG, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, TYPE_ROCK, TYPE_FIRE, TYPE_MUL_SUPER_EFFECTIVE, @@ -408,17 +406,17 @@ const u8 gTypeEffectiveness[336] = TYPE_GHOST, TYPE_GHOST, TYPE_MUL_SUPER_EFFECTIVE, TYPE_DRAGON, TYPE_DRAGON, TYPE_MUL_SUPER_EFFECTIVE, TYPE_DRAGON, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, - TYPE_DARK, TYPE_FIGHTING, TYPE_MUL_NOT_EFFECTIVE, + TYPE_GHOST, TYPE_FIGHTING, TYPE_MUL_NOT_EFFECTIVE, TYPE_DARK, TYPE_PSYCHIC, TYPE_MUL_SUPER_EFFECTIVE, TYPE_DARK, TYPE_GHOST, TYPE_MUL_SUPER_EFFECTIVE, TYPE_DARK, TYPE_DARK, TYPE_MUL_NOT_EFFECTIVE, TYPE_DARK, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, TYPE_STEEL, TYPE_FIRE, TYPE_MUL_NOT_EFFECTIVE, TYPE_STEEL, TYPE_WATER, TYPE_MUL_NOT_EFFECTIVE, - TYPE_STEEL, TYPE_ELECTRIC, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ROCK, TYPE_ELECTRIC, TYPE_MUL_NOT_EFFECTIVE, TYPE_STEEL, TYPE_ICE, TYPE_MUL_SUPER_EFFECTIVE, TYPE_STEEL, TYPE_ROCK, TYPE_MUL_SUPER_EFFECTIVE, - TYPE_STEEL, TYPE_STEEL, TYPE_MUL_NOT_EFFECTIVE, + TYPE_ROCK, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE, TYPE_FORESIGHT, TYPE_FORESIGHT, TYPE_MUL_NO_EFFECT, TYPE_NORMAL, TYPE_GHOST, TYPE_MUL_NO_EFFECT, TYPE_FIGHTING, TYPE_GHOST, TYPE_MUL_NO_EFFECT, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 67f90a370..f5b746fd4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2194,7 +2194,7 @@ void SetMoveEffect(bool8 primary, u8 certain) } return; } - if ((IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_POISON) || IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_STEEL)) + if ((IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_POISON) || IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_ROCK)) && (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { @@ -2206,7 +2206,7 @@ void SetMoveEffect(bool8 primary, u8 certain) } if (IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_POISON)) break; - if (IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_STEEL)) + if (IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_ROCK)) break; if (gBattleMons[gEffectBattler].status1) break; @@ -2319,7 +2319,7 @@ void SetMoveEffect(bool8 primary, u8 certain) } return; } - if ((IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_POISON) || IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_STEEL)) + if ((IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_POISON) || IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_ROCK)) && (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { @@ -2331,7 +2331,7 @@ void SetMoveEffect(bool8 primary, u8 certain) } if (gBattleMons[gEffectBattler].status1) break; - if (!IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_POISON) && !IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_STEEL)) + if (!IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_POISON) && !IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_ROCK)) { if (gBattleMons[gEffectBattler].ability == ABILITY_IMMUNITY) break;