diff --git a/src/battle_main.c b/src/battle_main.c index 270ead110..4210e2f42 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 fceb7050b..ebc60666f 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2269,7 +2269,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)) { @@ -2281,7 +2281,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; @@ -2394,7 +2394,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)) { @@ -2406,7 +2406,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;