Remove and replace MOVE_EFFECT_SP_ATK_TWO_DOWN (#4557)
This commit is contained in:
parent
be37820bd9
commit
a8bb82778a
11 changed files with 32 additions and 56 deletions
|
@ -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
|
||||
|
|
|
@ -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[];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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++)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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); }
|
||||
|
|
|
@ -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); }
|
||||
|
|
|
@ -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")
|
Loading…
Reference in a new issue