diff --git a/include/constants/abilities.h b/include/constants/abilities.h index 59250e521..ab2e6880a 100644 --- a/include/constants/abilities.h +++ b/include/constants/abilities.h @@ -251,8 +251,9 @@ #define ABILITY_FULL_METAL_BODY 231 #define ABILITY_SHADOW_SHIELD 232 #define ABILITY_PRISM_ARMOR 233 +#define ABILITY_NEUROFORCE 234 -#define ABILITIES_COUNT_GEN7 234 +#define ABILITIES_COUNT_GEN7 235 #define ABILITIES_COUNT ABILITIES_COUNT_GEN6 diff --git a/src/battle_util.c b/src/battle_util.c index 6bbe25ad6..cf69e381b 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5913,6 +5913,10 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move if (isCrit) MulModifier(&finalModifier, UQ_4_12(1.5)); break; + case ABILITY_NEUROFORCE: + if (typeEffectivenessModifier >= UQ_4_12(2.0)) + MulModifier(&finalModifier, UQ_4_12(1.25)); + break; } // target's abilities diff --git a/src/data/text/abilities.h b/src/data/text/abilities.h index dc8b000f1..11b6ffaf7 100644 --- a/src/data/text/abilities.h +++ b/src/data/text/abilities.h @@ -220,6 +220,7 @@ static const u8 sPsychicSurgeDescription[] = _("Field becomes weird."); static const u8 sMistySurgeDescription[] = _("Field becomes misty."); static const u8 sGrassySurgeDescription[] = _("Field becomes grassy."); static const u8 sFullMetalBodyDescription[] = _("Prevents stat reduction."); +static const u8 sNeuroforceDescription[] = _("Ups “super effective.“."); const u8 gAbilityNames[ABILITIES_COUNT_GEN7][ABILITY_NAME_LENGTH + 1] = { @@ -457,6 +458,7 @@ const u8 gAbilityNames[ABILITIES_COUNT_GEN7][ABILITY_NAME_LENGTH + 1] = [ABILITY_FULL_METAL_BODY] = _("FullMetalBod"), [ABILITY_SHADOW_SHIELD] = _("ShadowShield"), [ABILITY_PRISM_ARMOR] = _("Prism Armor"), + [ABILITY_NEUROFORCE] = _("Neuroforce"), }; const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT_GEN7] = @@ -695,4 +697,5 @@ const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT_GEN7] = [ABILITY_FULL_METAL_BODY] = sFullMetalBodyDescription, [ABILITY_SHADOW_SHIELD] = sMultiscaleDescription, [ABILITY_PRISM_ARMOR] = sFilterDescription, + [ABILITY_NEUROFORCE] = sNeuroforceDescription, };