diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 231788d3d3..6e11cbcaa8 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6997,17 +6997,6 @@ BattleScript_OneHitKOMsg:: waitmessage B_WAIT_TIME_LONG return -BattleScript_SAtkDown2:: - setbyte sSTAT_ANIM_PLAYED, FALSE - playstatchangeanimation BS_ATTACKER, BIT_SPATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO - setstatchanger STAT_SPATK, 2, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_ALLOW_PTR, BattleScript_SAtkDown2End - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_SAtkDown2End - printfromtable gStatDownStringIds - waitmessage B_WAIT_TIME_LONG -BattleScript_SAtkDown2End:: - return - BattleScript_MoveEffectClearSmog:: printstring STRINGID_RESETSTARGETSSTATLEVELS waitmessage B_WAIT_TIME_LONG diff --git a/include/battle_scripts.h b/include/battle_scripts.h index fae2e09e30..2b9fc4ca0a 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -113,7 +113,6 @@ extern const u8 BattleScript_MagicCoatBouncePrankster[]; extern const u8 BattleScript_SnatchedMove[]; extern const u8 BattleScript_EnduredMsg[]; extern const u8 BattleScript_OneHitKOMsg[]; -extern const u8 BattleScript_SAtkDown2[]; extern const u8 BattleScript_FocusPunchSetUp[]; extern const u8 BattleScript_MoveUsedIsAsleep[]; extern const u8 BattleScript_MoveUsedWokeUp[]; diff --git a/include/constants/battle.h b/include/constants/battle.h index 4ca7eabdca..f195ea7e8c 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -380,31 +380,30 @@ #define MOVE_EFFECT_KNOCK_OFF 55 #define MOVE_EFFECT_DEF_SPDEF_DOWN 56 #define MOVE_EFFECT_CLEAR_SMOG 57 -#define MOVE_EFFECT_SP_ATK_TWO_DOWN 58 -#define MOVE_EFFECT_SMACK_DOWN 59 -#define MOVE_EFFECT_FLAME_BURST 60 -#define MOVE_EFFECT_FEINT 61 -#define MOVE_EFFECT_SPECTRAL_THIEF 62 -#define MOVE_EFFECT_V_CREATE 63 -#define MOVE_EFFECT_HAPPY_HOUR 64 -#define MOVE_EFFECT_CORE_ENFORCER 65 -#define MOVE_EFFECT_THROAT_CHOP 66 -#define MOVE_EFFECT_INCINERATE 67 -#define MOVE_EFFECT_BUG_BITE 68 -#define MOVE_EFFECT_RECOIL_HP_25 69 -#define MOVE_EFFECT_TRAP_BOTH 70 -#define MOVE_EFFECT_ROUND 71 -#define MOVE_EFFECT_STOCKPILE_WORE_OFF 72 -#define MOVE_EFFECT_DIRE_CLAW 73 -#define MOVE_EFFECT_STEALTH_ROCK 74 -#define MOVE_EFFECT_SPIKES 75 -#define MOVE_EFFECT_SYRUP_BOMB 76 -#define MOVE_EFFECT_FLORAL_HEALING 77 -#define MOVE_EFFECT_SECRET_POWER 78 -#define MOVE_EFFECT_PSYCHIC_NOISE 79 -#define MOVE_EFFECT_TERA_BLAST 80 +#define MOVE_EFFECT_SMACK_DOWN 58 +#define MOVE_EFFECT_FLAME_BURST 59 +#define MOVE_EFFECT_FEINT 60 +#define MOVE_EFFECT_SPECTRAL_THIEF 61 +#define MOVE_EFFECT_V_CREATE 62 +#define MOVE_EFFECT_HAPPY_HOUR 63 +#define MOVE_EFFECT_CORE_ENFORCER 64 +#define MOVE_EFFECT_THROAT_CHOP 65 +#define MOVE_EFFECT_INCINERATE 66 +#define MOVE_EFFECT_BUG_BITE 67 +#define MOVE_EFFECT_RECOIL_HP_25 68 +#define MOVE_EFFECT_TRAP_BOTH 69 +#define MOVE_EFFECT_ROUND 70 +#define MOVE_EFFECT_STOCKPILE_WORE_OFF 71 +#define MOVE_EFFECT_DIRE_CLAW 72 +#define MOVE_EFFECT_STEALTH_ROCK 73 +#define MOVE_EFFECT_SPIKES 74 +#define MOVE_EFFECT_SYRUP_BOMB 75 +#define MOVE_EFFECT_FLORAL_HEALING 76 +#define MOVE_EFFECT_SECRET_POWER 77 +#define MOVE_EFFECT_PSYCHIC_NOISE 78 +#define MOVE_EFFECT_TERA_BLAST 79 -#define NUM_MOVE_EFFECTS 81 +#define NUM_MOVE_EFFECTS 80 #define MOVE_EFFECT_AFFECTS_USER 0x2000 #define MOVE_EFFECT_CERTAIN 0x4000 diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index de4c683c67..6201ceffe5 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -4496,9 +4496,6 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) IncreaseStatUpScoreContrary(battlerAtk, battlerDef, STAT_CHANGE_ATK, &score); IncreaseStatUpScoreContrary(battlerAtk, battlerDef, STAT_CHANGE_DEF, &score); break; - case MOVE_EFFECT_SP_ATK_TWO_DOWN: - IncreaseStatUpScoreContrary(battlerAtk, battlerDef, STAT_CHANGE_SPATK_2, &score); - break; case MOVE_EFFECT_V_CREATE: IncreaseStatUpScoreContrary(battlerAtk, battlerDef, STAT_CHANGE_DEF, &score); IncreaseStatUpScoreContrary(battlerAtk, battlerDef, STAT_CHANGE_SPEED, &score); diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index de6775ea59..ec628a6e68 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -778,7 +778,6 @@ static bool32 AI_IsMoveEffectInMinus(u32 battlerAtk, u32 battlerDef, u32 move, s case MOVE_EFFECT_SP_DEF_MINUS_2: case MOVE_EFFECT_EVS_MINUS_2: case MOVE_EFFECT_ACC_MINUS_2: - case MOVE_EFFECT_SP_ATK_TWO_DOWN: case MOVE_EFFECT_V_CREATE: case MOVE_EFFECT_ATK_DEF_DOWN: case MOVE_EFFECT_DEF_SPDEF_DOWN: diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 4f04d0a425..a47f313f94 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3500,13 +3500,6 @@ void SetMoveEffect(bool32 primary, bool32 certain) gBattleMons[gEffectBattler].status2 |= STATUS2_LOCK_CONFUSE_TURN(RandomUniform(RNG_RAMPAGE_TURNS, 2, 3)); } break; - case MOVE_EFFECT_SP_ATK_TWO_DOWN: // Overheat - if (!NoAliveMonsForEitherParty()) - { - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_SAtkDown2; - } - break; case MOVE_EFFECT_CLEAR_SMOG: for (i = 0; i < NUM_BATTLE_STATS; i++) { diff --git a/src/battle_tv.c b/src/battle_tv.c index a2b370aa55..bba14054c9 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -944,7 +944,7 @@ static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3) baseFromEffect++; // Recoil moves if (MoveHasAdditionalEffect(arg2, MOVE_EFFECT_RAPID_SPIN)) baseFromEffect++; - if (MoveHasAdditionalEffect(arg2, MOVE_EFFECT_SP_ATK_TWO_DOWN) || MoveHasAdditionalEffect(arg2, MOVE_EFFECT_ATK_DEF_DOWN)) + if (MoveHasAdditionalEffect(arg2, MOVE_EFFECT_SP_ATK_MINUS_2) || MoveHasAdditionalEffect(arg2, MOVE_EFFECT_ATK_DEF_DOWN)) baseFromEffect += 2; // Overheat, Superpower, etc. if (MoveHasAdditionalEffect(arg2, MOVE_EFFECT_STEAL_ITEM)) baseFromEffect += 3; diff --git a/src/data/moves_info.h b/src/data/moves_info.h index dca295f851..b45139550c 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -7671,7 +7671,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .makesContact = B_UPDATED_MOVE_DATA < GEN_4, .additionalEffects = ADDITIONAL_EFFECTS({ - .moveEffect = MOVE_EFFECT_SP_ATK_TWO_DOWN, + .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_2, .self = TRUE, }), .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, @@ -8589,7 +8589,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .additionalEffects = ADDITIONAL_EFFECTS({ - .moveEffect = MOVE_EFFECT_SP_ATK_TWO_DOWN, + .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_2, .self = TRUE, }), .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, @@ -10456,7 +10456,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .additionalEffects = ADDITIONAL_EFFECTS({ - .moveEffect = MOVE_EFFECT_SP_ATK_TWO_DOWN, + .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_2, .self = TRUE, }), .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, @@ -10526,7 +10526,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .additionalEffects = ADDITIONAL_EFFECTS({ - .moveEffect = MOVE_EFFECT_SP_ATK_TWO_DOWN, + .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_2, .self = TRUE, }), .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, @@ -15741,7 +15741,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ - .moveEffect = MOVE_EFFECT_SP_ATK_TWO_DOWN, + .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_2, .self = TRUE, }), .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, diff --git a/test/battle/ability/contrary.c b/test/battle/ability/contrary.c index 4df0bc39ed..d257a7a344 100644 --- a/test/battle/ability/contrary.c +++ b/test/battle/ability/contrary.c @@ -82,7 +82,7 @@ SINGLE_BATTLE_TEST("Contrary raises stats after using a move which would normall PARAMETRIZE { ability = ABILITY_CONTRARY; } PARAMETRIZE { ability = ABILITY_TANGLED_FEET; } GIVEN { - ASSUME(MoveHasAdditionalEffectSelf(MOVE_OVERHEAT, MOVE_EFFECT_SP_ATK_TWO_DOWN) == TRUE); + ASSUME(MoveHasAdditionalEffectSelf(MOVE_OVERHEAT, MOVE_EFFECT_SP_ATK_MINUS_2) == TRUE); ASSUME(gMovesInfo[MOVE_OVERHEAT].category == DAMAGE_CATEGORY_SPECIAL); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_SPINDA) { Ability(ability); } diff --git a/test/battle/ability/shield_dust.c b/test/battle/ability/shield_dust.c index 0c4ba99a83..8c655a22aa 100644 --- a/test/battle/ability/shield_dust.c +++ b/test/battle/ability/shield_dust.c @@ -95,7 +95,7 @@ SINGLE_BATTLE_TEST("Shield Dust does not block self-targeting effects, primary o GIVEN { ASSUME(MoveHasAdditionalEffectSelf(MOVE_POWER_UP_PUNCH, MOVE_EFFECT_ATK_PLUS_1) == TRUE); ASSUME(MoveHasAdditionalEffectSelf(MOVE_RAPID_SPIN, MOVE_EFFECT_RAPID_SPIN) == TRUE); - ASSUME(MoveHasAdditionalEffectSelf(MOVE_LEAF_STORM, MOVE_EFFECT_SP_ATK_TWO_DOWN) == TRUE); + ASSUME(MoveHasAdditionalEffectSelf(MOVE_LEAF_STORM, MOVE_EFFECT_SP_ATK_MINUS_2) == TRUE); ASSUME(MoveHasAdditionalEffectSelf(MOVE_METEOR_ASSAULT, MOVE_EFFECT_RECHARGE) == TRUE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_VIVILLON) { Ability(ABILITY_SHIELD_DUST); } diff --git a/test/battle/move_effect_secondary/sp_atk_two_down.c b/test/battle/move_effect_secondary/sp_atk_minus_2.c similarity index 98% rename from test/battle/move_effect_secondary/sp_atk_two_down.c rename to test/battle/move_effect_secondary/sp_atk_minus_2.c index ff88e2d332..ff14477054 100644 --- a/test/battle/move_effect_secondary/sp_atk_two_down.c +++ b/test/battle/move_effect_secondary/sp_atk_minus_2.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(MoveHasAdditionalEffectSelf(MOVE_OVERHEAT, MOVE_EFFECT_SP_ATK_TWO_DOWN)); + ASSUME(MoveHasAdditionalEffectSelf(MOVE_OVERHEAT, MOVE_EFFECT_SP_ATK_MINUS_2)); } SINGLE_BATTLE_TEST("Overheat drops Sp. Atk by 2 stages - singles")