From e602a310c9614355cc2fb44272c28cc63460971b Mon Sep 17 00:00:00 2001 From: Nephrite Date: Mon, 29 Jan 2024 13:05:05 +0900 Subject: [PATCH] BattleMove adjustment Moved one or two flags to the effects array as well --- include/battle.h | 7 +++-- include/pokemon.h | 56 ++++++++++++++++------------------ src/battle_ai_main.c | 1 - src/battle_script_commands.c | 14 ++++----- src/data/battle_move_effects.h | 7 +++++ src/data/moves_info.h | 32 ------------------- 6 files changed, 46 insertions(+), 71 deletions(-) diff --git a/include/battle.h b/include/battle.h index 1563819c78..9e8327e9aa 100644 --- a/include/battle.h +++ b/include/battle.h @@ -54,10 +54,12 @@ struct __attribute__((packed, aligned(2))) BattleMoveEffect const u8 *battleScript; u16 battleTvScore:3; u16 encourageEncore:1; - u16 flags:12; // coming soon... + u16 twoTurnEffect:1; + u16 padding:11; }; -#define GET_MOVE_BATTLESCRIPT(move) gBattleMoveEffects[gMovesInfo[move].effect].battleScript +#define GET_MOVE_EFFECT(move) gBattleMoveEffects[gMovesInfo[move].effect] +#define GET_MOVE_BATTLESCRIPT(move) GET_MOVE_EFFECT(move).battleScript struct ResourceFlags { @@ -794,6 +796,7 @@ STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLER #define IS_MOVE_STATUS(move)(gMovesInfo[move].category == DAMAGE_CATEGORY_STATUS) #define IS_MOVE_RECOIL(move)(gMovesInfo[move].recoil > 0 || gMovesInfo[move].effect == EFFECT_RECOIL_IF_MISS) +#define MOVE_USES_PROTECT_COUNTER(move)(gMovesInfo[move].effect == EFFECT_ENDURE || gMovesInfo[move].effect == EFFECT_PROTECT) #define BATTLER_MAX_HP(battlerId)(gBattleMons[battlerId].hp == gBattleMons[battlerId].maxHP) #define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0) || (gBattleStruct->enduredDamage & gBitTable[gBattlerTarget])) diff --git a/include/pokemon.h b/include/pokemon.h index aeed6bacf9..895ec672c3 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -450,39 +450,50 @@ struct MoveInfo const u8 *description; u16 effect; u8 power; - u8 type:5; - u8 category:3; + u8 accuracy; - u16 accuracy:7; - u16 recoil:7; - u16 criticalHitStage:2; - u8 padding:6; // coming soon... - u8 numAdditionalEffects:2; // limited to 3 - don't want to get too crazy + u16 type:5; + u16 category:2; + u16 target:9; u8 pp; - - u16 target; - s8 priority; union { u8 effect; u8 powerOverride; } zMove; + s32 priority:4; + u32 recoil:7; + u32 strikeCount:4; // Max 15 hits. Defaults to 1 if not set. May apply its effect on each hit. + u32 criticalHitStage:2; + u32 alwaysCriticalHit:1; + u32 numAdditionalEffects:2; // limited to 3 - don't want to get too crazy + + // Ban flags + u32 gravityBanned:1; + u32 mirrorMoveBanned:1; + u32 meFirstBanned:1; + u32 mimicBanned:1; + u32 metronomeBanned:1; + u32 copycatBanned:1; + u32 assistBanned:1; // Matches same moves as copycatBanned + semi-invulnerable moves and Mirror Coat. + u32 sleepTalkBanned:1; + u32 instructBanned:1; + u32 encoreBanned:1; + u32 parentalBondBanned:1; + u32 skyBattleBanned:1; + u32 sketchBanned:1; + // Flags u32 makesContact:1; u32 ignoresProtect:1; u32 magicCoatAffected:1; u32 snatchAffected:1; - u32 mirrorMoveBanned:1; u32 ignoresKingsRock:1; - u32 alwaysCriticalHit:1; - u32 twoTurnMove:1; u32 punchingMove:1; - u32 sheerForceBoost:1; u32 bitingMove:1; u32 pulseMove:1; u32 soundMove:1; u32 ballisticMove:1; - u32 protectionMove:1; u32 powderMove:1; u32 danceMove:1; u32 windMove:1; @@ -497,24 +508,11 @@ struct MoveInfo u32 ignoreTypeIfFlyingAndUngrounded:1; u32 thawsUser:1; u32 ignoresSubstitute:1; - u32 strikeCount:4; // Max 15 hits. Defaults to 1 if not set. May apply its effect on each hit. u32 forcePressure:1; u32 cantUseTwice:1; - u32 gravityBanned:1; u32 healingMove:1; - u32 meFirstBanned:1; - u32 mimicBanned:1; - u32 metronomeBanned:1; - u32 copycatBanned:1; - u32 assistBanned:1; // Matches same moves as copycatBanned + semi-invulnerable moves and Mirror Coat. - u32 sleepTalkBanned:1; - u32 instructBanned:1; - u32 encoreBanned:1; - u32 parentalBondBanned:1; - u32 skyBattleBanned:1; - u32 sketchBanned:1; - u32 argument; // also coming soon + u32 argument; // primary/secondary effects const struct AdditionalEffect *additionalEffects; diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index ec8c96223c..e24d59f6ac 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -2492,7 +2492,6 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) if (instructedMove == MOVE_NONE || gMovesInfo[instructedMove].instructBanned - || gMovesInfo[instructedMove].twoTurnMove || MoveHasMoveEffectSelf(instructedMove, MOVE_EFFECT_RECHARGE) || IsZMove(instructedMove) || (gLockedMoves[battlerDef] != 0 && gLockedMoves[battlerDef] != 0xFFFF) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a0cb1ce711..ee605b06de 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1368,7 +1368,7 @@ static void Cmd_attackcanceler(void) gHitMarker |= HITMARKER_OBEYS; // Check if no available target present on the field or if Sky Battles ban the move if ((NoTargetPresent(gBattlerAttacker, gCurrentMove) - && (!gMovesInfo[gCurrentMove].twoTurnMove || (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS))) + && (!GET_MOVE_EFFECT(gCurrentMove).twoTurnEffect || (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS))) || (IsMoveNotAllowedInSkyBattles(gCurrentMove))) { if (gMovesInfo[gCurrentMove].effect == EFFECT_FLING) // Edge case for removing a mon's item when there is no target available after using Fling. @@ -1376,7 +1376,7 @@ static void Cmd_attackcanceler(void) else gBattlescriptCurrInstr = BattleScript_FailedFromAtkString; - if (!gMovesInfo[gCurrentMove].twoTurnMove || (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)) + if (!GET_MOVE_EFFECT(gCurrentMove).twoTurnEffect || (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)) CancelMultiTurnMoves(gBattlerAttacker); return; } @@ -1455,7 +1455,7 @@ static void Cmd_attackcanceler(void) } else if (IsBattlerProtected(gBattlerTarget, gCurrentMove) && (gCurrentMove != MOVE_CURSE || IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_GHOST)) - && ((!gMovesInfo[gCurrentMove].twoTurnMove || (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS))) + && ((!GET_MOVE_EFFECT(gCurrentMove).twoTurnEffect || (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS))) && gMovesInfo[gCurrentMove].effect != EFFECT_SUCKER_PUNCH) { if (IsMoveMakingContact(gCurrentMove, gBattlerAttacker)) @@ -9633,7 +9633,7 @@ static void Cmd_various(void) VARIOUS_ARGS(const u8 *failInstr); u16 move = gLastPrintedMoves[gBattlerTarget]; if (move == MOVE_NONE || move == MOVE_UNAVAILABLE || MoveHasMoveEffectSelf(move, MOVE_EFFECT_RECHARGE) - || gMovesInfo[move].instructBanned || gMovesInfo[move].twoTurnMove || IsDynamaxed(gBattlerTarget)) + || gMovesInfo[move].instructBanned || GET_MOVE_EFFECT(move).twoTurnEffect || IsDynamaxed(gBattlerTarget)) { gBattlescriptCurrInstr = cmd->failInstr; } @@ -10713,7 +10713,7 @@ static void TryResetProtectUseCounter(u32 battler) { u32 lastMove = gLastResultingMoves[battler]; if (lastMove == MOVE_UNAVAILABLE - || (!gMovesInfo[lastMove].protectionMove && (B_ALLY_SWITCH_FAIL_CHANCE >= GEN_9 && gMovesInfo[lastMove].effect != EFFECT_ALLY_SWITCH))) + || (!MOVE_USES_PROTECT_COUNTER(lastMove) && (B_ALLY_SWITCH_FAIL_CHANCE >= GEN_9 && gMovesInfo[lastMove].effect != EFFECT_ALLY_SWITCH))) gDisableStructs[battler].protectUses = 0; } @@ -12681,7 +12681,7 @@ static void Cmd_settypetorandomresistance(void) { gBattlescriptCurrInstr = cmd->failInstr; } - else if (gMovesInfo[gLastLandedMoves[gBattlerAttacker]].twoTurnMove + else if (GET_MOVE_EFFECT(gLastLandedMoves[gBattlerAttacker]).twoTurnEffect && gBattleMons[gLastHitBy[gBattlerAttacker]].status2 & STATUS2_MULTIPLETURNS) { gBattlescriptCurrInstr = cmd->failInstr; @@ -12797,7 +12797,7 @@ static void Cmd_trychoosesleeptalkmove(void) for (i = 0; i < MAX_MON_MOVES; i++) { if (gMovesInfo[gBattleMons[gBattlerAttacker].moves[i]].sleepTalkBanned - || gMovesInfo[gBattleMons[gBattlerAttacker].moves[i]].twoTurnMove) + || GET_MOVE_EFFECT(gBattleMons[gBattlerAttacker].moves[i]).twoTurnEffect) { unusableMovesBits |= gBitTable[i]; } diff --git a/src/data/battle_move_effects.h b/src/data/battle_move_effects.h index b739c007a7..3ac6ebe9c7 100644 --- a/src/data/battle_move_effects.h +++ b/src/data/battle_move_effects.h @@ -384,6 +384,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = { .battleScript = BattleScript_EffectTwoTurnsAttack, .battleTvScore = 0, // TODO: Assign points + .twoTurnEffect = TRUE, }, [EFFECT_SUBSTITUTE] = @@ -752,6 +753,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = { .battleScript = BattleScript_EffectSkullBash, .battleTvScore = 3, + .twoTurnEffect = TRUE, }, [EFFECT_EARTHQUAKE] = @@ -777,6 +779,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = { .battleScript = BattleScript_EffectSolarBeam, .battleTvScore = 1, + .twoTurnEffect = TRUE, }, [EFFECT_THUNDER] = @@ -801,6 +804,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = { .battleScript = BattleScript_EffectSemiInvulnerable, .battleTvScore = 3, + .twoTurnEffect = TRUE, }, [EFFECT_DEFENSE_CURL] = @@ -1814,6 +1818,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = { .battleScript = BattleScript_EffectGeomancy, .battleTvScore = 0, // TODO: Assign points + .twoTurnEffect = TRUE, }, [EFFECT_FAIRY_LOCK] = @@ -2016,6 +2021,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = { .battleScript = BattleScript_EffectSkyDrop, .battleTvScore = 0, // TODO: Assign points + .twoTurnEffect = TRUE, }, [EFFECT_EXPANDING_FORCE] = @@ -2028,6 +2034,7 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = { .battleScript = BattleScript_EffectMeteorBeam, .battleTvScore = 0, // TODO: Assign points + .twoTurnEffect = TRUE, }, [EFFECT_RISING_VOLTAGE] = diff --git a/src/data/moves_info.h b/src/data/moves_info.h index 3aec5e12e7..1e375033da 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -424,7 +424,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_BOTH, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .twoTurnMove = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .windMove = B_EXTRAPOLATED_MOVE_FLAGS, @@ -564,7 +563,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .twoTurnMove = TRUE, .makesContact = TRUE, .gravityBanned = TRUE, .sleepTalkBanned = TRUE, @@ -1930,7 +1928,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .twoTurnMove = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, @@ -2286,7 +2283,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .twoTurnMove = TRUE, .makesContact = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, @@ -3229,7 +3225,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .twoTurnMove = TRUE, .makesContact = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, @@ -3542,7 +3537,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .criticalHitStage = B_UPDATED_MOVE_DATA >= GEN_3 ? 1 : 0, - .twoTurnMove = TRUE, .sheerForceBoost = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, @@ -4496,7 +4490,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = B_UPDATED_MOVE_DATA >= GEN_5 ? 4 : 3, .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .protectionMove = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, @@ -4862,7 +4855,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .zMove = { .effect = Z_EFFECT_EVSN_UP_1 }, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, - .protectionMove = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, @@ -5002,7 +4994,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .zMove = { .effect = Z_EFFECT_RESET_STATS }, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, - .protectionMove = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, @@ -7134,7 +7125,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .twoTurnMove = TRUE, .makesContact = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, @@ -8305,7 +8295,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .twoTurnMove = TRUE, .makesContact = TRUE, .sheerForceBoost = TRUE, .gravityBanned = TRUE, @@ -9567,7 +9556,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = STATUS1_BURN, .makesContact = TRUE, .sheerForceBoost = TRUE, .thawsUser = TRUE, @@ -10222,7 +10210,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = STATUS1_PARALYSIS, .makesContact = TRUE, .sheerForceBoost = TRUE, .bitingMove = TRUE, @@ -10285,7 +10272,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = STATUS1_BURN, .makesContact = TRUE, .sheerForceBoost = TRUE, .bitingMove = TRUE, @@ -11313,7 +11299,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, - .twoTurnMove = TRUE, .ignoresProtect = TRUE, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS == GEN_6, .sleepTalkBanned = TRUE, @@ -11371,7 +11356,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .snatchAffected = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, - .protectionMove = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -12105,7 +12089,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .snatchAffected = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, - .protectionMove = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -12246,7 +12229,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .twoTurnMove = TRUE, .makesContact = TRUE, .gravityBanned = TRUE, .sleepTalkBanned = TRUE, @@ -13313,7 +13295,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .twoTurnMove = TRUE, .sheerForceBoost = TRUE, .metronomeBanned = TRUE, .sleepTalkBanned = TRUE, @@ -13342,7 +13323,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .twoTurnMove = TRUE, .sheerForceBoost = TRUE, .metronomeBanned = TRUE, .sleepTalkBanned = TRUE, @@ -13641,7 +13621,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .twoTurnMove = TRUE, .ignoresProtect = TRUE, .makesContact = TRUE, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS == GEN_6, @@ -14155,7 +14134,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 4, .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .protectionMove = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -14353,7 +14331,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 4, .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, - .protectionMove = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -14471,7 +14448,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 }, - .twoTurnMove = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .skyBattleBanned = TRUE, @@ -15017,7 +14993,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 4, .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, - .protectionMove = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -15213,7 +15188,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .twoTurnMove = TRUE, .makesContact = TRUE, .slicingMove = TRUE, .sleepTalkBanned = TRUE, @@ -17283,7 +17257,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_USER, .priority = 4, .category = DAMAGE_CATEGORY_STATUS, - .protectionMove = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -17466,7 +17439,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .twoTurnMove = TRUE, .instructBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_PLUS_1, @@ -18609,7 +18581,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .metronomeBanned = TRUE, // Only since it isn't implemented yet - .forcePressure = TRUE, }, [MOVE_SILK_TRAP] = @@ -18626,7 +18597,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_USER, .priority = 4, .category = DAMAGE_CATEGORY_STATUS, - .protectionMove = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -19781,7 +19751,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 4, .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .protectionMove = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -20471,7 +20440,6 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_USER, .priority = 4, .category = DAMAGE_CATEGORY_STATUS, - .protectionMove = TRUE, }, [MOVE_MAX_FLARE] =