From 3695f0317b0595f903f4bccdda0abeb6bc992a02 Mon Sep 17 00:00:00 2001 From: Nephrite Date: Mon, 12 Feb 2024 16:13:15 +0900 Subject: [PATCH] Reordered everything in moves_info.h to be in struct order --- src/data/moves_info.h | 8155 +++++++++++++------------- test/battle/move_effect/upper_hand.c | 2 +- 2 files changed, 4076 insertions(+), 4081 deletions(-) diff --git a/src/data/moves_info.h b/src/data/moves_info.h index f91dbbc33b..ccecb69bb6 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -15,13 +15,11 @@ #else #define HANDLE_EXPANDED_MOVE_NAME(_name, ...) COMPOUND_STRING(_name) #endif - #if B_BINDING_TURNS >= GEN_5 #define BINDING_TURNS "4 or 5" #else #define BINDING_TURNS "2 to 5" #endif - /* First arg is the charge turn string id, second arg depends on effect EFFECT_SEMI_INVULNERABLE/EFFECT_SKY_DROP: semi-invulnerable STATUS3 to apply to battler EFFECT_TWO_TURNS_ATTACK/EFFECT_SOLAR_BEAM: weather in which to skip charge turn */ @@ -123,14 +121,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING(""), .effect = EFFECT_HIT, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, - .metronomeBanned = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 0, + .priority = 0, .mirrorMoveBanned = TRUE, + .metronomeBanned = TRUE, .sketchBanned = TRUE, }, @@ -142,12 +140,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "forelegs or tail."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 35, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 35, + .priority = 0, .makesContact = TRUE, .ignoresKingsRock = B_UPDATED_MOVE_FLAGS == GEN_4, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, @@ -164,13 +162,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "high critical-hit ratio."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_FIGHTING, .accuracy = 100, - .criticalHitStage = 1, - .pp = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 25, + .priority = 0, + .criticalHitStage = 1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -186,12 +184,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "2 to 5 times."), .effect = EFFECT_MULTI_HIT, .power = 15, - .type = TYPE_NORMAL, .accuracy = 85, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -207,12 +205,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "2 to 5 times."), .effect = EFFECT_MULTI_HIT, .power = 18, - .type = TYPE_NORMAL, .accuracy = 85, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, @@ -229,12 +227,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "incredible power."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_NORMAL, .accuracy = 85, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, @@ -251,12 +249,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Money is recovered after."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PAYDAY, }), @@ -274,12 +272,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe."), .effect = EFFECT_HIT, .power = 75, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -304,12 +302,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #endif .effect = EFFECT_HIT, .power = 75, - .type = TYPE_ICE, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -330,12 +328,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may paralyze the foe."), .effect = EFFECT_HIT, .power = 75, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -356,12 +354,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sharp claws."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 35, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 35, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -377,12 +375,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "powerful pincers."), .effect = EFFECT_HIT, .power = 55, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -398,12 +396,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that may cause fainting."), .effect = EFFECT_OHKO, .power = 1, - .type = TYPE_NORMAL, .accuracy = 30, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -419,16 +417,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe on the 2nd turn."), .effect = EFFECT_TWO_TURNS_ATTACK, .power = 80, - .type = TYPE_NORMAL, .accuracy = 100, - .criticalHitStage = 1, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, + .criticalHitStage = 1, + .windMove = B_EXTRAPOLATED_MOVE_FLAGS, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .windMove = B_EXTRAPOLATED_MOVE_FLAGS, .argument = TWO_TURN_ARG(STRINGID_PKMNWHIPPEDWHIRLWIND), .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_COOL, @@ -444,15 +442,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sharply raises Attack."), .effect = EFFECT_ATTACK_UP_2, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 30, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .danceMove = TRUE, + .priority = 0, .snatchAffected = TRUE, + .danceMove = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_SWORDS_DANCE, @@ -467,12 +465,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "scythes, claws, etc."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_NORMAL, .accuracy = 95, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, @@ -489,15 +487,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "of wind whipped up by wings."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 35, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 35, + .priority = 0, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_4) || (B_UPDATED_MOVE_FLAGS < GEN_3), - .damagesAirborneDoubleDamage = TRUE, .windMove = TRUE, + .damagesAirborneDoubleDamage = TRUE, .contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -512,12 +510,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "spread wide."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 35, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 35, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_COOL, @@ -533,17 +531,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "wind and ends the battle."), .effect = EFFECT_ROAR, .power = 0, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_6 ? 0 : 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = -6, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, - .windMove = TRUE, + .priority = -6, .ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_6, - .ignoresSubstitute = TRUE, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .windMove = TRUE, + .ignoresSubstitute = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, @@ -560,17 +558,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "then strikes the next turn."), .effect = EFFECT_SEMI_INVULNERABLE, .power = B_UPDATED_MOVE_DATA >= GEN_4 ? 90 : 70, - .type = TYPE_FLYING, .accuracy = 95, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .gravityBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .argument = TWO_TURN_ARG(STRINGID_PKMNFLEWHIGH, COMPRESS_BITS(STATUS3_ON_AIR)), .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_SMART, @@ -586,12 +584,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "for "BINDING_TURNS" turns."), .effect = EFFECT_HIT, .power = 15, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 85 : 75, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -611,12 +609,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "tail, vine, etc."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_NORMAL, .accuracy = 75, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, @@ -631,6 +629,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Strikes the foe with\n" "slender, whiplike vines."), + .effect = EFFECT_HIT, + .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 45 : 35, + .accuracy = 100, + .type = TYPE_GRASS, + .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, #if B_UPDATED_MOVE_DATA >= GEN_6 .pp = 25, #elif B_UPDATED_MOVE_DATA >= GEN_4 @@ -638,13 +642,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else .pp = 10, #endif - .effect = EFFECT_HIT, - .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 45 : 35, - .type = TYPE_GRASS, - .accuracy = 100, - .target = MOVE_TARGET_SELECTED, .priority = 0, - .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_COOL, @@ -660,12 +658,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foot. May cause flinching."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .minimizeDoubleDamage = TRUE, .skyBattleBanned = TRUE, @@ -687,14 +685,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that strikes the foe twice."), .effect = EFFECT_HIT, .power = 30, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 0, .strikeCount = 2, + .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -709,12 +707,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with intense force."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_NORMAL, .accuracy = 75, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_COOL, @@ -728,6 +726,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "A strong jumping kick. May\n" "miss and hurt the kicker."), + .effect = EFFECT_RECOIL_IF_MISS, #if B_UPDATED_MOVE_DATA >= GEN_5 .power = 100, #elif B_UPDATED_MOVE_DATA >= GEN_4 @@ -735,13 +734,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else .power = 70, #endif - .effect = EFFECT_RECOIL_IF_MISS, - .type = TYPE_FIGHTING, .accuracy = 95, - .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 25, + .priority = 0, .makesContact = TRUE, .gravityBanned = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, @@ -758,12 +756,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "a rapid spin."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_FIGHTING, .accuracy = 85, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -784,13 +782,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "by hurling sand in its face."), .effect = EFFECT_ACCURACY_DOWN, .power = 0, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_EVSN_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -806,12 +804,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "cause flinching."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -831,12 +829,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "horns."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 25, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_COOL, @@ -852,12 +850,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with sharp horns, etc."), .effect = EFFECT_MULTI_HIT, .power = 15, - .type = TYPE_NORMAL, .accuracy = 85, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_COOL, @@ -873,12 +871,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "uses a horn like a drill."), .effect = EFFECT_OHKO, .power = 1, - .type = TYPE_NORMAL, .accuracy = 30, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -892,6 +890,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Charges the foe with a full-\n" "body tackle."), + .effect = EFFECT_HIT, #if B_UPDATED_MOVE_DATA >= GEN_7 .power = 40, #elif B_UPDATED_MOVE_DATA >= GEN_5 @@ -899,13 +898,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else .power = 35, #endif - .effect = EFFECT_HIT, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 100 : 95, - .pp = 35, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 35, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -921,12 +919,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "cause paralysis."), .effect = EFFECT_HIT, .power = 85, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_6, .skyBattleBanned = TRUE, @@ -948,12 +946,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = BINDING_TURNS" times with vines, etc."), .effect = EFFECT_HIT, .power = 15, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 90 : 85, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_WRAP, @@ -972,13 +970,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that also hurts the user."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_NORMAL, .accuracy = 85, - .recoil = 25, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, + .recoil = 25, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -994,12 +992,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that confuses the user."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 120 : 90, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 20, - .target = MOVE_TARGET_RANDOM, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_RANDOM, + .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 20, + .priority = 0, .makesContact = TRUE, .instructBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -1020,13 +1018,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "also hurts the user."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_NORMAL, .accuracy = 100, - .recoil = 33, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .recoil = 33, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -1042,13 +1040,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe's Defense."), .effect = EFFECT_DEFENSE_DOWN, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_BOTH, + .pp = 30, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -1064,12 +1062,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "etc., that may poison."), .effect = EFFECT_HIT, .power = 15, - .type = TYPE_POISON, .accuracy = 100, - .pp = 35, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 35, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, .chance = 30, @@ -1088,14 +1086,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "jab the foe twice."), .effect = EFFECT_HIT, .power = 25, - .type = TYPE_BUG, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, - .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .strikeCount = 2, + .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, .chance = 20, @@ -1114,12 +1112,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "strike 2 to 5 times."), .effect = EFFECT_MULTI_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 25 : 14, - .type = TYPE_BUG, .accuracy = B_UPDATED_MOVE_DATA >= GEN_6 ? 95 : 85, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -1134,13 +1132,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "leer to lower Defense."), .effect = EFFECT_DEFENSE_DOWN, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_BOTH, + .pp = 30, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, .contestCategory = CONTEST_CATEGORY_COOL, @@ -1156,12 +1154,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May cause flinching."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_DARK, .accuracy = 100, - .pp = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 25, + .priority = 0, .makesContact = TRUE, .bitingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -1182,13 +1180,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe's Attack."), .effect = EFFECT_ATTACK_DOWN, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 40, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_BOTH, + .pp = 40, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .soundMove = TRUE, .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, @@ -1206,17 +1204,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the battle."), .effect = EFFECT_ROAR, .power = 0, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_6 ? 0 : 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = -6, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = -6, .ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_6, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .copycatBanned = TRUE, .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, @@ -1233,16 +1231,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe into a deep slumber."), .effect = EFFECT_SLEEP, .power = 0, - .type = TYPE_NORMAL, .accuracy = 55, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .priority = 0, .magicCoatAffected = TRUE, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_SING, @@ -1257,16 +1255,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that may confuse the foe."), .effect = EFFECT_CONFUSE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 55, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .priority = 0, .magicCoatAffected = TRUE, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -1281,12 +1279,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "always inflict 20 HP damage."), .effect = EFFECT_FIXED_DAMAGE_ARG, .power = 1, - .type = TYPE_NORMAL, .accuracy = 90, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .argument = 20, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_COOL, @@ -1300,6 +1298,8 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Psychically disables one of\n" "the foe's moves."), + .effect = EFFECT_DISABLE, + .power = 0, #if B_UPDATED_MOVE_DATA >= GEN_5 .accuracy = 100, #elif B_UPDATED_MOVE_DATA == GEN_4 @@ -1307,16 +1307,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else .accuracy = 55, #endif - .effect = EFFECT_DISABLE, - .power = 0, .type = TYPE_NORMAL, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .ignoresSubstitute = TRUE, + .priority = 0, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -1335,13 +1333,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #endif .effect = EFFECT_HIT, .power = 40, - .type = TYPE_POISON, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_SPECIAL, - .additionalEffects = ADDITIONAL_EFFECTS({ + .target = MOVE_TARGET_BOTH, + .pp = 30, + .priority = 0, + .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = B_UPDATED_MOVE_DATA >= GEN_4 ? MOVE_EFFECT_SP_DEF_MINUS_1 : MOVE_EFFECT_DEF_MINUS_1, .chance = 10, }), @@ -1359,12 +1357,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "inflict a burn."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 25, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, .chance = 10, @@ -1383,12 +1381,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may inflict a burn."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 90 : 95, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, .chance = 10, @@ -1407,16 +1405,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "reduction of abilities."), .effect = EFFECT_MIST, .power = 0, - .type = TYPE_ICE, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -1431,12 +1429,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_WATER, .accuracy = 100, - .pp = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 25, + .priority = 0, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -1451,12 +1449,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to strike the foe."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 110 : 120, - .type = TYPE_WATER, .accuracy = 80, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -1471,12 +1469,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "crashes it down on the foe."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 90 : 95, - .type = TYPE_WATER, .accuracy = 100, - .pp = 15, - .target = B_UPDATED_MOVE_DATA >= GEN_4 ? MOVE_TARGET_FOES_AND_ALLY : MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = B_UPDATED_MOVE_DATA >= GEN_4 ? MOVE_TARGET_FOES_AND_ALLY : MOVE_TARGET_BOTH, + .pp = 15, + .priority = 0, .damagesUnderwater = TRUE, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, @@ -1497,12 +1495,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #endif .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 90 : 95, - .type = TYPE_ICE, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ // The following effect is also relevant in battle_pike.c // If you cherry-pick this to use something other than the config, make sure to update it there too @@ -1527,12 +1525,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #endif .effect = B_BLIZZARD_HAIL >= GEN_4 ? EFFECT_BLIZZARD : EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 110 : 120, - .type = TYPE_ICE, .accuracy = 70, - .pp = 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 5, + .priority = 0, .windMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE, @@ -1552,12 +1550,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may confuse the foe."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_CONFUSION, .chance = 10, @@ -1576,12 +1574,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that may lower Speed."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_WATER, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, .chance = 10, @@ -1600,12 +1598,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "beam that may lower Attack."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_ICE, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ATK_MINUS_1, .chance = 10, @@ -1622,12 +1620,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sHyperBeamDescription, .effect = EFFECT_HIT, .power = 150, - .type = TYPE_NORMAL, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RECHARGE, @@ -1647,12 +1645,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "jabbing beak, etc."), .effect = EFFECT_HIT, .power = 35, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 35, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 35, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_COOL, @@ -1668,12 +1666,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the beak acting as a drill."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_COOL, @@ -1689,13 +1687,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "also hurts the user."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_FIGHTING, .accuracy = 80, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 25, - .recoil = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 25, + .priority = 0, + .recoil = 25, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_COOL, @@ -1711,12 +1709,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage on heavier foes."), .effect = EFFECT_LOW_KICK, .power = 1, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -1732,12 +1730,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with double the power."), .effect = EFFECT_COUNTER, .power = 1, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_DEPENDS, - .priority = -5, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_DEPENDS, + .pp = 20, + .priority = -5, .makesContact = TRUE, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .meFirstBanned = TRUE, @@ -1758,12 +1756,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to the user's level."), .effect = EFFECT_LEVEL_DAMAGE, .power = 1, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, @@ -1780,12 +1778,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "then slams the foe."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -1801,12 +1799,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "half the damage inflicted."), .effect = EFFECT_ABSORB, .power = 20, - .type = TYPE_GRASS, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_4 ? 25 : 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_4 ? 25 : 20, + .priority = 0, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .healingMove = B_HEAL_BLOCKING >= GEN_6, .contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON, @@ -1821,12 +1819,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sMegaDrainDescription, .effect = EFFECT_ABSORB, .power = 40, - .type = TYPE_GRASS, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_4 ? 15 : 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_4 ? 15 : 10, + .priority = 0, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .healingMove = B_HEAL_BLOCKING >= GEN_6, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, @@ -1843,13 +1841,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "steal HP on every turn."), .effect = EFFECT_LEECH_SEED, .power = 0, - .type = TYPE_GRASS, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -1865,16 +1863,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and heightens Sp. Atk."), .effect = B_GROWTH_STAT_RAISE >= GEN_5 ? EFFECT_GROWTH : EFFECT_SPECIAL_ATTACK_UP, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 40, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 40, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_GROWTH, @@ -1889,13 +1887,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = 55, - .type = TYPE_GRASS, .accuracy = 95, - .criticalHitStage = 1, - .pp = 25, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_BOTH, + .pp = 25, + .priority = 0, + .criticalHitStage = 1, .slicingMove = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_COOL, @@ -1911,12 +1909,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "then attacks next turn."), .effect = EFFECT_SOLAR_BEAM, .power = 120, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .argument = TWO_TURN_ARG(STRINGID_PKMNTOOKSUNLIGHT, B_WEATHER_SUN), @@ -1934,13 +1932,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that may poison the foe."), .effect = EFFECT_POISON, .power = 0, - .type = TYPE_POISON, .accuracy = 75, - .pp = 35, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 35, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .powderMove = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, @@ -1957,13 +1955,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "paralyze the foe."), .effect = EFFECT_PARALYZE, .power = 0, - .type = TYPE_GRASS, .accuracy = 75, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 30, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .powderMove = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, @@ -1980,13 +1978,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "cause the foe to sleep."), .effect = EFFECT_SLEEP, .power = 0, - .type = TYPE_GRASS, .accuracy = 75, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .powderMove = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, @@ -2001,6 +1999,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "A rampage of 2 to 3 turns\n" "that confuses the user."), + .effect = EFFECT_HIT, #if B_UPDATED_MOVE_DATA >= GEN_5 .power = 120, #elif B_UPDATED_MOVE_DATA == GEN_4 @@ -2008,13 +2007,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else .power = 70, #endif - .effect = EFFECT_HIT, - .type = TYPE_GRASS, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 20, - .target = MOVE_TARGET_RANDOM, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_RANDOM, + .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 20, + .priority = 0, .makesContact = TRUE, .danceMove = TRUE, .instructBanned = TRUE, @@ -2036,13 +2034,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to reduce its Speed."), .effect = B_UPDATED_MOVE_DATA >= GEN_6 ? EFFECT_SPEED_DOWN_2 : EFFECT_SPEED_DOWN, .power = 0, - .type = TYPE_BUG, .accuracy = 95, - .pp = 40, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_BOTH, + .pp = 40, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON, .contestCategory = CONTEST_CATEGORY_SMART, @@ -2058,12 +2056,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "always inflict 40 HP damage."), .effect = EFFECT_FIXED_DAMAGE_ARG, .power = 1, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_4) || (B_UPDATED_MOVE_FLAGS < GEN_3), .argument = 40, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, @@ -2080,12 +2078,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "fire for "BINDING_TURNS" turns."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 35 : 15, - .type = TYPE_FIRE, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 85 : 70, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_WRAP, @@ -2104,12 +2102,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may paralyze the foe."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 10, @@ -2128,12 +2126,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that may paralyze the foe."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 90 : 95, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 10, @@ -2152,13 +2150,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that paralyzes the foe."), .effect = EFFECT_PARALYZE, .power = 0, - .type = TYPE_ELECTRIC, .accuracy = B_UPDATED_MOVE_DATA >= GEN_7 ? 90 : 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -2174,12 +2172,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "cause paralysis."), .effect = EFFECT_THUNDER, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 110 : 120, - .type = TYPE_ELECTRIC, .accuracy = 70, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .damagesAirborne = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, @@ -2199,12 +2197,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "strike the foe."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_ROCK, .accuracy = 90, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_ROCK_THROW, @@ -2219,12 +2217,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "no effect on flying foes."), .effect = EFFECT_EARTHQUAKE, .power = 100, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 10, + .priority = 0, .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, .damagesUnderground = TRUE, .skyBattleBanned = TRUE, @@ -2242,12 +2240,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "drops the foe in a fissure."), .effect = EFFECT_OHKO, .power = 1, - .type = TYPE_GROUND, .accuracy = 30, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .damagesUnderground = TRUE, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, @@ -2264,16 +2262,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "turn and strikes next turn."), .effect = EFFECT_SEMI_INVULNERABLE, .power = B_UPDATED_MOVE_DATA >= GEN_4 ? 80 : 60, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .skyBattleBanned = TRUE, .argument = TWO_TURN_ARG(STRINGID_PKMNDUGHOLE, COMPRESS_BITS(STATUS3_UNDERGROUND)), .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, @@ -2290,13 +2288,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "intensifying toxin."), .effect = EFFECT_TOXIC, .power = 0, - .type = TYPE_POISON, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 90 : 85, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -2312,12 +2310,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "cause confusion."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 25, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_CONFUSION, .chance = 10, @@ -2336,12 +2334,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that may lower Sp. Def."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1, .chance = 10, @@ -2360,13 +2358,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may induce sleep."), .effect = EFFECT_SLEEP, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 60, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -2382,16 +2380,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "fashion to raise Attack."), .effect = EFFECT_ATTACK_UP, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 40, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 40, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -2406,16 +2404,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "boost Speed."), .effect = EFFECT_SPEED_UP_2, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -2430,12 +2428,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that always strikes first."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_COOL, @@ -2451,12 +2449,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "every time it is hit."), .effect = EFFECT_RAGE, .power = 20, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_COOL, @@ -2472,13 +2470,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "from battle instantly."), .effect = EFFECT_TELEPORT, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = -6, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, + .priority = -6, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, @@ -2495,12 +2493,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to the user's level."), .effect = EFFECT_LEVEL_DAMAGE, .power = 1, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -2515,21 +2513,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe during one battle."), .effect = EFFECT_MIMIC, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_ACC_UP_1 }, + .priority = 0, .ignoresSubstitute = TRUE, .mimicBanned = TRUE, .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_2, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -2544,16 +2542,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "reduce the foe's Defense."), .effect = EFFECT_DEFENSE_DOWN_2, .power = 0, - .type = TYPE_NORMAL, .accuracy = 85, - .pp = 40, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 40, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .priority = 0, .magicCoatAffected = TRUE, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -2568,16 +2566,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "raise evasiveness."), .effect = EFFECT_EVASION_UP, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 15, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DOUBLE_TEAM, @@ -2590,6 +2588,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Recovers up to half the\n" "user's maximum HP."), + .effect = EFFECT_RESTORE_HP, + .power = 0, + .accuracy = 0, + .type = TYPE_NORMAL, + .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, #if B_UPDATED_MOVE_DATA >= GEN_9 .pp = 5, #elif B_UPDATED_MOVE_DATA >= GEN_4 @@ -2597,18 +2601,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else .pp = 20, #endif - .effect = EFFECT_RESTORE_HP, - .power = 0, - .type = TYPE_NORMAL, - .accuracy = 0, - .target = MOVE_TARGET_USER, - .priority = 0, - .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, - .healingMove = TRUE, .snatchAffected = TRUE, + .healingMove = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -2623,16 +2621,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "muscles to raise Defense."), .effect = EFFECT_DEFENSE_UP, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_HARDEN, @@ -2647,16 +2645,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to raise evasiveness."), .effect = EFFECT_MINIMIZE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 10 : 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 10 : 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -2671,13 +2669,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "using smoke, ink, etc."), .effect = EFFECT_ACCURACY_DOWN, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_EVSN_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, .contestCategory = CONTEST_CATEGORY_SMART, @@ -2693,13 +2691,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "confuses the foe."), .effect = EFFECT_CONFUSE, .power = 0, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, .contestCategory = CONTEST_CATEGORY_SMART, @@ -2715,16 +2713,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "hard shell to raise Defense."), .effect = EFFECT_DEFENSE_UP, .power = 0, - .type = TYPE_WATER, .accuracy = 0, - .pp = 40, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 40, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -2739,16 +2737,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "spots and raise Defense."), .effect = EFFECT_DEFENSE_CURL, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 40, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 40, .zMove = { .effect = Z_EFFECT_ACC_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_DEFENSE_CURL, @@ -2763,16 +2761,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sharply raises Defense."), .effect = EFFECT_DEFENSE_UP_2, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 30, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -2787,16 +2785,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lowers Sp. Atk damage."), .effect = EFFECT_LIGHT_SCREEN, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -2811,13 +2809,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "eliminates all stat changes."), .effect = EFFECT_HAZE, .power = 0, - .type = TYPE_ICE, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 30, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, @@ -2835,16 +2833,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "weakens physical attacks."), .effect = EFFECT_REFLECT, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -2859,17 +2857,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "critical-hit ratio."), .effect = EFFECT_FOCUS_ENERGY, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_ACC_UP_1 }, - .argument = STATUS2_FOCUS_ENERGY, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, + .argument = STATUS2_FOCUS_ENERGY, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_FOCUS_ENERGY, @@ -2884,16 +2882,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "turns to retaliate double."), .effect = EFFECT_BIDE, .power = 1, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_4 ? 0 : 100, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = B_UPDATED_MOVE_DATA >= GEN_4 ? 1 : 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = B_UPDATED_MOVE_DATA >= GEN_4 ? 1 : 0, .makesContact = TRUE, + .mirrorMoveBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -2908,21 +2906,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Pokémon move at random."), .effect = EFFECT_METRONOME, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_DEPENDS, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_DEPENDS, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = B_UPDATED_MOVE_FLAGS >= GEN_3, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -2937,20 +2935,20 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with the same move."), .effect = EFFECT_MIRROR_MOVE, .power = 0, - .type = TYPE_FLYING, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_DEPENDS, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_DEPENDS, + .pp = 20, .zMove = { .effect = Z_EFFECT_ATK_UP_2 }, + .priority = 0, .mimicBanned = TRUE, .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_4, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = B_UPDATED_MOVE_FLAGS >= GEN_3, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -2965,12 +2963,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "makes the user faint."), .effect = EFFECT_EXPLOSION, .power = 200, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 5, + .priority = 0, .parentalBondBanned = TRUE, .contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -2986,12 +2984,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_NORMAL, .accuracy = 75, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ballisticMove = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -3007,12 +3005,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "injure. May also paralyze."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 30 : 20, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, @@ -3032,12 +3030,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that may also poison."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 30 : 20, - .type = TYPE_POISON, .accuracy = 70, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, .chance = 40, @@ -3056,12 +3054,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage. May also poison."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_POISON, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, .chance = 30, @@ -3080,12 +3078,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May cause flinching."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_GROUND, .accuracy = 85, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, .chance = 10, @@ -3104,12 +3102,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "strikes. May cause a burn."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 110 : 120, - .type = TYPE_FIRE, .accuracy = 85, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, .chance = 10, @@ -3128,12 +3126,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to climb waterfalls."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_WATER, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, #if B_UPDATED_MOVE_DATA >= GEN_4 .additionalEffects = ADDITIONAL_EFFECTS({ @@ -3155,12 +3153,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe for "BINDING_TURNS" turns."), .effect = EFFECT_HIT, .power = 35, - .type = TYPE_WATER, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 85 : 75, - .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 15 : 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 15 : 10, + .priority = 0, .makesContact = TRUE, .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -3180,12 +3178,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that never miss."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 20, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -3200,12 +3198,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "attacks on the next turn."), .effect = EFFECT_TWO_TURNS_ATTACK, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 130 : 100, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 10 : 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 10 : 15, + .priority = 0, .makesContact = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, @@ -3229,12 +3227,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "strike 2 to 5 times."), .effect = EFFECT_MULTI_HIT, .power = 20, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -3249,12 +3247,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May lower Speed."), .effect = EFFECT_HIT, .power = 10, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 35, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 35, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, @@ -3274,16 +3272,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and sharply raises Sp. Def."), .effect = EFFECT_SPECIAL_DEFENSE_UP_2, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -3298,13 +3296,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May lower accuracy."), .effect = EFFECT_ACCURACY_DOWN, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 80, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_EVSN_UP_1 }, + .priority = 0, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, .contestCategory = CONTEST_CATEGORY_SMART, @@ -3320,17 +3318,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "user's maximum HP."), .effect = EFFECT_SOFTBOILED, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .healingMove = TRUE, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = TRUE, + .healingMove = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_SOFT_BOILED, @@ -3343,6 +3341,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "A jumping knee kick. If it\n" "misses, the user is hurt."), + .effect = EFFECT_RECOIL_IF_MISS, #if B_UPDATED_MOVE_DATA >= GEN_5 .power = 130, #elif B_UPDATED_MOVE_DATA == GEN_4 @@ -3350,13 +3349,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else .power = 85, #endif - .effect = EFFECT_RECOIL_IF_MISS, - .type = TYPE_FIGHTING, .accuracy = 90, - .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 20, + .priority = 0, .makesContact = TRUE, .gravityBanned = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, @@ -3371,6 +3369,8 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Intimidates and frightens\n" "the foe into paralysis."), + .effect = EFFECT_PARALYZE, + .power = 0, #if B_UPDATED_MOVE_DATA >= GEN_6 .accuracy = 100, #elif B_UPDATED_MOVE_DATA == GEN_5 @@ -3378,14 +3378,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else .accuracy = 75, #endif - .effect = EFFECT_PARALYZE, - .power = 0, .type = TYPE_NORMAL, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 30, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -3401,12 +3399,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "inflicted on a sleeping foe."), .effect = EFFECT_DREAM_EATER, .power = 100, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .healingMove = B_HEAL_BLOCKING >= GEN_6, .contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -3420,6 +3418,8 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Envelops the foe in a toxic\n" "gas that may poison."), + .effect = EFFECT_POISON, + .power = 0, #if B_UPDATED_MOVE_DATA >= GEN_6 .accuracy = 90, #elif B_UPDATED_MOVE_DATA >= GEN_5 @@ -3427,14 +3427,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else .accuracy = 55, #endif - .effect = EFFECT_POISON, - .power = 0, .type = TYPE_POISON, - .pp = 40, - .target = B_UPDATED_MOVE_DATA >= GEN_5 ? MOVE_TARGET_BOTH : MOVE_TARGET_SELECTED, - .priority = 0, .category = DAMAGE_CATEGORY_STATUS, + .target = B_UPDATED_MOVE_DATA >= GEN_5 ? MOVE_TARGET_BOTH : MOVE_TARGET_SELECTED, + .pp = 40, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -3450,12 +3448,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe 2 to 5 times."), .effect = EFFECT_MULTI_HIT, .power = 15, - .type = TYPE_NORMAL, .accuracy = 85, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .ballisticMove = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -3471,12 +3469,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the damage inflicted."), .effect = EFFECT_ABSORB, .power = B_UPDATED_MOVE_DATA >= GEN_7 ? 80 : 20, - .type = TYPE_BUG, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_7 ? 10 : 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_7 ? 10 : 15, + .priority = 0, .makesContact = TRUE, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .healingMove = B_HEAL_BLOCKING >= GEN_6, @@ -3494,13 +3492,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "face that induces sleep."), .effect = EFFECT_SLEEP, .power = 0, - .type = TYPE_NORMAL, .accuracy = 75, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -3516,12 +3514,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "then strikes the next turn."), .effect = EFFECT_TWO_TURNS_ATTACK, .power = 140, - .type = TYPE_FLYING, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .criticalHitStage = B_UPDATED_MOVE_DATA >= GEN_3, .sleepTalkBanned = TRUE, .instructBanned = TRUE, @@ -3546,21 +3544,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "become a copy of the foe."), .effect = EFFECT_TRANSFORM, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .mimicBanned = TRUE, .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_5, .copycatBanned = TRUE, + .assistBanned = TRUE, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -3575,12 +3573,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May lower the foe's Speed."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 40 : 20, - .type = TYPE_WATER, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 30, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, .chance = 10, @@ -3599,12 +3597,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "confuse the foe."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -3625,13 +3623,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that always induce sleep."), .effect = EFFECT_SLEEP, .power = 0, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .magicCoatAffected = TRUE, .powderMove = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, @@ -3648,13 +3646,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "light that cuts accuracy."), .effect = EFFECT_ACCURACY_DOWN, .power = 0, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_4 ? 100 : 70, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_EVSN_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -3670,12 +3668,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "wave of varying intensity."), .effect = EFFECT_PSYWAVE, .power = 1, - .type = TYPE_PSYCHIC, .accuracy = B_UPDATED_MOVE_DATA >= GEN_6 ? 100 : 80, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -3690,16 +3688,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Has no effect whatsoever."), .effect = EFFECT_DO_NOTHING, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 40, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 40, .zMove = { .effect = Z_EFFECT_ATK_UP_3 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .gravityBanned = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -3714,15 +3712,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to sharply raise Defense."), .effect = EFFECT_DEFENSE_UP_2, .power = 0, - .type = TYPE_POISON, .accuracy = 0, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 40, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 40, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -3738,13 +3736,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "high critical-hit ratio."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 100 : 90, - .type = TYPE_WATER, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 90 : 85, - .criticalHitStage = 1, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, + .criticalHitStage = 1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -3760,12 +3758,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "makes the user faint."), .effect = EFFECT_EXPLOSION, .power = 250, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 5, + .priority = 0, .parentalBondBanned = TRUE, .contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -3781,12 +3779,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "claws, etc., 2 to 5 times."), .effect = EFFECT_MULTI_HIT, .power = 18, - .type = TYPE_NORMAL, .accuracy = 80, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -3802,12 +3800,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that strikes twice."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_GROUND, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .strikeCount = 2, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -3823,17 +3821,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "restoring HP and status."), .effect = EFFECT_REST, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, + .snatchAffected = TRUE, .healingMove = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_REST, @@ -3848,12 +3846,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May cause flinching."), .effect = EFFECT_HIT, .power = 75, - .type = TYPE_ROCK, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, .chance = 30, @@ -3872,12 +3870,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May cause flinching."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_NORMAL, .accuracy = 90, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .bitingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -3898,15 +3896,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and raises Attack."), .effect = EFFECT_ATTACK_UP, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -3922,15 +3920,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "into a known move's type."), .effect = EFFECT_CONVERSION, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 }, - .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -3946,12 +3944,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "at the same time."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_TRI_ATTACK, .chance = 20, @@ -3970,12 +3968,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and cuts half the foe's HP."), .effect = EFFECT_SUPER_FANG, .power = 1, - .type = TYPE_NORMAL, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, @@ -3992,13 +3990,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "a high critical-hit ratio."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_NORMAL, .accuracy = 100, - .criticalHitStage = 1, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, + .criticalHitStage = 1, .makesContact = TRUE, .slicingMove = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, @@ -4015,15 +4013,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "of the user's maximum HP."), .effect = EFFECT_SUBSTITUTE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, @@ -4038,35 +4036,32 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Used only if all PP are gone.\n" "Also hurts the user a little."), + .effect = B_UPDATED_MOVE_DATA >= GEN_4 ? EFFECT_RECOIL_HP_25 : EFFECT_HIT, + .power = 50, + .accuracy = B_UPDATED_MOVE_DATA >= GEN_4 ? 0 : 100, + .type = TYPE_NORMAL, + .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, + .recoil = B_UPDATED_MOVE_DATA >= GEN_4 ? 0 : 25, + .makesContact = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_DATA >= GEN_4, + .meFirstBanned = TRUE, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .assistBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, + .encoreBanned = TRUE, + .sketchBanned = TRUE, #if B_UPDATED_MOVE_DATA >= GEN_4 - .effect = EFFECT_RECOIL_HP_25, - .accuracy = 0, - .mirrorMoveBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RECOIL_HP_25, .self = TRUE, }), - #else - .effect = EFFECT_HIT, - .accuracy = 100, - .recoil = 25, #endif - .power = 50, - .type = TYPE_NORMAL, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, - .meFirstBanned = TRUE, - .mimicBanned = TRUE, - .metronomeBanned = TRUE, - .sleepTalkBanned = TRUE, - .copycatBanned = TRUE, - .instructBanned = TRUE, - .encoreBanned = TRUE, - .assistBanned = TRUE, - .sketchBanned = TRUE, }, [MOVE_SKETCH] = @@ -4077,23 +4072,23 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "permanently."), .effect = EFFECT_SKETCH, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 1, .zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = B_UPDATED_MOVE_FLAGS >= GEN_5, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, .sketchBanned = TRUE, .contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, .contestCategory = CONTEST_CATEGORY_SMART, @@ -4109,14 +4104,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "row with rising intensity."), .effect = EFFECT_TRIPLE_KICK, .power = 10, - .type = TYPE_FIGHTING, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .strikeCount = 3, + .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -4131,12 +4126,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "steal the foe's held item."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 60 : 40, - .type = TYPE_DARK, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 25 : 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 25 : 10, + .priority = 0, .makesContact = TRUE, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .meFirstBanned = TRUE, @@ -4160,13 +4155,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "from fleeing or switching."), .effect = EFFECT_MEAN_LOOK, .power = 0, - .type = TYPE_BUG, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = (B_UPDATED_MOVE_FLAGS >= GEN_6) || (B_UPDATED_MOVE_FLAGS <= GEN_3), .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, @@ -4183,13 +4178,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "ensure the next move's hit."), .effect = EFFECT_LOCK_ON, .power = 0, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_4 ? 0 : 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 5, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_MIND_READER, @@ -4204,13 +4199,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sleeping foe every turn."), .effect = EFFECT_NIGHTMARE, .power = 0, - .type = TYPE_GHOST, .accuracy = B_UPDATED_MOVE_DATA >= GEN_4 ? 100 : 0, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .ignoresProtect = B_UPDATED_MOVE_FLAGS <= GEN_3, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -4226,12 +4221,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may inflict a burn."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 25, + .priority = 0, .makesContact = TRUE, .thawsUser = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -4252,14 +4247,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "used only while asleep."), .effect = EFFECT_SNORE, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 50 : 40, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_5, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -4279,13 +4274,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "differently for GHOSTS."), .effect = EFFECT_CURSE, .power = 0, - .type = B_UPDATED_MOVE_TYPES >= GEN_5 ? TYPE_GHOST : TYPE_MYSTERY, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = B_UPDATED_MOVE_TYPES >= GEN_5 ? TYPE_GHOST : TYPE_MYSTERY, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_CURSE }, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, @@ -4303,12 +4298,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the user's HP is down."), .effect = EFFECT_FLAIL, .power = 1, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -4324,13 +4319,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to the last attack's type."), .effect = EFFECT_CONVERSION_2, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, + .priority = 0, .ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_5, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, @@ -4348,13 +4343,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_FLYING, .accuracy = 95, - .criticalHitStage = 1, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, + .criticalHitStage = 1, .windMove = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_COOL, @@ -4370,13 +4365,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sharply reducing Speed."), .effect = EFFECT_SPEED_DOWN_2, .power = 0, - .type = TYPE_GRASS, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 100 : 85, - .pp = 40, - .target = B_UPDATED_MOVE_DATA >= GEN_6 ? MOVE_TARGET_BOTH : MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = B_UPDATED_MOVE_DATA >= GEN_6 ? MOVE_TARGET_BOTH : MOVE_TARGET_SELECTED, + .pp = 40, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .magicCoatAffected = TRUE, .powderMove = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, @@ -4393,12 +4388,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the user's HP is down."), .effect = EFFECT_FLAIL, .power = 1, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_COOL, @@ -4414,13 +4409,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "of the foe's last move."), .effect = EFFECT_SPITE, .power = 0, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, + .priority = 0, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, @@ -4437,12 +4432,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "gust. May cause freezing."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_ICE, .accuracy = 100, - .pp = 25, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 25, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE, .chance = 10, @@ -4461,13 +4456,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "if used in succession."), .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = B_UPDATED_MOVE_DATA >= GEN_5 ? 4 : 3, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = B_UPDATED_MOVE_DATA >= GEN_5 ? 4 : 3, .metronomeBanned = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, @@ -4485,12 +4480,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "speed to strike first."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 1, .makesContact = TRUE, .punchingMove = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, @@ -4507,13 +4502,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to sharply reduce Speed."), .effect = EFFECT_SPEED_DOWN_2, .power = 0, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 100 : 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -4527,12 +4522,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sFeintDescription, .effect = EFFECT_HIT, .power = 60, - .type = TYPE_DARK, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = B_UPDATED_MOVE_DATA >= GEN_4, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_SMART, @@ -4548,13 +4543,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "look. May cause confusion."), .effect = EFFECT_CONFUSE, .power = 0, - .type = B_UPDATED_MOVE_TYPES >= GEN_6 ? TYPE_FAIRY : TYPE_NORMAL, .accuracy = 75, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = B_UPDATED_MOVE_TYPES >= GEN_6 ? TYPE_FAIRY : TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -4570,15 +4565,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sacrificing HP."), .effect = EFFECT_BELLY_DRUM, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -4594,12 +4589,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage. May also poison."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_POISON, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ballisticMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, @@ -4619,12 +4614,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to reduce its accuracy."), .effect = EFFECT_HIT, .power = 20, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ACC_MINUS_1, .chance = 100, @@ -4643,12 +4638,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage and cut accuracy."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_WATER, .accuracy = 85, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ballisticMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ACC_MINUS_1, @@ -4668,16 +4663,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe switching in."), .effect = EFFECT_SPIKES, .power = 0, - .type = TYPE_GROUND, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_OPPONENTS_FIELD, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_OPPONENTS_FIELD, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -4693,12 +4688,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "paralysis, but inaccurate."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_4 ? 120 : 100, - .type = TYPE_ELECTRIC, .accuracy = 50, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .ballisticMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, @@ -4718,13 +4713,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to heighten evasiveness."), .effect = EFFECT_FORESIGHT, .power = 0, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 0 : 100, - .pp = 40, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 40, .zMove = { .effect = Z_EFFECT_BOOST_CRITS }, + .priority = 0, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, @@ -4741,13 +4736,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "is also made to faint."), .effect = EFFECT_DESTINY_BOND, .power = 0, - .type = TYPE_GHOST, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 5, .zMove = { .effect = Z_EFFECT_FOLLOW_ME }, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, @@ -4768,17 +4763,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "song faints in 3 turns."), .effect = EFFECT_PERISH_SONG, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 5, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .ignoresProtect = TRUE, + .soundMove = TRUE, .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .mirrorMoveBanned = TRUE, - .soundMove = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -4793,12 +4788,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lowers the foe's Speed."), .effect = EFFECT_HIT, .power = 55, - .type = TYPE_ICE, .accuracy = 95, - .pp = 15, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 15, + .priority = 0, .windMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, @@ -4818,13 +4813,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "if used in succession."), .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_USER, - .priority = B_UPDATED_MOVE_DATA >= GEN_5 ? 4 : 3, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 5, .zMove = { .effect = Z_EFFECT_EVSN_UP_1 }, + .priority = B_UPDATED_MOVE_DATA >= GEN_5 ? 4 : 3, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -4844,12 +4839,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "in hand 2 to 5 times."), .effect = EFFECT_MULTI_HIT, .power = 25, - .type = TYPE_GROUND, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 90 : 80, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_BONE_RUSH, @@ -4864,13 +4859,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "ensure the next move hits."), .effect = EFFECT_LOCK_ON, .power = 0, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_4 ? 0 : 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 5, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_LOCK_ON, @@ -4885,12 +4880,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that confuses the user."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_4 ? 120 : 90, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 15, - .target = MOVE_TARGET_RANDOM, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_RANDOM, + .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 15, + .priority = 0, .makesContact = TRUE, .instructBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -4911,16 +4906,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "rages for several turns."), .effect = EFFECT_SANDSTORM, .power = 0, - .type = TYPE_ROCK, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .windMove = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SANDSTORM, @@ -4935,12 +4930,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the damage inflicted."), .effect = EFFECT_ABSORB, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 75 : 60, - .type = TYPE_GRASS, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_4 ? 10 : 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_4 ? 10 : 5, + .priority = 0, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .healingMove = B_HEAL_BLOCKING >= GEN_6, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, @@ -4957,13 +4952,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "1 turn, leaving at least 1HP."), .effect = EFFECT_ENDURE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = B_UPDATED_MOVE_DATA >= GEN_5 ? 4 : 3, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = B_UPDATED_MOVE_DATA >= GEN_5 ? 4 : 3, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -4983,13 +4978,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "reduces its Attack."), .effect = EFFECT_ATTACK_DOWN_2, .power = 0, - .type = B_UPDATED_MOVE_TYPES >= GEN_6 ? TYPE_FAIRY : TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = B_UPDATED_MOVE_TYPES >= GEN_6 ? TYPE_FAIRY : TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -5005,12 +5000,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with rising intensity."), .effect = EFFECT_ROLLOUT, .power = 30, - .type = TYPE_ROCK, .accuracy = 90, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .instructBanned = TRUE, .parentalBondBanned = TRUE, @@ -5026,12 +5021,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sFalseSwipeDescription, .effect = EFFECT_FALSE_SWIPE, .power = 40, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 40, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 40, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -5047,13 +5042,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sharply raises Attack."), .effect = EFFECT_SWAGGER, .power = 0, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_7 ? 85 : 90, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -5069,16 +5064,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "user's maximum HP."), .effect = EFFECT_SOFTBOILED, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .healingMove = TRUE, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -5094,12 +5089,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may paralyze the foe."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, @@ -5117,6 +5112,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "An attack that intensifies\n" "on each successive hit."), + .effect = EFFECT_FURY_CUTTER, #if B_UPDATED_MOVE_DATA >= GEN_6 .power = 40, #elif B_UPDATED_MOVE_DATA >= GEN_5 @@ -5124,13 +5120,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else .power = 10, #endif - .effect = EFFECT_FURY_CUTTER, - .type = TYPE_BUG, .accuracy = 95, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, @@ -5147,12 +5142,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "wings spread wide."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_STEEL, .accuracy = 90, - .pp = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 25, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_PLUS_1, @@ -5173,13 +5168,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "look that prevents escape."), .effect = EFFECT_MEAN_LOOK, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 5, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .ignoresProtect = (B_UPDATED_MOVE_FLAGS >= GEN_6) || (B_UPDATED_MOVE_FLAGS <= GEN_3), .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, @@ -5196,13 +5191,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "less likely to attack."), .effect = EFFECT_ATTRACT, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .magicCoatAffected = TRUE, .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, @@ -5219,22 +5214,22 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "randomly while asleep."), .effect = EFFECT_SLEEP_TALK, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_DEPENDS, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_DEPENDS, + .pp = 10, .zMove = { .effect = Z_EFFECT_BOOST_CRITS }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, + .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .mimicBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -5249,18 +5244,18 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "all status abnormalities."), .effect = EFFECT_HEAL_BELL, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_USER | MOVE_TARGET_ALLY, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER | MOVE_TARGET_ALLY, + .pp = 5, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .soundMove = B_UPDATED_MOVE_FLAGS != GEN_5, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, - .soundMove = B_UPDATED_MOVE_FLAGS != GEN_5, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_HEAL_BELL, @@ -5275,12 +5270,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "in power with friendship."), .effect = EFFECT_RETURN, .power = 1, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -5296,12 +5291,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "bomb. May restore HP."), .effect = EFFECT_PRESENT, .power = 1, - .type = TYPE_NORMAL, .accuracy = 90, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -5317,12 +5312,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "if the Trainer is disliked."), .effect = EFFECT_FRUSTRATION, .power = 1, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -5338,15 +5333,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "all status problems."), .effect = EFFECT_SAFEGUARD, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 25, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 25, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -5362,13 +5357,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "then shares them equally."), .effect = EFFECT_PAIN_SPLIT, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -5383,12 +5378,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may inflict a burn."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_FIRE, .accuracy = 95, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .thawsUser = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, @@ -5408,12 +5403,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "of random intensity."), .effect = EFFECT_MAGNITUDE, .power = 1, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 30, + .priority = 0, .damagesUnderground = TRUE, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, @@ -5430,12 +5425,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "confusion, but inaccurate."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_FIGHTING, .accuracy = 50, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -5456,12 +5451,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "using out-thrust horns."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_BUG, .accuracy = 85, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_COOL, @@ -5477,12 +5472,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "incredible blast of breath."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, @@ -5502,13 +5497,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "keeping effects in play."), .effect = EFFECT_BATON_PASS, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 40, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 40, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, @@ -5525,16 +5520,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "last move over 2 to 6 turns."), .effect = EFFECT_ENCORE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 5, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, - .encoreBanned = TRUE, .ignoresSubstitute = TRUE, + .encoreBanned = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -5549,12 +5544,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "on a foe switching out."), .effect = EFFECT_PURSUIT, .power = 40, - .type = TYPE_DARK, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4), .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, @@ -5571,12 +5566,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "speed to strike the foe."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 50 : 20, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 40, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 40, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RAPIDSPIN, @@ -5604,13 +5599,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "evasiveness."), .effect = B_UPDATED_MOVE_DATA >= GEN_6 ? EFFECT_EVASION_DOWN_2 : EFFECT_EVASION_DOWN, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_BOTH, + .pp = 20, .zMove = { .effect = Z_EFFECT_ACC_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -5626,12 +5621,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "tail. May lower Defense."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_STEEL, .accuracy = 75, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_MINUS_1, @@ -5651,12 +5646,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "raise the user's Attack."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_STEEL, .accuracy = 95, - .pp = 35, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 35, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ATK_PLUS_1, @@ -5677,12 +5672,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "but it never misses."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = -1, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = -1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER, .contestCategory = CONTEST_CATEGORY_COOL, @@ -5698,16 +5693,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "varies with the weather."), .effect = EFFECT_MORNING_SUN, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 5, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .healingMove = TRUE, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -5723,16 +5718,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "varies with the weather."), .effect = EFFECT_SYNTHESIS, .power = 0, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 5, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .healingMove = TRUE, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, .contestCategory = CONTEST_CATEGORY_SMART, @@ -5748,16 +5743,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "varies with the weather."), .effect = EFFECT_MOONLIGHT, .power = 0, - .type = B_UPDATED_MOVE_TYPES >= GEN_6 ? TYPE_FAIRY : TYPE_NORMAL, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = B_UPDATED_MOVE_TYPES >= GEN_6 ? TYPE_FAIRY : TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 5, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .healingMove = TRUE, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -5771,14 +5766,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "The effectiveness varies\n" "with the user."), - .power = B_HIDDEN_POWER_DMG >= GEN_6 ? 60 : 1, .effect = EFFECT_HIDDEN_POWER, - .type = TYPE_NORMAL, + .power = B_HIDDEN_POWER_DMG >= GEN_6 ? 60 : 1, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -5793,13 +5788,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_FIGHTING, .accuracy = 80, - .criticalHitStage = 1, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, + .criticalHitStage = 1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_COOL, @@ -5815,14 +5810,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to tear at the foe."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, - .damagesAirborneDoubleDamage = TRUE, + .target = MOVE_TARGET_BOTH, + .pp = 20, + .priority = 0, .windMove = TRUE, + .damagesAirborneDoubleDamage = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, .chance = 20, @@ -5841,13 +5836,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "type moves for 5 turns."), .effect = EFFECT_RAIN_DANCE, .power = 0, - .type = TYPE_WATER, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 5, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, @@ -5864,13 +5859,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "type moves for 5 turns."), .effect = EFFECT_SUNNY_DAY, .power = 0, - .type = TYPE_FIRE, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 5, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, @@ -5891,15 +5886,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #endif .effect = EFFECT_HIT, .power = 80, - .type = TYPE_DARK, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .bitingMove = TRUE, - .additionalEffects = ADDITIONAL_EFFECTS({ + .additionalEffects = ADDITIONAL_EFFECTS({ #if B_UPDATED_MOVE_DATA >= GEN_4 .moveEffect = MOVE_EFFECT_DEF_MINUS_1, #else @@ -5921,12 +5916,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "attack at double the power."), .effect = EFFECT_MIRROR_COAT, .power = 1, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_DEPENDS, - .priority = -5, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_DEPENDS, + .pp = 20, + .priority = -5, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS >= GEN_4, .meFirstBanned = TRUE, .metronomeBanned = TRUE, @@ -5945,17 +5940,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and gives to the user."), .effect = EFFECT_PSYCH_UP, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS < GEN_5, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, - .snatchAffected = B_UPDATED_MOVE_FLAGS < GEN_5, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -5970,12 +5965,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "powerful attack."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = B_UPDATED_MOVE_DATA >= GEN_5 ? 2 : 1, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = B_UPDATED_MOVE_DATA >= GEN_5 ? 2 : 1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_COOL, @@ -5991,12 +5986,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "all stats."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_ROCK, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = B_UPDATED_MOVE_DATA < GEN_4, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ALL_STATS_UP, @@ -6017,12 +6012,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lower the foe's Sp. Def."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .ballisticMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1, @@ -6040,6 +6035,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Heightens inner power to\n" "strike 2 turns later."), + .effect = EFFECT_FUTURE_SIGHT, #if B_UPDATED_MOVE_DATA >= GEN_6 .power = 120, #elif B_UPDATED_MOVE_DATA >= GEN_5 @@ -6047,13 +6043,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else .power = 80, #endif - .effect = EFFECT_FUTURE_SIGHT, - .type = TYPE_PSYCHIC, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 100 : 90, - .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 15, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, @@ -6070,12 +6065,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that may lower Defense."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_4 ? 40 : 20, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_MINUS_1, @@ -6095,12 +6090,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "a whirlpool for "BINDING_TURNS" turns."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 35 : 15, - .type = TYPE_WATER, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 85 : 70, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .damagesUnderwater = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_WRAP, @@ -6119,12 +6114,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "join in the attack."), .effect = EFFECT_BEAT_UP, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 1 : 10, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -6137,15 +6132,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "A 1st-turn, 1st-strike move\n" "that causes flinching."), - .priority = B_UPDATED_MOVE_DATA >= GEN_5 ? 3 : 1, - .makesContact = B_UPDATED_MOVE_DATA >= GEN_4, .effect = EFFECT_FIRST_TURN_ONLY, .power = 40, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = B_UPDATED_MOVE_DATA >= GEN_5 ? 3 : 1, + .makesContact = B_UPDATED_MOVE_DATA >= GEN_4, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, .chance = 100, @@ -6168,14 +6163,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "turns and prevents sleep."), .effect = EFFECT_UPROAR, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 90 : 50, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_RANDOM, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .target = MOVE_TARGET_RANDOM, + .pp = 10, + .priority = 0, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -6196,15 +6191,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "3 turns."), .effect = EFFECT_STOCKPILE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = B_UPDATED_MOVE_DATA >= GEN_4 ? 20 : 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_4 ? 20 : 10, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -6220,12 +6215,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "(the more the better)."), .effect = EFFECT_SPIT_UP, .power = B_UPDATED_MOVE_DATA >= GEN_4 ? 1 : 100, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -6241,16 +6236,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and restores HP."), .effect = EFFECT_SWALLOW, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .healingMove = TRUE, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -6266,12 +6261,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe. May inflict a burn."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 95 : 100, - .type = TYPE_FIRE, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .windMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, @@ -6291,13 +6286,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "strikes every turn."), .effect = EFFECT_HAIL, .power = 0, - .type = TYPE_ICE, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, @@ -6314,13 +6309,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "successive use of a move."), .effect = EFFECT_TORMENT, .power = 0, - .type = TYPE_DARK, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -6336,13 +6331,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "raises its Sp. Atk."), .effect = EFFECT_FLATTER, .power = 0, - .type = TYPE_DARK, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -6358,13 +6353,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with intense fire."), .effect = EFFECT_WILL_O_WISP, .power = 0, - .type = TYPE_FIRE, .accuracy = B_UPDATED_MOVE_DATA >= GEN_6 ? 85 : 75, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -6380,13 +6375,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe's abilities."), .effect = EFFECT_MEMENTO, .power = 0, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESTORE_REPLACEMENT_HP }, + .priority = 0, .contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -6401,12 +6396,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "paralyzed, or poisoned."), .effect = EFFECT_FACADE, .power = 70, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -6422,21 +6417,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "The user flinches if hit."), .effect = EFFECT_FOCUS_PUNCH, .power = 150, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = -3, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = -3, .makesContact = TRUE, - .mirrorMoveBanned = TRUE, .punchingMove = TRUE, + .mirrorMoveBanned = TRUE, .meFirstBanned = TRUE, - .sleepTalkBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, - .instructBanned = TRUE, .assistBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -6451,14 +6446,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foes, but also heals them."), .effect = EFFECT_DOUBLE_POWER_ON_ARG_STATUS, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 70 : 60, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = STATUS1_PARALYSIS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, + .argument = STATUS1_PARALYSIS, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_REMOVE_STATUS, }), @@ -6476,13 +6471,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foes attack only the user."), .effect = EFFECT_FOLLOW_ME, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = B_UPDATED_MOVE_DATA >= GEN_6 ? 2 : 3, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = B_UPDATED_MOVE_DATA >= GEN_6 ? 2 : 3, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -6502,19 +6497,19 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "depending on the location."), .effect = EFFECT_NATURE_POWER, .power = 1, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_DEPENDS, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_DEPENDS, + .pp = 20, + .priority = 0, + .mimicBanned = TRUE, .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_4, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, - .mimicBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -6529,15 +6524,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "electric move used next."), .effect = EFFECT_CHARGE, .power = 0, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_SMART, @@ -6553,15 +6548,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "using attack moves."), .effect = EFFECT_TAUNT, .power = 0, - .type = TYPE_DARK, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, - .ignoresSubstitute = TRUE, + .priority = 0, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_TAUNT, @@ -6576,13 +6571,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "recipient's moves."), .effect = EFFECT_HELPING_HAND, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = B_UPDATED_MOVE_DATA >= GEN_4 ? MOVE_TARGET_ALLY : MOVE_TARGET_USER, - .priority = 5, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = B_UPDATED_MOVE_DATA >= GEN_4 ? MOVE_TARGET_ALLY : MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 5, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, @@ -6603,13 +6598,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "held items."), .effect = EFFECT_TRICK, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_2 }, + .priority = 0, .metronomeBanned = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, @@ -6627,13 +6622,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "copies its special ability."), .effect = EFFECT_ROLE_PLAY, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, @@ -6651,16 +6646,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "It takes time to work."), .effect = EFFECT_WISH, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, - .healingMove = TRUE, - .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -6676,21 +6671,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "of the partner's moves."), .effect = EFFECT_ASSIST, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_DEPENDS, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_DEPENDS, + .pp = 20, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, + .mimicBanned = TRUE, .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_4, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, - .mimicBanned = TRUE, .contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -6705,15 +6700,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "The user can't switch out."), .effect = EFFECT_INGRAIN, .power = 0, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, @@ -6730,12 +6725,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "but lowers abilities."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ATK_DEF_DOWN, @@ -6755,13 +6750,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "back to the attacker."), .effect = EFFECT_MAGIC_COAT, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_DEPENDS, - .priority = 4, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_DEPENDS, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPDEF_UP_2 }, + .priority = 4, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, @@ -6778,15 +6773,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "one more use."), .effect = EFFECT_RECYCLE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_2 }, - .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_SMART, @@ -6800,12 +6795,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sRevengeDescription, .effect = EFFECT_REVENGE, .power = 60, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = -4, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = -4, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -6821,12 +6816,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "REFLECT and causes damage."), .effect = EFFECT_BRICK_BREAK, .power = 75, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, .contestCategory = CONTEST_CATEGORY_COOL, @@ -6842,13 +6837,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "then sleeping next turn."), .effect = EFFECT_YAWN, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -6864,12 +6859,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "item to prevent its use."), .effect = EFFECT_KNOCK_OFF, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 65 : 20, - .type = TYPE_DARK, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_KNOCK_OFF, @@ -6888,12 +6883,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "is lower than the foe's HP."), .effect = EFFECT_ENDEAVOR, .power = 1, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .parentalBondBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, @@ -6910,12 +6905,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the more damage caused."), .effect = EFFECT_ERUPTION, .power = 150, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 5, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -6930,13 +6925,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "abilities with the target."), .effect = EFFECT_SKILL_SWAP, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, .contestCategory = CONTEST_CATEGORY_SMART, @@ -6952,15 +6947,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "moves known by the user."), .effect = EFFECT_IMPRISON, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPDEF_UP_2 }, - .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, @@ -6977,15 +6972,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "or a burn."), .effect = EFFECT_REFRESH, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -7001,13 +6996,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "all PP of foe's last move."), .effect = EFFECT_GRUDGE, .power = 0, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 5, .zMove = { .effect = Z_EFFECT_FOLLOW_ME }, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, @@ -7025,13 +7020,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "move the target uses next."), .effect = EFFECT_SNATCH, .power = 0, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_DEPENDS, - .priority = 4, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_DEPENDS, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_2 }, + .priority = 4, .ignoresSubstitute = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, @@ -7050,12 +7045,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that vary by location."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SECRET_POWER, .chance = 30, @@ -7074,16 +7069,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "turn and strikes next turn."), .effect = EFFECT_SEMI_INVULNERABLE, .power = B_UPDATED_MOVE_DATA >= GEN_4 ? 80 : 60, - .type = TYPE_WATER, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .skyBattleBanned = TRUE, .argument = TWO_TURN_ARG(STRINGID_PKMNHIDUNDERWATER, COMPRESS_BITS(STATUS3_UNDERWATER)), .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, @@ -7100,12 +7095,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "strike the foe 2 to 5 times."), .effect = EFFECT_MULTI_HIT, .power = 15, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -7121,15 +7116,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "depending on the location."), .effect = EFFECT_CAMOUFLAGE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_EVSN_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_SMART, @@ -7145,15 +7140,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "raises Sp. Atk."), .effect = B_UPDATED_MOVE_DATA >= GEN_5 ? EFFECT_SPECIAL_ATTACK_UP_3 : EFFECT_SPECIAL_ATTACK_UP_2, .power = 0, - .type = TYPE_BUG, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -7169,12 +7164,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "light. May lower Sp. Def."), .effect = EFFECT_HIT, .power = (B_UPDATED_MOVE_DATA >= GEN_9) ? 95 : 70, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1, .chance = 50, @@ -7193,12 +7188,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "down. May lower Sp. Atk."), .effect = EFFECT_HIT, .power = (B_UPDATED_MOVE_DATA >= GEN_9) ? 95 : 70, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .ballisticMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1, @@ -7218,13 +7213,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to sharply reduce Attack."), .effect = EFFECT_ATTACK_DOWN_2, .power = 0, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .danceMove = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, @@ -7241,13 +7236,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the scene."), .effect = EFFECT_TEETER_DANCE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .danceMove = TRUE, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_4, .contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, @@ -7264,13 +7259,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "hit ratio. May cause a burn."), .effect = EFFECT_HIT, .power = 85, - .type = TYPE_FIRE, .accuracy = 90, - .criticalHitStage = 1, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, + .criticalHitStage = 1, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, @@ -7290,13 +7285,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "raise electrical resistance."), .effect = EFFECT_MUD_SPORT, .power = 0, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, @@ -7314,12 +7309,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "power on successive hits."), .effect = EFFECT_ROLLOUT, .power = 30, - .type = TYPE_ICE, .accuracy = 90, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .ballisticMove = TRUE, .instructBanned = TRUE, @@ -7338,12 +7333,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May cause flinching."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_4, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -7364,16 +7359,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "half the maximum HP."), .effect = EFFECT_RESTORE_HP, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .healingMove = TRUE, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -7389,12 +7384,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sound waves to injure."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .soundMove = TRUE, .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, @@ -7411,12 +7406,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May badly poison the foe."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_POISON, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .bitingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -7437,12 +7432,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "claws. May lower Defense."), .effect = EFFECT_HIT, .power = 75, - .type = TYPE_NORMAL, .accuracy = 95, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_MINUS_1, @@ -7462,12 +7457,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "user immobile the next turn."), .effect = EFFECT_HIT, .power = 150, - .type = TYPE_FIRE, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RECHARGE, .self = TRUE, @@ -7486,12 +7481,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "user immobile the next turn."), .effect = EFFECT_HIT, .power = 150, - .type = TYPE_WATER, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RECHARGE, .self = TRUE, @@ -7510,12 +7505,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May raise Attack."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 90 : 100, - .type = TYPE_STEEL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_6 ? 90 : 85, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -7537,12 +7532,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe into flinching."), .effect = EFFECT_HIT, .power = 30, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_4, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -7563,12 +7558,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "change with the weather."), .effect = EFFECT_WEATHER_BALL, .power = 50, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ballisticMove = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_SMART, @@ -7584,15 +7579,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with a soothing scent."), .effect = EFFECT_HEAL_BELL, .power = 0, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_USER | MOVE_TARGET_ALLY, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER | MOVE_TARGET_ALLY, + .pp = 5, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_SMART, @@ -7608,13 +7603,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lower the foe's Sp. Def."), .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2, .power = 0, - .type = TYPE_DARK, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_SMART, @@ -7630,13 +7625,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 60 : 55, - .type = TYPE_FLYING, .accuracy = 95, - .criticalHitStage = 1, - .pp = 25, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 25, + .priority = 0, + .criticalHitStage = 1, .windMove = TRUE, .slicingMove = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, @@ -7653,12 +7648,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "but sharply lowers Sp. Atk."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 130 : 140, - .type = TYPE_FIRE, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = B_UPDATED_MOVE_DATA < GEN_4, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_TWO_DOWN, @@ -7678,15 +7673,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to heighten evasiveness."), .effect = EFFECT_FORESIGHT, .power = 0, - .type = TYPE_NORMAL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_4 ? 0 : 100, - .pp = 40, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 40, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, - .ignoresSubstitute = TRUE, + .priority = 0, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -7701,12 +7696,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with rocks and cuts Speed."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 60 : 50, - .type = TYPE_ROCK, .accuracy = B_UPDATED_MOVE_DATA >= GEN_6 ? 95 : 80, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 15 : 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 15 : 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, .chance = 100, @@ -7725,12 +7720,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "raise abilities."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_BUG, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .windMove = B_EXTRAPOLATED_MOVE_FLAGS, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ALL_STATS_UP, @@ -7751,16 +7746,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that sharply lowers Sp. Def."), .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2, .power = 0, - .type = TYPE_STEEL, .accuracy = 85, - .pp = 40, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 40, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .priority = 0, .magicCoatAffected = TRUE, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_METAL_SOUND, @@ -7775,16 +7770,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with a pleasant melody."), .effect = EFFECT_SLEEP, .power = 0, - .type = TYPE_GRASS, .accuracy = 55, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .priority = 0, .magicCoatAffected = TRUE, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -7799,13 +7794,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lower Attack and Defense."), .effect = EFFECT_TICKLE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -7821,15 +7816,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with a mystic power."), .effect = EFFECT_COSMIC_POWER, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -7845,12 +7840,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "user's HP is high."), .effect = EFFECT_ERUPTION, .power = 150, - .type = TYPE_WATER, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 5, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -7865,12 +7860,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may confuse the foe."), .effect = EFFECT_HIT, .power = 75, - .type = TYPE_BUG, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_CONFUSION, .chance = 10, @@ -7889,12 +7884,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "is thrown from shadows."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_GHOST, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, @@ -7911,12 +7906,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "power. May cause flinching."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 30, + .priority = 0, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_4, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -7936,12 +7931,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "leaping into the sky."), .effect = EFFECT_HIT, .power = 85, - .type = TYPE_FIGHTING, .accuracy = 90, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .damagesAirborne = TRUE, @@ -7959,12 +7954,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "quicksand for "BINDING_TURNS" turns."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 35 : 15, - .type = TYPE_GROUND, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 85 : 70, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_WRAP, }), @@ -7982,12 +7977,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "causes fainting if it hits."), .effect = EFFECT_OHKO, .power = 1, - .type = TYPE_ICE, .accuracy = 30, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -8002,12 +7997,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May lower accuracy."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 90 : 95, - .type = TYPE_WATER, .accuracy = 85, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .skyBattleBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ACC_MINUS_1, @@ -8027,12 +8022,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to strike the foe."), .effect = EFFECT_MULTI_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 25 : 10, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 0, .ballisticMove = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -8048,12 +8043,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "unavoidable attack."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_FLYING, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, @@ -8070,12 +8065,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "2 to 5 icicles in a row."), .effect = EFFECT_MULTI_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 25 : 10, - .type = TYPE_ICE, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 0, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -8090,15 +8085,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to sharply raise Defense."), .effect = EFFECT_DEFENSE_UP_2, .power = 0, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 15, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -8114,13 +8109,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "prevent escape."), .effect = EFFECT_MEAN_LOOK, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 5, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = (B_UPDATED_MOVE_FLAGS >= GEN_6) || (B_UPDATED_MOVE_FLAGS <= GEN_3), .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, @@ -8135,19 +8130,19 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "Howls to raise the spirit\n" "and boosts Attack."), - .power = 0, .effect = B_UPDATED_MOVE_DATA >= GEN_8 ? EFFECT_ATTACK_UP_USER_ALLY : EFFECT_ATTACK_UP, - .type = TYPE_NORMAL, + .power = 0, .accuracy = 0, - .pp = 40, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 40, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, + .snatchAffected = TRUE, .soundMove = B_UPDATED_MOVE_FLAGS >= GEN_8, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -8162,12 +8157,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "claws."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_COOL, @@ -8183,12 +8178,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "user immobile the next turn."), .effect = EFFECT_HIT, .power = 150, - .type = TYPE_GRASS, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .skyBattleBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RECHARGE, @@ -8208,15 +8203,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "both Attack and Defense."), .effect = EFFECT_BULK_UP, .power = 0, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -8232,17 +8227,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "next turn. May paralyze."), .effect = EFFECT_SEMI_INVULNERABLE, .power = 85, - .type = TYPE_FLYING, .accuracy = 85, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .gravityBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .argument = TWO_TURN_ARG(STRINGID_PKMNSPRANGUP, COMPRESS_BITS(STATUS3_ON_AIR)), .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, @@ -8262,12 +8257,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "reduces Speed."), .effect = EFFECT_HIT, .power = 55, - .type = TYPE_GROUND, .accuracy = 95, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, .chance = 100, @@ -8286,13 +8281,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "ratio. May also poison."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_POISON, .accuracy = 100, - .criticalHitStage = 1, - .pp = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 25, + .priority = 0, + .criticalHitStage = 1, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, @@ -8312,12 +8307,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "item held by the foe."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 60 : 40, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 25 : 40, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 25 : 40, + .priority = 0, .makesContact = B_UPDATED_MOVE_DATA >= GEN_4, .meFirstBanned = TRUE, .metronomeBanned = TRUE, @@ -8340,13 +8335,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "slightly hurts the user."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_ELECTRIC, .accuracy = 100, - .recoil = 33, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .recoil = 33, .makesContact = TRUE, #if B_UPDATED_MOVE_DATA >= GEN_4 .additionalEffects = ADDITIONAL_EFFECTS({ @@ -8368,12 +8363,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that cannot be evaded."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -8388,13 +8383,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "raise resistance to fire."), .effect = EFFECT_WATER_SPORT, .power = 0, - .type = TYPE_WATER, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, @@ -8412,15 +8407,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "by focusing the mind."), .effect = EFFECT_CALM_MIND, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, .contestCategory = CONTEST_CATEGORY_SMART, @@ -8436,13 +8431,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_4 ? 90 : 70, - .type = TYPE_GRASS, .accuracy = 100, - .criticalHitStage = 1, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .criticalHitStage = 1, .makesContact = TRUE, .slicingMove = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, @@ -8459,16 +8454,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Attack and Speed."), .effect = EFFECT_DRAGON_DANCE, .power = 0, - .type = TYPE_DRAGON, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .danceMove = TRUE, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .danceMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -8484,12 +8479,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "2 to 5 times in a row."), .effect = EFFECT_MULTI_HIT, .power = 25, - .type = TYPE_ROCK, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 90 : 80, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ballisticMove = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -8505,12 +8500,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "electric attack."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -8525,12 +8520,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "waves. May confuse the foe."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_WATER, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .pulseMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_CONFUSION, @@ -8550,12 +8545,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "attack 2 turns later."), .effect = EFFECT_FUTURE_SIGHT, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 140 : 120, - .type = TYPE_STEEL, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 100 : 85, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, @@ -8572,12 +8567,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "but sharply lowers Sp. Atk."), .effect = EFFECT_HIT, .power = 140, - .type = TYPE_PSYCHIC, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_TWO_DOWN, .self = TRUE, @@ -8596,16 +8591,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "half of its max HP."), .effect = EFFECT_ROOST, .power = 0, - .type = TYPE_FLYING, .accuracy = 0, - .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .healingMove = TRUE, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_COOL, @@ -8621,13 +8616,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "negating levitation."), .effect = EFFECT_GRAVITY, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 5, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, @@ -8645,15 +8640,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Dark-type's immunities."), .effect = EFFECT_MIRACLE_EYE, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 40, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 40, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, - .ignoresSubstitute = TRUE, + .priority = 0, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -8668,14 +8663,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foes, but also heals them."), .effect = EFFECT_DOUBLE_POWER_ON_ARG_STATUS, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 70 : 60, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = STATUS1_SLEEP, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, + .argument = STATUS1_SLEEP, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_REMOVE_STATUS, }), @@ -8693,12 +8688,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that also lowers Speed."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_FIGHTING, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -8719,12 +8714,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "more damage to faster foes."), .effect = EFFECT_GYRO_BALL, .power = 1, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .ballisticMove = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, @@ -8739,15 +8734,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sHealingWishDescription, .effect = EFFECT_HEALING_WISH, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, - .healingMove = TRUE, - .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -8763,12 +8758,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with half HP."), .effect = EFFECT_BRINE, .power = 65, - .type = TYPE_WATER, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -8783,12 +8778,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with the held Berry."), .effect = EFFECT_NATURAL_GIFT, .power = 1, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -8803,12 +8798,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "using moves like Protect."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 30 : 50, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 2, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 2, .ignoresProtect = TRUE, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_6, .metronomeBanned = TRUE, @@ -8829,12 +8824,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sPluckDescription, .effect = EFFECT_HIT, .power = 60, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BUG_BITE, @@ -8853,16 +8848,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that raises Speed."), .effect = EFFECT_TAILWIND, .power = 0, - .type = TYPE_FLYING, .accuracy = 0, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 15 : 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 15 : 30, .zMove = { .effect = Z_EFFECT_BOOST_CRITS }, + .priority = 0, + .ignoresProtect = TRUE, .snatchAffected = TRUE, .windMove = TRUE, - .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_SMART, @@ -8878,16 +8873,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "one of its stats."), .effect = EFFECT_ACUPRESSURE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER | MOVE_TARGET_ALLY, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER | MOVE_TARGET_ALLY, + .pp = 30, .zMove = { .effect = Z_EFFECT_BOOST_CRITS }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .snatchAffected = B_UPDATED_MOVE_FLAGS < GEN_5, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -8902,12 +8897,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "greater power."), .effect = EFFECT_METAL_BURST, .power = 1, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_DEPENDS, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_DEPENDS, + .pp = 10, + .priority = 0, .meFirstBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -8921,12 +8916,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sUTurnDescription, .effect = EFFECT_HIT_ESCAPE, .power = 70, - .type = TYPE_BUG, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -8940,12 +8935,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sCloseCombatDescription, .effect = EFFECT_HIT, .power = 120, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_SPDEF_DOWN, @@ -8965,12 +8960,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "if the user moves last."), .effect = EFFECT_PAYBACK, .power = 50, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -8986,12 +8981,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "if the foe has been hurt."), .effect = EFFECT_ASSURANCE, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 60 : 50, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -9007,13 +9002,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "using any items."), .effect = EFFECT_EMBARGO, .power = 0, - .type = TYPE_DARK, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -9029,12 +9024,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with the held item."), .effect = EFFECT_FLING, .power = 1, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .parentalBondBanned = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -9050,13 +9045,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to the foe."), .effect = EFFECT_PSYCHO_SHIFT, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = B_UPDATED_MOVE_DATA >= GEN_6 ? 100 : 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPATK_UP_2 }, + .priority = 0, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -9071,12 +9066,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the more damage it does."), .effect = EFFECT_TRUMP_CARD, .power = 1, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, .contestCategory = CONTEST_CATEGORY_COOL, @@ -9092,13 +9087,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "recovering any HP."), .effect = EFFECT_HEAL_BLOCK, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_BOTH, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPATK_UP_2 }, + .priority = 0, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -9112,12 +9107,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sWringOutDescription, .effect = EFFECT_WRING_OUT, .power = 1, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON, .contestCategory = CONTEST_CATEGORY_SMART, @@ -9133,15 +9128,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and Defense stats."), .effect = EFFECT_POWER_TRICK, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, - .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, .contestCategory = CONTEST_CATEGORY_COOL, @@ -9157,13 +9152,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe's ability."), .effect = EFFECT_GASTRO_ACID, .power = 0, - .type = TYPE_POISON, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -9179,15 +9174,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "landing critical hits."), .effect = EFFECT_LUCKY_CHANT, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_EVSN_UP_1 }, - .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -9203,23 +9198,23 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with greater power."), .effect = EFFECT_ME_FIRST, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPD_UP_2 }, + .priority = 0, .ignoresSubstitute = TRUE, - .metronomeBanned = TRUE, .mirrorMoveBanned = TRUE, .meFirstBanned = TRUE, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, - .mimicBanned = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -9234,22 +9229,22 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "move used by a foe."), .effect = EFFECT_COPYCAT, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_DEPENDS, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_DEPENDS, + .pp = 20, .zMove = { .effect = Z_EFFECT_ACC_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, + .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, - .mimicBanned = TRUE, .contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -9264,13 +9259,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and Sp. Atk with the foe."), .effect = EFFECT_POWER_SWAP, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -9286,13 +9281,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and Sp. Def with the foe."), .effect = EFFECT_GUARD_SWAP, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -9308,12 +9303,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe has powered up."), .effect = EFFECT_PUNISHMENT, .power = 60, - .type = TYPE_DARK, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, .contestCategory = CONTEST_CATEGORY_SMART, @@ -9329,12 +9324,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "other move has been used."), .effect = EFFECT_LAST_RESORT, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 140 : 130, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -9350,13 +9345,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "giving it Insomnia."), .effect = EFFECT_WORRY_SEED, .power = 0, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -9370,12 +9365,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sSuckerPunchDescription, .effect = EFFECT_SUCKER_PUNCH, .power = B_UPDATED_MOVE_DATA >= GEN_7 ? 70 : 80, - .type = TYPE_DARK, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_SMART, @@ -9391,16 +9386,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe switching in."), .effect = EFFECT_TOXIC_SPIKES, .power = 0, - .type = TYPE_POISON, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_OPPONENTS_FIELD, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_OPPONENTS_FIELD, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -9416,13 +9411,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with the foe."), .effect = EFFECT_HEART_SWAP, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_BOOST_CRITS }, + .priority = 0, .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, .contestCategory = CONTEST_CATEGORY_COOL, @@ -9438,15 +9433,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that restores HP."), .effect = EFFECT_AQUA_RING, .power = 0, - .type = TYPE_WATER, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, - .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -9462,17 +9457,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "electromagnetism."), .effect = EFFECT_MAGNET_RISE, .power = 0, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_EVSN_UP_1 }, - .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .gravityBanned = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -9487,13 +9482,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe. Also hurts the user."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_FIRE, .accuracy = 100, - .recoil = 33, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .recoil = 33, .makesContact = TRUE, .thawsUser = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -9514,12 +9509,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may paralyze the foe."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, @@ -9539,12 +9534,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that cannot be evaded."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 80 : 90, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .pulseMove = TRUE, .ballisticMove = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, @@ -9561,15 +9556,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sharply raise Speed."), .effect = EFFECT_SPEED_UP_2, .power = 0, - .type = TYPE_ROCK, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -9585,12 +9580,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may poison the foe."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_POISON, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, @@ -9610,12 +9605,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "aura. May cause flinching."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_DARK, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .pulseMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -9635,13 +9630,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_DARK, .accuracy = 100, - .criticalHitStage = 1, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .criticalHitStage = 1, .makesContact = TRUE, .slicingMove = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, @@ -9658,12 +9653,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "like a wave to attack."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_WATER, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -9679,12 +9674,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "is fired at the foe."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .ballisticMove = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_SMART, @@ -9700,12 +9695,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "air. May cause flinching."), .effect = EFFECT_HIT, .power = 75, - .type = TYPE_FLYING, .accuracy = 95, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 15 : 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 15 : 20, + .priority = 0, .slicingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -9725,12 +9720,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "scythes, claws, etc."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_BUG, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, @@ -9747,12 +9742,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may lower Sp. Def."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_BUG, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .soundMove = TRUE, .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -9773,12 +9768,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage the foe."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 85 : 90, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .pulseMove = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -9794,12 +9789,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May cause flinching."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_DRAGON, .accuracy = 75, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_6, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -9820,12 +9815,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that sparkle like diamonds."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 80 : 70, - .type = TYPE_ROCK, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -9838,12 +9833,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sMegaDrainDescription, .effect = EFFECT_ABSORB, .power = B_UPDATED_MOVE_DATA >= GEN_5 ? 75 : 60, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_5 ? 10 : 5, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .healingMove = B_HEAL_BLOCKING >= GEN_6, @@ -9861,12 +9856,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "a wave that strikes first."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 1, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -9881,12 +9876,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May lower Sp. Def."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_FIGHTING, .accuracy = 70, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .ballisticMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1, @@ -9906,12 +9901,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "attack. May lower Sp. Def."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 90 : 80, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ballisticMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1, @@ -9931,13 +9926,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "also hurts the user."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_FLYING, .accuracy = 100, - .recoil = 33, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .recoil = 33, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -9953,12 +9948,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "power. May lower Sp. Def."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .skyBattleBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1, @@ -9978,13 +9973,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "faster than the eye can see."), .effect = EFFECT_TRICK, .power = 0, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_2 }, + .priority = 0, .metronomeBanned = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, @@ -10000,12 +9995,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sHyperBeamDescription, .effect = EFFECT_HIT, .power = 150, - .type = TYPE_NORMAL, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RECHARGE, @@ -10025,15 +10020,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sharply boost Sp. Atk."), .effect = EFFECT_SPECIAL_ATTACK_UP_2, .power = 0, - .type = TYPE_DARK, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -10049,12 +10044,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "let. It always hits first."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 1, .makesContact = TRUE, .punchingMove = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, @@ -10069,12 +10064,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sRevengeDescription, .effect = EFFECT_REVENGE, .power = 60, - .type = TYPE_ICE, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = -4, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = -4, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER, .contestCategory = CONTEST_CATEGORY_COOL, @@ -10090,12 +10085,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "always strike first."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_ICE, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 1, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -10110,13 +10105,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_GHOST, .accuracy = 100, - .criticalHitStage = 1, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .criticalHitStage = 1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -10132,12 +10127,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "leave the foe paralyzed."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_ELECTRIC, .accuracy = 95, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .bitingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -10162,12 +10157,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "leave the foe frozen."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_ICE, .accuracy = 95, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .bitingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -10192,12 +10187,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "leave the foe with a burn."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_FIRE, .accuracy = 95, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .bitingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -10222,12 +10217,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to strike first."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_SMART, @@ -10243,12 +10238,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage and cut accuracy."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_GROUND, .accuracy = 85, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ballisticMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ACC_MINUS_1, @@ -10268,13 +10263,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_PSYCHIC, .accuracy = 100, - .criticalHitStage = 1, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, + .criticalHitStage = 1, .slicingMove = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_COOL, @@ -10290,12 +10285,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "butt. May cause flinching."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_PSYCHIC, .accuracy = 90, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -10315,12 +10310,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage and cut accuracy."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_STEEL, .accuracy = 85, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ACC_MINUS_1, .chance = 30, @@ -10339,12 +10334,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that may lower Sp. Def."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1, .chance = 10, @@ -10363,12 +10358,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "confuse the foe."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_NORMAL, .accuracy = 85, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_CONFUSION, @@ -10388,13 +10383,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lowers evasion."), .effect = EFFECT_DEFOG, .power = 0, - .type = TYPE_FLYING, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_ACC_UP_1 }, + .priority = 0, //.ignoresSubstitute = TRUE, .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, @@ -10411,13 +10406,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "first for 5 turns."), .effect = EFFECT_TRICK_ROOM, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = -7, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 5, .zMove = { .effect = Z_EFFECT_ACC_UP_1 }, + .priority = -7, .ignoresProtect = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -10433,12 +10428,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Harshly lowers the Sp. Atk."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 130 : 140, - .type = TYPE_DRAGON, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_TWO_DOWN, .self = TRUE, @@ -10457,12 +10452,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "city. May paralyze them."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 30, @@ -10479,12 +10474,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sLavaPlumeDescription, .effect = EFFECT_HIT, .power = 80, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, .chance = 30, @@ -10503,12 +10498,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Harshly lowers the Sp. Atk."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 130 : 140, - .type = TYPE_GRASS, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_TWO_DOWN, .self = TRUE, @@ -10527,12 +10522,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with vines or tentacles."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_GRASS, .accuracy = 85, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -10546,12 +10541,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sHyperBeamDescription, .effect = EFFECT_HIT, .power = 150, - .type = TYPE_ROCK, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .ballisticMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RECHARGE, @@ -10571,13 +10566,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe and do critical damage."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_POISON, .accuracy = 100, - .criticalHitStage = 1, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, + .criticalHitStage = 1, .makesContact = TRUE, .slicingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -10598,12 +10593,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe. May also poison."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_POISON, .accuracy = B_UPDATED_MOVE_DATA >= GEN_6 ? 80 : 70, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, .chance = 30, @@ -10622,12 +10617,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "head. May cause flinching."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -10647,12 +10642,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "strikes without fail."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .ballisticMove = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_COOL, @@ -10668,13 +10663,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_ROCK, .accuracy = 80, - .criticalHitStage = 1, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, + .criticalHitStage = 1, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -10689,13 +10684,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sharply reduce its Sp. Atk."), .effect = EFFECT_CAPTIVATE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_BOTH, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPDEF_UP_2 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -10711,15 +10706,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "hurt a foe switching in."), .effect = EFFECT_STEALTH_ROCK, .power = 0, - .type = TYPE_ROCK, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_OPPONENTS_FIELD, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_OPPONENTS_FIELD, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, - .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .priority = 0, .ignoresProtect = TRUE, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -10735,12 +10730,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "more damage to heavier foes."), .effect = EFFECT_LOW_KICK, .power = 1, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, @@ -10757,21 +10752,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that causes confusion."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 65 : 60, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_SPECIAL, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_6, .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_CONFUSION, #if B_UPDATED_MOVE_DATA >= GEN_6 @@ -10796,12 +10791,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "kind of Plate held."), .effect = EFFECT_CHANGE_TYPE_ON_ITEM, .power = 100, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = HOLD_EFFECT_PLATE, .contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, .contestCategory = CONTEST_CATEGORY_SMART, @@ -10815,12 +10810,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sPluckDescription, .effect = EFFECT_HIT, .power = 60, - .type = TYPE_BUG, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BUG_BITE, @@ -10839,12 +10834,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May raise Sp. Atk."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_ELECTRIC, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_PLUS_1, .self = TRUE, @@ -10864,13 +10859,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "The user gets hurt too."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_GRASS, .accuracy = 100, - .recoil = 33, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .recoil = 33, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -10886,12 +10881,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "at the foe at a high speed."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_WATER, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -10907,13 +10902,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_BUG, .accuracy = 100, - .criticalHitStage = 1, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .criticalHitStage = 1, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_ATTACK_ORDER, @@ -10928,15 +10923,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with a living shield."), .effect = EFFECT_COSMIC_POWER, .power = 0, - .type = TYPE_BUG, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_SMART, @@ -10952,16 +10947,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "up to heal half its max HP."), .effect = EFFECT_RESTORE_HP, .power = 0, - .type = TYPE_BUG, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .healingMove = TRUE, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_SMART, @@ -10977,13 +10972,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "seriously hurts the user."), .effect = EFFECT_HIT, .power = 150, - .type = TYPE_ROCK, .accuracy = 80, - .recoil = 50, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, + .recoil = 50, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -10999,14 +10994,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "etc. Strikes twice."), .effect = EFFECT_HIT, .power = 35, - .type = TYPE_NORMAL, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .strikeCount = 2, + .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -11021,12 +11016,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "user immobile the next turn."), .effect = EFFECT_HIT, .power = 150, - .type = TYPE_DRAGON, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RECHARGE, .self = TRUE, @@ -11045,13 +11040,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_DRAGON, .accuracy = 95, - .criticalHitStage = 1, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, + .criticalHitStage = 1, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -11064,17 +11059,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sHealingWishDescription, .effect = EFFECT_HEALING_WISH, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, - .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, - .healingMove = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, .danceMove = TRUE, + .healingMove = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -11087,12 +11082,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sWringOutDescription, .effect = EFFECT_WRING_OUT, .power = 1, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -11108,12 +11103,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "of fire for "BINDING_TURNS" turns."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 100 : 120, - .type = TYPE_FIRE, .accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 75 : 70, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_WRAP, }), @@ -11131,13 +11126,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "darkness, inducing Sleep."), .effect = EFFECT_DARK_VOID, .power = 0, - .type = TYPE_DARK, .accuracy = B_UPDATED_MOVE_DATA >= GEN_7 ? 50 : 80, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_BOTH, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .magicCoatAffected = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, @@ -11154,12 +11149,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sharply reduces Sp. Def."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_GRASS, .accuracy = 85, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_2, .chance = 40, @@ -11178,12 +11173,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "raise all stats."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .windMove = B_EXTRAPOLATED_MOVE_FLAGS, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ALL_STATS_UP, @@ -11202,18 +11197,18 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sShadowForceDescription, .effect = EFFECT_SEMI_INVULNERABLE, .power = 120, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .ignoresProtect = TRUE, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS == GEN_6, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .argument = TWO_TURN_ARG(STRINGID_VANISHEDINSTANTLY, COMPRESS_BITS(STATUS3_PHANTOM_FORCE)), .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FEINT, @@ -11232,15 +11227,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Attack and Accuracy."), .effect = EFFECT_ATTACK_ACCURACY_UP, .power = 0, - .type = TYPE_DARK, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 15, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -11256,18 +11251,18 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "for one turn."), .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_ROCK, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 3, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_STATUS, - .argument = TRUE, // Protects the whole side. + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, - .snatchAffected = TRUE, + .priority = 3, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, + .argument = TRUE, // Protects the whole side. .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -11282,13 +11277,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and Sp. Def with the foe."), .effect = EFFECT_GUARD_SPLIT, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_SMART, @@ -11304,13 +11299,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and Sp. Atk with the foe."), .effect = EFFECT_POWER_SPLIT, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, .contestCategory = CONTEST_CATEGORY_SMART, @@ -11326,13 +11321,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "are swapped for 5 turns."), .effect = EFFECT_WONDER_ROOM, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = B_UPDATED_MOVE_DATA >= GEN_6 ? 0 : -7, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = B_UPDATED_MOVE_DATA >= GEN_6 ? 0 : -7, .ignoresProtect = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -11346,12 +11341,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sPsyshockDescription, .effect = EFFECT_PSYSHOCK, .power = 80, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -11366,12 +11361,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe is poisoned."), .effect = EFFECT_DOUBLE_POWER_ON_ARG_STATUS, .power = 65, - .type = TYPE_POISON, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = STATUS1_PSN_ANY, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -11387,15 +11382,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sharply boost Speed."), .effect = EFFECT_AUTOTOMIZE, .power = 0, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 15, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_SMART, @@ -11411,15 +11406,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foes attack only the user."), .effect = EFFECT_FOLLOW_ME, .power = 0, - .type = TYPE_BUG, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = B_UPDATED_MOVE_DATA >= GEN_6 ? 2 : 3, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .powderMove = TRUE, + .priority = B_UPDATED_MOVE_DATA >= GEN_6 ? 2 : 3, .ignoresProtect = TRUE, + .powderMove = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, @@ -11438,13 +11433,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "easier to hit for 3 turns."), .effect = EFFECT_TELEKINESIS, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .gravityBanned = TRUE, .contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, @@ -11461,13 +11456,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "effects for 5 turns."), .effect = EFFECT_MAGIC_ROOM, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = B_UPDATED_MOVE_DATA >= GEN_6 ? 0 : -7, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = B_UPDATED_MOVE_DATA >= GEN_6 ? 0 : -7, .ignoresProtect = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -11483,12 +11478,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe down to the ground."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_ROCK, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .damagesAirborne = TRUE, .skyBattleBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -11506,14 +11501,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sStormThrowDescription, .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 60 : 40, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .alwaysCriticalHit = TRUE, + .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -11528,12 +11523,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage to all foes."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLAME_BURST, .self = TRUE, @@ -11552,12 +11547,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "of sludge. May also poison."), .effect = EFFECT_HIT, .power = 95, - .type = TYPE_POISON, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, .chance = 10, @@ -11576,16 +11571,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Sp. Def and Speed."), .effect = EFFECT_QUIVER_DANCE, .power = 0, - .type = TYPE_BUG, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .danceMove = TRUE, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .danceMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -11599,12 +11594,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sHeavySlamDescription, .effect = EFFECT_HEAT_CRASH, .power = 1, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_7, .skyBattleBanned = TRUE, @@ -11622,12 +11617,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damages same-type foes."), .effect = EFFECT_SYNCHRONOISE, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 120 : 70, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 10 : 15, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 10 : 15, + .priority = 0, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -11642,12 +11637,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage to slower foes."), .effect = EFFECT_ELECTRO_BALL, .power = 1, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ballisticMove = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, .contestCategory = CONTEST_CATEGORY_COOL, @@ -11663,13 +11658,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "making it Water-type."), .effect = EFFECT_SOAK, .power = 0, - .type = TYPE_WATER, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -11685,12 +11680,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "flames. Raises Speed."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_PLUS_1, @@ -11711,15 +11706,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Defense and Accuracy."), .effect = EFFECT_COIL, .power = 0, - .type = TYPE_POISON, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -11735,12 +11730,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lowering its Speed."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 65 : 60, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, @@ -11760,12 +11755,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Sharply reduces Sp. Def."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_POISON, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .ballisticMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_2, @@ -11785,12 +11780,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the more damage caused."), .effect = EFFECT_FOUL_PLAY, .power = 95, - .type = TYPE_DARK, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, .contestCategory = CONTEST_CATEGORY_COOL, @@ -11806,13 +11801,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe's ability to Simple."), .effect = EFFECT_SIMPLE_BEAM, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -11828,13 +11823,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "user, gaining its ability."), .effect = EFFECT_ENTRAINMENT, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -11850,13 +11845,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "it move next."), .effect = EFFECT_AFTER_YOU, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, @@ -11875,14 +11870,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Others can join in too."), .effect = EFFECT_ROUND, .power = 60, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ROUND, }), @@ -11900,14 +11895,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "it is used."), .effect = EFFECT_ECHOED_VOICE, .power = 40, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -11920,12 +11915,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sChipAwayDescription, .effect = EFFECT_HIT, .power = 70, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .ignoresTargetDefenseEvasionStages = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, @@ -11942,12 +11937,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "eliminates all stat changes."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_POISON, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_CLEAR_SMOG, }), @@ -11965,12 +11960,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the more damage caused."), .effect = EFFECT_STORED_POWER, .power = 20, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -11985,18 +11980,18 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "for one turn."), .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_USER, - .priority = 3, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_STATUS, - .argument = TRUE, // Protects the whole side. + .target = MOVE_TARGET_USER, + .pp = 15, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, - .snatchAffected = TRUE, + .priority = 3, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, + .argument = TRUE, // Protects the whole side. .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -12011,13 +12006,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with its partner."), .effect = EFFECT_ALLY_SWITCH, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_USER, - .priority = B_UPDATED_MOVE_DATA >= GEN_7 ? 2 : 1, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPD_UP_2 }, + .priority = B_UPDATED_MOVE_DATA >= GEN_7 ? 2 : 1, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, @@ -12034,12 +12029,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe. May inflict a burn."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_WATER, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .thawsUser = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, @@ -12059,15 +12054,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lowers defensive stats."), .effect = EFFECT_SHELL_SMASH, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 15, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -12083,17 +12078,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "target's maximum HP."), .effect = EFFECT_HEAL_PULSE, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .magicCoatAffected = TRUE, - .mirrorMoveBanned = TRUE, - .healingMove = TRUE, .pulseMove = TRUE, + .healingMove = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -12108,12 +12103,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe has a status problem."), .effect = EFFECT_DOUBLE_POWER_ON_ARG_STATUS, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 65 : 50, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = STATUS1_ANY, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_SMART, @@ -12129,17 +12124,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "then drops it the next turn."), .effect = EFFECT_SKY_DROP, .power = 60, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .gravityBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .argument = TWO_TURN_ARG(STRINGID_PKMNTOOKTARGETHIGH, COMPRESS_BITS(STATUS3_ON_AIR)), .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_SMART, @@ -12155,15 +12150,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Attack and Speed."), .effect = EFFECT_SHIFT_GEAR, .power = 0, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -12177,12 +12172,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sCircleThrowDescription, .effect = EFFECT_HIT_SWITCH_TARGET, .power = 60, - .type = TYPE_FIGHTING, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = -6, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = -6, .makesContact = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, @@ -12200,12 +12195,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "preventing their use."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 60 : 30, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_INCINERATE, }), @@ -12223,13 +12218,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "it move last."), .effect = EFFECT_QUASH, .power = 0, - .type = TYPE_DARK, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER, .contestCategory = CONTEST_CATEGORY_COOL, @@ -12245,12 +12240,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "user has no item."), .effect = EFFECT_ACROBATICS, .power = 55, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_COOL, @@ -12266,13 +12261,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "type, copying it."), .effect = EFFECT_REFLECT_TYPE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, @@ -12289,12 +12284,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage if an ally fainted."), .effect = EFFECT_RETALIATE, .power = 70, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -12310,12 +12305,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe equal to its HP."), .effect = EFFECT_FINAL_GAMBIT, .power = 1, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .mirrorMoveBanned = TRUE, .parentalBondBanned = TRUE, .contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, @@ -12332,13 +12327,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "item to the foe."), .effect = EFFECT_BESTOW, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPD_UP_2 }, + .priority = 0, .ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_6, .ignoresSubstitute = TRUE, .metronomeBanned = TRUE, @@ -12358,12 +12353,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "a burn, but inaccurate."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_FIRE, .accuracy = 50, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, .chance = 100, @@ -12382,12 +12377,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "water. May make a rainbow."), .effect = EFFECT_PLEDGE, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 80 : 50, - .type = TYPE_WATER, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -12403,12 +12398,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "fire. May burn the grass."), .effect = EFFECT_PLEDGE, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 80 : 50, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -12424,12 +12419,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "grass. May create a swamp."), .effect = EFFECT_PLEDGE, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 80 : 50, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_SMART, @@ -12443,12 +12438,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sUTurnDescription, .effect = EFFECT_HIT_ESCAPE, .power = 70, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -12463,12 +12458,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe. Lowers Sp. Atk."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 50 : 30, - .type = TYPE_BUG, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 20, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1, .chance = 100, @@ -12487,12 +12482,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Lowers Speed."), .effect = EFFECT_BULLDOZE, .power = 60, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 20, + .priority = 0, .skyBattleBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, @@ -12510,12 +12505,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sStormThrowDescription, .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 60 : 40, - .type = TYPE_ICE, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .alwaysCriticalHit = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -12529,12 +12524,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sCircleThrowDescription, .effect = EFFECT_HIT_SWITCH_TARGET, .power = 60, - .type = TYPE_DRAGON, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = -6, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = -6, .makesContact = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, @@ -12552,15 +12547,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Ups Attack and Sp. Atk."), .effect = EFFECT_ATTACK_SPATK_UP, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -12576,12 +12571,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "electric net. Lowers Speed."), .effect = EFFECT_HIT, .power = 55, - .type = TYPE_ELECTRIC, .accuracy = 95, - .pp = 15, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, .chance = 100, @@ -12600,13 +12595,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "also hurts the user."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_ELECTRIC, .accuracy = 100, - .recoil = 25, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .recoil = 25, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_COOL, @@ -12622,13 +12617,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_GROUND, .accuracy = 95, - .criticalHitStage = 1, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, + .criticalHitStage = 1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -12644,14 +12639,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that strike twice."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_DRAGON, .accuracy = 90, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .strikeCount = 2, + .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -12666,12 +12661,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "act. May cause flinching."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 25, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -12689,12 +12684,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sMegaDrainDescription, .effect = EFFECT_ABSORB, .power = 75, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .healingMove = B_HEAL_BLOCKING >= GEN_6, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, @@ -12709,15 +12704,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sChipAwayDescription, .effect = EFFECT_HIT, .power = 90, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 15 : 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 15 : 20, + .priority = 0, .makesContact = TRUE, - .ignoresTargetDefenseEvasionStages = TRUE, .slicingMove = TRUE, + .ignoresTargetDefenseEvasionStages = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -12732,12 +12727,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "shells. May lower Defense."), .effect = EFFECT_HIT, .power = 75, - .type = TYPE_WATER, .accuracy = 95, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -12756,12 +12751,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sHeavySlamDescription, .effect = EFFECT_HEAT_CRASH, .power = 1, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, @@ -12778,12 +12773,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to damage and cut accuracy."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_GRASS, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, //.windMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ACC_MINUS_1, @@ -12803,12 +12798,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "body. May cause flinching."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_BUG, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .minimizeDoubleDamage = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -12829,15 +12824,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Drastically raises Defense."), .effect = EFFECT_DEFENSE_UP_3, .power = 0, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_SMART, @@ -12853,12 +12848,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "wave. May lower accuracy."), .effect = EFFECT_HIT, .power = 85, - .type = TYPE_DARK, .accuracy = 95, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ACC_MINUS_1, .chance = 40, @@ -12875,12 +12870,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sPsyshockDescription, .effect = EFFECT_PSYSHOCK, .power = 100, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -12895,12 +12890,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "tail 2 to 5 times."), .effect = EFFECT_MULTI_HIT, .power = 25, - .type = TYPE_NORMAL, .accuracy = 85, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -12916,12 +12911,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "wind. May cause confusion."), .effect = EFFECT_THUNDER, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 110 : 120, - .type = TYPE_FLYING, .accuracy = 70, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .windMove = TRUE, .damagesAirborne = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -12942,13 +12937,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "It hurts the user a little."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_NORMAL, .accuracy = 100, - .recoil = 25, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .recoil = 25, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -12964,14 +12959,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that strike twice."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_STEEL, .accuracy = 85, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .strikeCount = 2, + .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -12984,12 +12979,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sLavaPlumeDescription, .effect = EFFECT_HIT, .power = 100, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 5, + .priority = 0, .ballisticMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, @@ -13009,14 +13004,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "kind of Drive held."), .effect = EFFECT_CHANGE_TYPE_ON_ITEM, .power = B_UPDATED_MOVE_DATA >= GEN_6 ? 120 : 85, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, - .argument = HOLD_EFFECT_DRIVE, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, + .argument = HOLD_EFFECT_DRIVE, .contestEffect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -13031,16 +13026,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "song. May induce sleep."), .effect = EFFECT_RELIC_SONG, .power = 75, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, - .argument = STATUS1_SLEEP, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .metronomeBanned = TRUE, + .argument = STATUS1_SLEEP, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SLEEP, .chance = 10, @@ -13059,12 +13054,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "does physical damage."), .effect = EFFECT_PSYSHOCK, .power = 85, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .slicingMove = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, @@ -13081,12 +13076,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe. It lowers their Speed."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_ICE, .accuracy = 95, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, .chance = 100, @@ -13105,12 +13100,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "of lightning. May paralyze."), .effect = EFFECT_HIT, .power = 130, - .type = TYPE_ELECTRIC, .accuracy = 85, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, @@ -13130,12 +13125,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "flame. May inflict a burn."), .effect = EFFECT_HIT, .power = 130, - .type = TYPE_FIRE, .accuracy = 85, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, .chance = 20, @@ -13154,12 +13149,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May raise Sp. Atk."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .danceMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_PLUS_1, @@ -13180,12 +13175,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may paralyze the foe."), .effect = EFFECT_TWO_TURNS_ATTACK, .power = 140, - .type = TYPE_ICE, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, @@ -13208,12 +13203,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may inflict a burn."), .effect = EFFECT_TWO_TURNS_ATTACK, .power = 140, - .type = TYPE_ICE, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, @@ -13236,14 +13231,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lowering its Sp. Atk."), .effect = EFFECT_HIT, .power = 55, - .type = TYPE_DARK, .accuracy = 95, - .pp = 15, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_SPECIAL, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .target = MOVE_TARGET_BOTH, + .pp = 15, + .priority = 0, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1, @@ -13263,12 +13258,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe. May cause flinching."), .effect = EFFECT_HIT, .power = 85, - .type = TYPE_ICE, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, .chance = 30, @@ -13287,12 +13282,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Defense, Sp. Def and Speed."), .effect = EFFECT_HIT, .power = 180, - .type = TYPE_FIRE, .accuracy = 95, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -13313,12 +13308,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "well with a thunderbolt."), .effect = EFFECT_FUSION_COMBO, .power = 100, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .thawsUser = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -13334,12 +13329,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Works well with a fireball."), .effect = EFFECT_FUSION_COMBO, .power = 100, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -13354,17 +13349,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and Flying-type damage."), .effect = EFFECT_TWO_TYPED_MOVE, .power = B_UPDATED_MOVE_DATA >= GEN_7 ? 100 : 80, - .type = TYPE_FIGHTING, .accuracy = 95, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = TYPE_FLYING, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .minimizeDoubleDamage = TRUE, .gravityBanned = TRUE, .skyBattleBanned = TRUE, + .argument = TYPE_FLYING, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -13379,21 +13374,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "for one turn."), .effect = EFFECT_MAT_BLOCK, .power = 0, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_STATUS, - .argument = TRUE, // Protects the whole side. + .target = MOVE_TARGET_USER, + .pp = 15, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, .skyBattleBanned = TRUE, + .argument = TRUE, // Protects the whole side. .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -13408,20 +13403,20 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Must eat a Berry to use it."), .effect = EFFECT_BELCH, .power = 120, - .type = TYPE_POISON, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .mirrorMoveBanned = TRUE, .meFirstBanned = TRUE, - .metronomeBanned = TRUE, .mimicBanned = TRUE, + .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -13436,13 +13431,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "of Grass-type Pokémon."), .effect = EFFECT_ROTOTILLER, .power = 0, - .type = TYPE_GROUND, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, @@ -13460,16 +13455,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "slows foes switching in."), .effect = EFFECT_STICKY_WEB, .power = 0, - .type = TYPE_BUG, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_OPPONENTS_FIELD, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_OPPONENTS_FIELD, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, .magicCoatAffected = TRUE, + .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -13485,12 +13480,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the Attack stat is raised."), .effect = EFFECT_FELL_STINGER, .power = B_UPDATED_MOVE_DATA >= GEN_7 ? 50 : 30, - .type = TYPE_BUG, .accuracy = 100, - .pp = 25, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 25, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -13504,18 +13499,18 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sShadowForceDescription, .effect = EFFECT_SEMI_INVULNERABLE, .power = 90, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, - .ignoresProtect = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, + .ignoresProtect = TRUE, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS == GEN_6, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .argument = TWO_TURN_ARG(STRINGID_VANISHEDINSTANTLY, COMPRESS_BITS(STATUS3_PHANTOM_FORCE)), .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FEINT, @@ -13534,15 +13529,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "making the foe Ghost-type."), .effect = EFFECT_THIRD_TYPE, .power = 0, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_STATUS, - .argument = TYPE_GHOST, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, + .argument = TYPE_GHOST, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -13557,16 +13552,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Attack and Sp. Atk."), .effect = EFFECT_NOBLE_ROAR, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 30, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .priority = 0, .magicCoatAffected = TRUE, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -13581,13 +13576,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "moves with charged atoms."), .effect = EFFECT_ION_DELUGE, .power = 0, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 25, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 1, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 25, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 1, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, @@ -13604,12 +13599,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "heals up by half of it."), .effect = EFFECT_ABSORB, .power = B_UPDATED_MOVE_DATA >= GEN_7 ? 65 : 50, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 20, + .priority = 0, .healingMove = B_HEAL_BLOCKING >= GEN_6, .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -13625,15 +13620,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "making the foe Grass-type."), .effect = EFFECT_THIRD_TYPE, .power = 0, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, - .argument = TYPE_GRASS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, + .argument = TYPE_GRASS, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -13648,12 +13643,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "of petals to attack."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 15, + .priority = 0, .windMove = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -13669,12 +13664,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "types. May cause freezing."), .effect = EFFECT_FREEZE_DRY, .power = 70, - .type = TYPE_ICE, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE, .chance = 10, @@ -13693,14 +13688,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that cannot be evaded."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .target = MOVE_TARGET_BOTH, + .pp = 15, + .priority = 0, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -13715,16 +13710,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Sp. Atk, then switches out."), .effect = EFFECT_PARTING_SHOT, .power = 0, - .type = TYPE_DARK, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_RESTORE_REPLACEMENT_HP }, + .priority = 0, .magicCoatAffected = TRUE, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -13739,13 +13734,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "affect the target."), .effect = EFFECT_TOPSY_TURVY, .power = 0, - .type = TYPE_DARK, .accuracy = B_UPDATED_MOVE_DATA >= GEN_7 ? 0 : 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -13759,15 +13754,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sDrainingKissDescription, .effect = EFFECT_ABSORB, .power = 50, - .type = TYPE_FAIRY, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, - .argument = 75, // restores 75% HP instead of 50% HP + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .healingMove = B_HEAL_BLOCKING >= GEN_6, + .argument = 75, // restores 75% HP instead of 50% HP .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -13782,17 +13777,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "one turn."), .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 3, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_STATUS, - .argument = TRUE, // Protects the whole side. + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 3, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, + .argument = TRUE, // Protects the whole side. .contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -13807,13 +13802,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Grass-type Pokémon."), .effect = EFFECT_FLOWER_SHIELD, .power = 0, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, @@ -13830,13 +13825,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "for 5 turns. Restores HP."), .effect = EFFECT_GRASSY_TERRAIN, .power = 0, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, @@ -13854,13 +13849,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "for 5 turns. Blocks status."), .effect = EFFECT_MISTY_TERRAIN, .power = 0, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, @@ -13878,13 +13873,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "its next move Electric-type."), .effect = EFFECT_ELECTRIFY, .power = 0, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -13899,12 +13894,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May lower Attack."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_FAIRY, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ATK_MINUS_1, @@ -13924,12 +13919,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "strike the foe."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_FAIRY, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 30, + .priority = 0, .windMove = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -13945,12 +13940,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the moon. May lower Sp. Atk."), .effect = EFFECT_HIT, .power = 95, - .type = TYPE_FAIRY, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1, .chance = 30, @@ -13969,14 +13964,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "destructive sound wave."), .effect = EFFECT_HIT, .power = 140, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 10, + .priority = 0, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -13991,13 +13986,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "preventing escape next turn."), .effect = EFFECT_FAIRY_LOCK, .power = 0, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, @@ -14014,19 +14009,19 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "reduces Attack if struck."), .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 4, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 4, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, - .instructBanned = TRUE, .assistBanned = TRUE, + .instructBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -14041,16 +14036,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "its Attack without fail."), .effect = EFFECT_ATTACK_DOWN, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, - .ignoresSubstitute = TRUE, .magicCoatAffected = TRUE, + .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -14065,17 +14060,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foe, lowering Sp. Atk."), .effect = EFFECT_SPECIAL_ATTACK_DOWN, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .magicCoatAffected = TRUE, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -14089,12 +14084,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Whips up a storm of\n" "diamonds. May up Defense."), .power = 100, - .type = TYPE_ROCK, .accuracy = 95, - .pp = 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_BOTH, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = B_UPDATED_MOVE_DATA >= GEN_7 ? MOVE_EFFECT_DEF_PLUS_2: MOVE_EFFECT_DEF_PLUS_1, @@ -14114,12 +14109,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "steam. May inflict a burn."), .effect = EFFECT_HIT, .power = 110, - .type = TYPE_WATER, .accuracy = 95, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .thawsUser = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -14138,12 +14133,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sHyperspaceHoleDescription, .effect = EFFECT_HIT, .power = 80, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .metronomeBanned = TRUE, @@ -14164,12 +14159,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "are sure to strike first."), .effect = EFFECT_MULTI_HIT, .power = 15, - .type = TYPE_WATER, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_WATER, .category = B_UPDATED_MOVE_DATA >= GEN_7 ? DAMAGE_CATEGORY_SPECIAL : DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 1, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -14184,12 +14179,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "fire. Lowers Sp. Atk."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_7 ? 75 : 65, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1, .chance = 100, @@ -14208,13 +14203,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe if struck."), .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 4, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 4, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -14234,13 +14229,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "partner Pokémon."), .effect = EFFECT_AROMATIC_MIST, .power = 0, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_ALLY, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALLY, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPDEF_UP_2 }, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, @@ -14258,13 +14253,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that sharply cuts Sp. Atk."), .effect = EFFECT_SPECIAL_ATTACK_DOWN_2, .power = 0, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_COOL, @@ -14280,13 +14275,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and Speed of a poisoned foe."), .effect = EFFECT_VENOM_DRENCH, .power = 0, - .type = TYPE_POISON, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_BOTH, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, @@ -14302,15 +14297,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "a Fire-type move."), .effect = EFFECT_POWDER, .power = 0, - .type = TYPE_BUG, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPDEF_UP_2 }, - .powderMove = TRUE, + .priority = 1, .magicCoatAffected = TRUE, + .powderMove = TRUE, .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -14325,13 +14320,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Speed on the 2nd turn."), .effect = EFFECT_GEOMANCY, .power = 0, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 }, + .priority = 0, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .skyBattleBanned = TRUE, @@ -14350,15 +14345,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "those with Plus or Minus."), .effect = EFFECT_MAGNETIC_FLUX, .power = 0, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, @@ -14375,13 +14370,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Prize Money received."), .effect = EFFECT_DO_NOTHING, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, @@ -14398,13 +14393,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "5 turns. Prevents sleep."), .effect = EFFECT_ELECTRIC_TERRAIN, .power = 0, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .skyBattleBanned = TRUE, @@ -14422,12 +14417,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "a bright flash."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_FAIRY, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -14442,21 +14437,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "special day."), .effect = EFFECT_DO_NOTHING, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 40, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 40, .zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, - .metronomeBanned = TRUE, .mimicBanned = TRUE, + .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -14471,21 +14466,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "making them happy."), .effect = EFFECT_DO_NOTHING, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 40, - .target = MOVE_TARGET_ALLY, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALLY, + .pp = 40, .zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, - .metronomeBanned = TRUE, .mimicBanned = TRUE, + .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -14500,13 +14495,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "before it can move."), .effect = EFFECT_ATTACK_DOWN, .power = 0, - .type = TYPE_FAIRY, .accuracy = 100, - .pp = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 30, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 1, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -14522,12 +14517,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe, paralyzing it."), .effect = EFFECT_HIT, .power = 20, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, @@ -14545,12 +14540,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sFalseSwipeDescription, .effect = EFFECT_FALSE_SWIPE, .power = 40, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 40, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 40, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -14566,12 +14561,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "attacked for "BINDING_TURNS" turns."), .effect = EFFECT_HIT, .power = 20, - .type = TYPE_BUG, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_WRAP, @@ -14590,12 +14585,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the user's Attack."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -14615,14 +14610,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sDrainingKissDescription, .effect = EFFECT_ABSORB, .power = 80, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_SPECIAL, - .argument = 75, // restores 75% HP instead of 50% HP + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .healingMove = B_HEAL_BLOCKING >= GEN_6, + .argument = 75, // restores 75% HP instead of 50% HP .contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -14637,12 +14632,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "knocks them to the ground."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .damagesAirborne = TRUE, .ignoreTypeIfFlyingAndUngrounded = TRUE, .metronomeBanned = TRUE, @@ -14664,12 +14659,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "no longer escape."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, .skyBattleBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -14689,12 +14684,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "land to attack every foe."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .skyBattleBanned = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -14710,13 +14705,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that also hurts the user."), .effect = EFFECT_HIT, .power = 140, - .type = TYPE_FAIRY, .accuracy = 90, - .recoil = 50, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, + .recoil = 50, .metronomeBanned = TRUE, }, @@ -14728,12 +14723,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "blast both foes."), .effect = EFFECT_HIT, .power = 110, - .type = TYPE_WATER, .accuracy = 85, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .pulseMove = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, @@ -14750,12 +14745,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "attack both foes."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_GROUND, .accuracy = 85, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -14769,12 +14764,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sCloseCombatDescription, .effect = EFFECT_HIT, .power = 120, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -14793,12 +14788,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sHyperspaceHoleDescription, .effect = EFFECT_HYPERSPACE_FURY, .power = 100, - .type = TYPE_DARK, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .metronomeBanned = TRUE, @@ -14822,16 +14817,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "More HP in a sandstorm."), .effect = EFFECT_SHORE_UP, .power = 0, - .type = TYPE_GROUND, .accuracy = 0, - .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 5 : 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .healingMove = TRUE, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -14847,12 +14842,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Only works first turn."), .effect = EFFECT_FIRST_TURN_ONLY, .power = 90, - .type = TYPE_BUG, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 2, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 2, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_COOL, @@ -14868,13 +14863,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "foes on contact."), .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_POISON, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 4, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 4, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -14894,12 +14889,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "no longer escape."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PREVENT_ESCAPE, .chance = 100, @@ -14918,12 +14913,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "It ignores stat changes."), .effect = EFFECT_HIT, .power = 85, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .ignoresTargetDefenseEvasionStages = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, @@ -14940,15 +14935,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "burns on contact."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_WATER, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, - .argument = STATUS1_BURN, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 10, + .priority = 0, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .argument = STATUS1_BURN, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_REMOVE_STATUS, .chance = 100, @@ -14967,12 +14962,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Lowers the user's Speed."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_ICE, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -14993,17 +14988,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Heals more on grass."), .effect = EFFECT_HEAL_PULSE, .power = 0, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, - .argument = MOVE_EFFECT_FLORAL_HEALING, - .mirrorMoveBanned = TRUE, - .healingMove = TRUE, + .priority = 0, .magicCoatAffected = TRUE, + .healingMove = TRUE, + .mirrorMoveBanned = TRUE, + .argument = MOVE_EFFECT_FLORAL_HEALING, .contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -15018,12 +15013,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "its entire body."), .effect = EFFECT_HIT, .power = 95, - .type = TYPE_GROUND, .accuracy = 95, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -15039,13 +15034,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "heal HP, then drops Attack."), .effect = EFFECT_STRENGTH_SAP, .power = 0, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .healingMove = B_HEAL_BLOCKING >= GEN_6, .contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, @@ -15062,12 +15057,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "chops with a blade of light."), .effect = EFFECT_SOLAR_BEAM, .power = 125, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, .sleepTalkBanned = TRUE, @@ -15087,12 +15082,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "small leaves."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 40, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 40, + .priority = 0, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -15107,13 +15102,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "spotlighted Pokémon."), .effect = EFFECT_FOLLOW_ME, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 3, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPDEF_UP_1 }, + .priority = 3, .magicCoatAffected = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -15133,13 +15128,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "poisons and drops Speed."), .effect = EFFECT_TOXIC_THREAD, .power = 0, - .type = TYPE_POISON, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -15155,15 +15150,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "will be a critical hit."), .effect = EFFECT_LASER_FOCUS, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 30, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 30, .zMove = { .effect = Z_EFFECT_ATK_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -15179,15 +15174,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "those with Plus or Minus."), .effect = EFFECT_GEAR_UP, .power = 0, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, @@ -15204,12 +15199,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sound moves for a while."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_DARK, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_THROAT_CHOP, @@ -15229,12 +15224,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "restores ally's HP."), .effect = EFFECT_HIT_ENEMY_HEAL_ALLY, .power = 90, - .type = TYPE_BUG, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .ballisticMove = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -15250,12 +15245,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "chain. The foe can't escape."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PREVENT_ESCAPE, @@ -15275,13 +15270,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "5 turns. Blocks priority."), .effect = EFFECT_PSYCHIC_TERRAIN, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, @@ -15298,12 +15293,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "its Attack stat."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_BUG, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ATK_MINUS_1, @@ -15323,12 +15318,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lowering its Defense."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_MINUS_1, @@ -15348,12 +15343,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "stat boosts the user has."), .effect = EFFECT_STORED_POWER, .power = 20, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -15369,12 +15364,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "removing the Fire type."), .effect = EFFECT_FAIL_IF_NOT_ARG_TYPE, .power = 130, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .thawsUser = TRUE, .argument = TYPE_FIRE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -15395,13 +15390,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the target's."), .effect = EFFECT_SPEED_SWAP, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresSubstitute = TRUE, .contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, .contestCategory = CONTEST_CATEGORY_SMART, @@ -15417,12 +15412,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "horn that never misses."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_SMART, @@ -15438,16 +15433,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to restore HP."), .effect = EFFECT_PURIFY, .power = 0, - .type = TYPE_POISON, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 }, - .mirrorMoveBanned = TRUE, - .healingMove = TRUE, + .priority = 0, .magicCoatAffected = TRUE, + .healingMove = TRUE, + .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -15462,12 +15457,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Matches user's first type."), .effect = EFFECT_REVELATION_DANCE, .power = 90, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .danceMove = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -15483,13 +15478,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "nullifies the foe's ability."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, .zMove = { .powerOverride = 140 }, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_CORE_ENFORCER, }), @@ -15507,12 +15502,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "tropics. Lowers Attack."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ATK_MINUS_1, @@ -15532,13 +15527,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "its last move again."), .effect = EFFECT_INSTRUCT, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, .zMove = { .effect = Z_EFFECT_SPATK_UP_1 }, + .priority = 0, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -15557,20 +15552,20 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Burns foe on contact."), .effect = EFFECT_BEAK_BLAST, .power = 100, - .type = TYPE_FLYING, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = -3, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, - .mirrorMoveBanned = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = -3, .ballisticMove = TRUE, + .mirrorMoveBanned = TRUE, .meFirstBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -15585,14 +15580,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "its scales. Drops Defense."), .effect = EFFECT_HIT, .power = 110, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, - .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, + .target = MOVE_TARGET_BOTH, + .pp = 5, + .priority = 0, .soundMove = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_MINUS_1, .self = TRUE, @@ -15611,12 +15606,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "like a hammer to damage."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_COOL, @@ -15632,12 +15627,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to hurt everyone nearby."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_DARK, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 20, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -15653,15 +15648,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "only usable with hail."), .effect = EFFECT_AURORA_VEIL, .power = 0, - .type = TYPE_ICE, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 20, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -15677,19 +15672,19 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damages on contact."), .effect = EFFECT_SHELL_TRAP, .power = 150, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_BOTH, - .priority = -3, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 5, + .priority = -3, .mirrorMoveBanned = TRUE, .meFirstBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .assistBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -15704,12 +15699,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lowers Sp. Attack."), .effect = EFFECT_HIT, .power = 130, - .type = TYPE_FAIRY, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_TWO_DOWN, @@ -15729,12 +15724,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Destroys any barriers."), .effect = EFFECT_BRICK_BREAK, .power = 85, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .bitingMove = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, @@ -15751,12 +15746,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Stronger after a failure."), .effect = EFFECT_STOMPING_TANTRUM, .power = 75, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, @@ -15773,12 +15768,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "bone. Might drop Defense."), .effect = EFFECT_HIT, .power = 85, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_MINUS_1, .chance = 20, @@ -15797,12 +15792,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "rock that always goes first."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_ROCK, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 1, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -15818,12 +15813,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Can lower Defense."), .effect = EFFECT_HIT, .power = 85, - .type = TYPE_WATER, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_MINUS_1, @@ -15843,12 +15838,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "forces recharge next turn."), .effect = EFFECT_HIT, .power = 160, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RECHARGE, .self = TRUE, @@ -15867,14 +15862,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "boosts, then attacks."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, - .ignoresSubstitute = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, + .ignoresSubstitute = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPECTRAL_THIEF, @@ -15893,12 +15888,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "ignores abilities."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .ignoresTargetAbility = TRUE, .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_8, @@ -15916,12 +15911,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "ignores abilities."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .ignoresTargetAbility = TRUE, .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_8, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, @@ -15938,13 +15933,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Attack and Sp. Attack."), .effect = EFFECT_NOBLE_ROAR, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 20, .zMove = { .effect = Z_EFFECT_DEF_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, @@ -15961,12 +15956,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "can cause flinching."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -15986,12 +15981,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the power of nature."), .effect = EFFECT_SUPER_FANG, .power = 1, - .type = TYPE_FAIRY, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_8, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -16007,14 +16002,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with Memories."), .effect = EFFECT_CHANGE_TYPE_ON_ITEM, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 120 : 90, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = HOLD_EFFECT_MEMORY, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, + .argument = HOLD_EFFECT_MEMORY, .contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -16029,12 +16024,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to damage everything around."), .effect = EFFECT_MIND_BLOWN, .power = 150, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -16050,12 +16045,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Normal moves become Electric."), .effect = EFFECT_PLASMA_FISTS, .power = 100, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .metronomeBanned = TRUE, @@ -16073,12 +16068,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "determines its category."), .effect = EFFECT_PHOTON_GEYSER, .power = 100, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .ignoresTargetAbility = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, @@ -16095,15 +16090,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "first and land a critical hit."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 80 : 50, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 10 : 15, - .target = MOVE_TARGET_SELECTED, - .priority = 2, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 10 : 15, + .priority = 2, + .alwaysCriticalHit = TRUE, .makesContact = TRUE, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, - .alwaysCriticalHit = TRUE, .metronomeBanned = TRUE, #if B_UPDATED_MOVE_DATA >= GEN_8 .additionalEffects = ADDITIONAL_EFFECTS({ @@ -16121,12 +16116,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "may paralyze the foe."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_WATER, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 15, + .priority = 0, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -16143,15 +16138,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "angle. May cause flinching."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_FLYING, .accuracy = 95, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, - .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .gravityBanned = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -16167,12 +16162,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "power. It never misses."), .effect = EFFECT_RETURN, .power = 1, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, }, @@ -16189,16 +16184,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #endif .effect = EFFECT_ABSORB, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 60 : 90, - .type = TYPE_WATER, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 20 : 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, - .argument = B_UPDATED_MOVE_DATA >= GEN_8 ? 100 : 50, // restores 100% HP instead of 50% HP + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 20 : 15, + .priority = 0, + .healingMove = B_HEAL_BLOCKING >= GEN_6, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .healingMove = B_HEAL_BLOCKING >= GEN_6, + .argument = B_UPDATED_MOVE_DATA >= GEN_8 ? 100 : 50, // restores 100% HP instead of 50% HP }, [MOVE_BUZZY_BUZZ] = @@ -16209,12 +16204,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that always paralyzes."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 60 : 90, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 20 : 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 20 : 15, + .priority = 0, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -16231,15 +16226,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Leaves the foe with a burn."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 60 : 90, - .type = TYPE_FIRE, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 20 : 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 20 : 15, + .priority = 0, .makesContact = TRUE, - .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .thawsUser = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, @@ -16255,12 +16250,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "wall, lowering Sp. Atk damage."), .effect = EFFECT_GLITZY_GLOW, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 80 : 90, - .type = TYPE_PSYCHIC, .accuracy = B_UPDATED_MOVE_DATA >= GEN_8 ? 95 : 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, }, @@ -16273,12 +16268,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "wall, lowering Attack damage."), .effect = EFFECT_BADDY_BAD, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 80 : 90, - .type = TYPE_DARK, .accuracy = B_UPDATED_MOVE_DATA >= GEN_8 ? 95 : 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, }, @@ -16291,14 +16286,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that drain HP every turn."), .effect = EFFECT_SAPPY_SEED, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 100 : 90, - .type = TYPE_GRASS, .accuracy = B_UPDATED_MOVE_DATA >= GEN_8 ? 90 : 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 10 : 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, - .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 10 : 15, + .priority = 0, .magicCoatAffected = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, }, @@ -16310,12 +16305,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Eliminates all stat changes."), .effect = EFFECT_FREEZY_FROST, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 100 : 90, - .type = TYPE_ICE, .accuracy = B_UPDATED_MOVE_DATA >= GEN_8 ? 90 : 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 10 : 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 10 : 15, + .priority = 0, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, }, @@ -16328,12 +16323,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "scent. Heals party's status."), .effect = EFFECT_SPARKLY_SWIRL, .power = B_UPDATED_MOVE_DATA >= GEN_8 ? 120 : 90, - .type = TYPE_FAIRY, .accuracy = B_UPDATED_MOVE_DATA >= GEN_8 ? 85 : 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 5 : 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_8 ? 5 : 15, + .priority = 0, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, }, @@ -16346,12 +16341,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "power. It never misses."), .effect = EFFECT_RETURN, .power = 1, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, @@ -16365,15 +16360,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "its arms. May cause flinch."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, + .strikeCount = 2, .makesContact = TRUE, .punchingMove = TRUE, - .strikeCount = 2, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -16394,20 +16389,20 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "2x damage to Dynamaxed foes."), .effect = EFFECT_DYNAMAX_DOUBLE_DMG, .power = 100, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .mirrorMoveBanned = TRUE, + .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = B_EXTRAPOLATED_MOVE_FLAGS, .sleepTalkBanned = TRUE, .instructBanned = TRUE, - .mimicBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = B_EXTRAPOLATED_MOVE_FLAGS, .parentalBondBanned = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_SMART, @@ -16423,13 +16418,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that draw in moves."), .effect = EFFECT_SNIPE_SHOT, .power = 80, - .type = TYPE_WATER, .accuracy = 100, - .criticalHitStage = 1, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, + .criticalHitStage = 1, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -16444,12 +16439,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the target from escaping."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .bitingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -16469,14 +16464,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "then sharply raises Def."), .effect = EFFECT_STUFF_CHEEKS, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, - .snatchAffected = TRUE, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -16492,14 +16487,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "stats but prevents escape."), .effect = EFFECT_NO_RETREAT, .power = 0, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 5, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_STATUS, - .snatchAffected = TRUE, + .target = MOVE_TARGET_USER, + .pp = 5, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -16515,12 +16510,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "makes it weak to Fire."), .effect = EFFECT_TAR_SHOT, .power = 0, - .type = TYPE_ROCK, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -16536,15 +16531,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "target into a Psychic-type."), .effect = EFFECT_SOAK, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, - .argument = TYPE_PSYCHIC, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .magicCoatAffected = TRUE, .powderMove = TRUE, + .argument = TYPE_PSYCHIC, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -16559,12 +16554,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "targets are hit once each."), .effect = EFFECT_HIT, // TODO: EFFECT_DRAGON_DARTS .power = 50, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .strikeCount = 2, .parentalBondBanned = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, @@ -16581,12 +16576,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and eat their Berries."), .effect = EFFECT_TEATIME, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, @@ -16604,12 +16599,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and Sp. Def fall each turn."), .effect = EFFECT_OCTOLOCK, .power = 0, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -16624,12 +16619,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "moves before the target."), .effect = EFFECT_BOLT_BEAK, .power = 85, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -16645,12 +16640,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "moves before the target."), .effect = EFFECT_BOLT_BEAK, .power = 85, - .type = TYPE_WATER, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .bitingMove = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, @@ -16667,12 +16662,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "either side of the field."), .effect = EFFECT_COURT_CHANGE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, .contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -16688,17 +16683,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "HP to raise all its stats."), .effect = EFFECT_CLANGOROUS_SOUL, .power = 0, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_STATUS, - .snatchAffected = TRUE, + .target = MOVE_TARGET_USER, + .pp = 5, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, + .snatchAffected = TRUE, .soundMove = TRUE, .danceMove = TRUE, + .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -16714,12 +16709,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "higher the user's Def."), .effect = EFFECT_BODY_PRESS, .power = 80, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, @@ -16737,12 +16732,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the target's Atk and Sp.Atk"), .effect = EFFECT_DECORATE, .power = 0, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -16760,12 +16755,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "The foe's Speed is lowered."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, @@ -16785,12 +16780,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "trap for four to five turns."), .effect = EFFECT_HIT, .power = 35, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, @@ -16811,14 +16806,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "target. It may cause a burn."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_FIRE, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, - .thawsUser = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .ballisticMove = TRUE, + .thawsUser = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, @@ -16838,17 +16833,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage to Dynamaxed foes."), .effect = EFFECT_DYNAMAX_DOUBLE_DMG, .power = 100, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, + .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, - .mimicBanned = TRUE, .assistBanned = B_EXTRAPOLATED_MOVE_FLAGS, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -16864,16 +16859,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage to Dynamaxed foes."), .effect = EFFECT_DYNAMAX_DOUBLE_DMG, .power = 100, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, + .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, - .mimicBanned = TRUE, .assistBanned = B_EXTRAPOLATED_MOVE_FLAGS, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -16889,12 +16884,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Type is based on its form."), .effect = EFFECT_AURA_WHEEL, .power = 110, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_PLUS_1, @@ -16915,12 +16910,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Lowers the Atk of those hit."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_BOTH, + .pp = 15, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -16941,12 +16936,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with a pointed branch."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 40, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 40, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, @@ -16963,12 +16958,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "causing strong vibrations."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .soundMove = TRUE, .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .metronomeBanned = TRUE, @@ -16986,12 +16981,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to lower the foe's Sp. Def."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1, @@ -17011,12 +17006,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Lowers the foe's Defense."), .effect = EFFECT_GRAV_APPLE, .power = 80, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_MINUS_1, @@ -17036,12 +17031,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "force. Lowers Sp. Atk."), .effect = EFFECT_HIT, .power = 75, - .type = TYPE_FAIRY, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -17062,12 +17057,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "potentially confuse the foe."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_FAIRY, .accuracy = 95, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_CONFUSION, @@ -17087,17 +17082,17 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the HP of itself and allies."), .effect = EFFECT_JUNGLE_HEALING, .power = 0, - .type = TYPE_WATER, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_STATUS, - .snatchAffected = TRUE, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .healingMove = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, - .healingMove = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -17113,12 +17108,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lowering Def on contact."), .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 4, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 4, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -17137,12 +17132,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "with hair. It never misses."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_DARK, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, @@ -17159,12 +17154,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "The user must then rest."), .effect = EFFECT_HIT, .power = 150, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .instructBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -17185,12 +17180,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "The user rests next turn."), .effect = EFFECT_HIT, .power = 160, - .type = TYPE_DRAGON, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RECHARGE, @@ -17210,12 +17205,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "its body. It hurts the user."), .effect = EFFECT_MAX_HP_50_RECOIL, .power = 140, - .type = TYPE_STEEL, .accuracy = 95, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -17231,12 +17226,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "all foes on Psychic Terrain."), .effect = EFFECT_EXPANDING_FORCE, .power = 80, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -17251,15 +17246,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "ground isn't terrain."), .effect = EFFECT_HIT_SET_REMOVE_TERRAIN, .power = 130, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, - .argument = ARG_TRY_REMOVE_TERRAIN_FAIL, // Remove a field terrain if there is one and hit, otherwise fail. .skyBattleBanned = TRUE, + .argument = ARG_TRY_REMOVE_TERRAIN_FAIL, // Remove a field terrain if there is one and hit, otherwise fail. .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, @@ -17274,12 +17269,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Ups Speed, lowers defense."), .effect = EFFECT_MULTI_HIT, .power = 25, - .type = TYPE_DRAGON, .accuracy = 90, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .argument = MOVE_EFFECT_SCALE_SHOT, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, .contestCategory = CONTEST_CATEGORY_COOL, @@ -17295,12 +17290,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Sp. Attack before attacking."), .effect = EFFECT_TWO_TURNS_ATTACK, .power = 120, - .type = TYPE_ROCK, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .instructBanned = TRUE, .argument = TWO_TURN_ARG(STRINGID_METEORBEAMCHARGING), .additionalEffects = ADDITIONAL_EFFECTS({ @@ -17322,12 +17317,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "special damage. May poison."), .effect = EFFECT_SHELL_SIDE_ARM, .power = 90, - .type = TYPE_POISON, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, .chance = 20, @@ -17346,12 +17341,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Powers up on Misty Terrain."), .effect = EFFECT_EXPLOSION, .power = 100, - .type = TYPE_FAIRY, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 5, + .priority = 0, .contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, @@ -17366,12 +17361,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "first on Grassy Terrain."), .effect = EFFECT_GRASSY_GLIDE, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 55 : 70, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, .contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, @@ -17388,12 +17383,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "when on Electric Terrain."), .effect = EFFECT_RISING_VOLTAGE, .power = 70, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -17408,12 +17403,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "depending on the terrain."), .effect = EFFECT_TERRAIN_PULSE, .power = 50, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .pulseMove = TRUE, .contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING, .contestCategory = CONTEST_CATEGORY_CUTE, @@ -17429,12 +17424,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "attack. Lowers foe's Sp. Atk."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_BUG, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1, @@ -17454,12 +17449,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "during the turn get burned."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, .onlyIfTargetRaisedStats = TRUE, @@ -17479,12 +17474,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "turn, power is doubled."), .effect = EFFECT_LASH_OUT, .power = 75, - .type = TYPE_DARK, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON, .contestCategory = CONTEST_CATEGORY_COOL, @@ -17500,12 +17495,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Fails if foe has no item."), .effect = EFFECT_POLTERGEIST, .power = 110, - .type = TYPE_GHOST, .accuracy = 90, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, @@ -17520,12 +17515,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "held by surrounding Pokémon."), .effect = EFFECT_CORROSIVE_GAS, .power = 0, - .type = TYPE_POISON, .accuracy = 100, - .pp = 40, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_FOES_AND_ALLY, + .pp = 40, + .priority = 0, .magicCoatAffected = TRUE, .contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, .contestCategory = CONTEST_CATEGORY_COOL, @@ -17541,12 +17536,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "up their Attack and Defense."), .effect = EFFECT_COACHING, .power = 0, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALLY, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALLY, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, @@ -17564,12 +17559,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "switch with a party Pokémon."), .effect = EFFECT_HIT_ESCAPE, .power = 60, - .type = TYPE_WATER, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_AVOID_STARTLE, .contestCategory = CONTEST_CATEGORY_COOL, @@ -17585,14 +17580,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "more powerful with each hit."), .effect = EFFECT_TRIPLE_KICK, .power = 20, - .type = TYPE_ICE, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .strikeCount = 3, + .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, @@ -17607,14 +17602,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "wings and hits twice in a row."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_FLYING, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .strikeCount = 2, + .makesContact = TRUE, .contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING, .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, @@ -17629,12 +17624,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the target. May leave a burn."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .thawsUser = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, @@ -17654,16 +17649,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "itself and allies in battle."), .effect = EFFECT_JUNGLE_HEALING, .power = 0, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, + .healingMove = TRUE, .ignoresSubstitute = TRUE, .mirrorMoveBanned = TRUE, - .healingMove = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, .contestCategory = CONTEST_CATEGORY_SMART, @@ -17679,14 +17674,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "strikes with a critical hit."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 75 : 80, - .type = TYPE_DARK, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .alwaysCriticalHit = TRUE, + .makesContact = TRUE, .punchingMove = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, @@ -17703,16 +17698,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "strikes with 3 critical hits."), .effect = EFFECT_HIT, .power = 25, - .type = TYPE_WATER, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, - .alwaysCriticalHit = TRUE, - .punchingMove = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .strikeCount = 3, + .alwaysCriticalHit = TRUE, + .makesContact = TRUE, + .punchingMove = TRUE, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, .contestCategory = CONTEST_CATEGORY_TOUGH, @@ -17728,12 +17723,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "electricity for "BINDING_TURNS" turns."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_ELECTRIC, .accuracy = 90, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_WRAP, @@ -17752,12 +17747,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the more damage caused."), .effect = EFFECT_ERUPTION, .power = 150, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, .contestCategory = CONTEST_CATEGORY_COOL, @@ -17775,14 +17770,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = #else "the eyes. May freeze the foe."), #endif - .power = 90, .effect = EFFECT_HIT, - .type = TYPE_PSYCHIC, + .power = 90, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE, @@ -17802,12 +17797,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "wrath. May cause flinching."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -17827,12 +17822,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to hit. Lowers foe's Defense."), .effect = EFFECT_HIT, .power = 90, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -17853,12 +17848,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "cloaked icicle lance at foes."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 120 : 130, - .type = TYPE_ICE, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_BOTH, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_LAST, .contestCategory = CONTEST_CATEGORY_BEAUTY, @@ -17874,12 +17869,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "amount of ghosts at foes."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST, .contestCategory = CONTEST_CATEGORY_SMART, @@ -17895,12 +17890,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Foe's last move has 3 PP cut."), .effect = EFFECT_EERIE_SPELL, .power = 80, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .soundMove = TRUE, .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER, @@ -17917,12 +17912,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "paralyze, poison or drowse."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 80 : 60, - .type = TYPE_POISON, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DIRE_CLAW, @@ -17938,12 +17933,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "energy. May raise Defense."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_PSYCHIC, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_PLUS_1, @@ -17960,14 +17955,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and Defense stats."), .effect = EFFECT_POWER_TRICK, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, - .snatchAffected = TRUE, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, }, @@ -17980,12 +17975,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Splinters that hurt the foe."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_ROCK, .accuracy = 90, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -18002,12 +17997,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Varies with the user's form."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 100 : 95, - .type = TYPE_FAIRY, .accuracy = 80, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .windMove = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -18024,12 +18019,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "raising the user's Sp. Atk."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_PSYCHIC, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_PLUS_1, .self = TRUE, @@ -18045,12 +18040,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that confuses the user."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 120 : 90, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_RANDOM, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_RANDOM, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_THRASH, @@ -18066,13 +18061,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "It also hurts the user."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 120 : 75, - .type = TYPE_WATER, .accuracy = 100, - .recoil = 33, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, + .recoil = 33, .makesContact = TRUE, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, }, @@ -18085,12 +18080,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "amassed chlorophyll."), .effect = EFFECT_MAX_HP_50_RECOIL, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 150 : 120, - .type = TYPE_GRASS, .accuracy = 95, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, }, [MOVE_MOUNTAIN_GALE] = @@ -18101,12 +18096,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe. It may flinch."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_ICE, .accuracy = 85, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, .chance = 30, @@ -18121,15 +18116,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Defense and Speed."), .effect = EFFECT_VICTORY_DANCE, .power = 0, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 20, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_STATUS, - .danceMove = TRUE, - .snatchAffected = TRUE, + .target = MOVE_TARGET_USER, + .pp = 20, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, + .danceMove = TRUE, .mirrorMoveBanned = TRUE, }, @@ -18141,12 +18136,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Lowers the users's defenses."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 120 : 100, - .type = TYPE_GROUND, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -18163,12 +18158,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "up against poisoned foes."), .effect = EFFECT_DOUBLE_POWER_ON_ARG_STATUS, .power = 60, - .type = TYPE_POISON, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 10 : 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 10 : 15, + .priority = 0, .argument = STATUS1_PSN_ANY, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, @@ -18184,13 +18179,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Ups the user's Speed."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 80 : 75, - .type = TYPE_PSYCHIC, .accuracy = B_UPDATED_MOVE_DATA >= GEN_9 ? 100 : 90, - .criticalHitStage = 1, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, + .criticalHitStage = 1, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_PLUS_1, .self = TRUE, @@ -18206,12 +18201,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May lower the foe's Attack."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 75 : 60, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ATK_MINUS_1, .chance = 100, @@ -18226,14 +18221,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "sharply raising its Defense."), .effect = EFFECT_DEFENSE_UP_2, .power = 0, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_STATUS, - .snatchAffected = TRUE, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, }, @@ -18245,13 +18240,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May lower Defense or flinch."), .effect = EFFECT_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 90 : 50, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 10 : 15, - .criticalHitStage = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 10 : 15, + .priority = 0, + .criticalHitStage = 1, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_MINUS_1, .chance = 50, @@ -18270,12 +18265,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "an ailment. May leave a burn."), .effect = EFFECT_DOUBLE_POWER_ON_ARG_STATUS, .power = 60, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .argument = STATUS1_ANY, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, @@ -18291,12 +18286,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Splinters that hurt the foe."), .effect = EFFECT_HIT, .power = 65, - .type = TYPE_DARK, .accuracy = 90, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -18313,12 +18308,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May lower the foe's Speed."), .effect = EFFECT_RAIN_ALWAYS_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 100 : 95, - .type = TYPE_FLYING, .accuracy = 80, - .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 10 : 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 10 : 5, + .priority = 0, .windMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SPD_MINUS_1, @@ -18334,12 +18329,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May inflict paralysis."), .effect = EFFECT_RAIN_ALWAYS_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 100 : 95, - .type = TYPE_ELECTRIC, .accuracy = 80, - .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 10 : 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 10 : 5, + .priority = 0, .windMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, @@ -18355,12 +18350,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May inflict a burn."), .effect = EFFECT_RAIN_ALWAYS_HIT, .power = B_UPDATED_MOVE_DATA >= GEN_9 ? 100 : 95, - .type = TYPE_GROUND, .accuracy = 80, - .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 10 : 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = B_UPDATED_MOVE_DATA >= GEN_9 ? 10 : 5, + .priority = 0, .windMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, @@ -18376,16 +18371,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "itself and its ally."), .effect = EFFECT_JUNGLE_HEALING, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, - .snatchAffected = TRUE, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, - .mirrorMoveBanned = TRUE, + .snatchAffected = TRUE, .healingMove = TRUE, + .mirrorMoveBanned = TRUE, }, [MOVE_TAKE_HEART] = @@ -18396,14 +18391,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "heal and strengthen itself."), .effect = EFFECT_TAKE_HEART, .power = 0, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_STATUS, - .snatchAffected = TRUE, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, }, @@ -18415,12 +18410,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "it hits with its Tera-type."), .effect = EFFECT_PLACEHOLDER, // EFFECT_TERA_BLAST, .power = 80, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, // Only since it isn't implemented yet }, @@ -18432,12 +18427,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Speed on contact."), .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_BUG, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 4, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 4, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -18451,12 +18446,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "May cause confusion."), .effect = EFFECT_RECOIL_IF_MISS, .power = 120, - .type = TYPE_FIGHTING, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_CONFUSION, @@ -18472,12 +18467,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "for each defeated ally."), .effect = EFFECT_PLACEHOLDER, // EFFECT_LAST_RESPECTS .power = 50, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, // Only since it isn't implemented yet }, @@ -18489,12 +18484,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "harshly lowers Sp. Def."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_2, .chance = 100, @@ -18509,12 +18504,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "depending on Tatsugiri."), .effect = EFFECT_PLACEHOLDER, // EFFECT_ORDER_UP .power = 80, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, }, @@ -18527,12 +18522,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "speed to strike first."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_WATER, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 1, .makesContact = TRUE, .punchingMove = TRUE, .metronomeBanned = TRUE, @@ -18546,12 +18541,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "harshly lowers its Defense."), .effect = EFFECT_PLACEHOLDER, // EFFECT_SPICY_EXTRACT .power = 0, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .magicCoatAffected = TRUE, .metronomeBanned = TRUE, }, @@ -18564,12 +18559,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Harshly lowers user's Speed."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -18586,16 +18581,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "to ten times in a row."), .effect = EFFECT_POPULATION_BOMB, .power = 20, - .type = TYPE_NORMAL, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, + .strikeCount = 10, .makesContact = TRUE, .slicingMove = TRUE, .metronomeBanned = TRUE, - .strikeCount = 10, }, [MOVE_ICE_SPINNER] = @@ -18606,15 +18601,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and destroy the terrain."), .effect = EFFECT_HIT_SET_REMOVE_TERRAIN, .power = 80, - .type = TYPE_ICE, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, - .argument = ARG_TRY_REMOVE_TERRAIN_HIT, // Remove the active field terrain if there is one. .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, + .argument = ARG_TRY_REMOVE_TERRAIN_HIT, // Remove the active field terrain if there is one. }, [MOVE_GLAIVE_RUSH] = @@ -18625,12 +18620,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "miss and do double damage."), .effect = EFFECT_GLAIVE_RUSH, .power = 120, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, // Only since it isn't implemented yet }, @@ -18643,16 +18638,16 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and restores half of its HP."), .effect = EFFECT_REVIVAL_BLESSING, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 1, + .priority = 0, .ignoresProtect = TRUE, + .healingMove = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .healingMove = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), }, @@ -18664,12 +18659,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage to Steel and Water."), .effect = EFFECT_SALT_CURE, .power = 40, - .type = TYPE_ROCK, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .metronomeBanned = TRUE, }, @@ -18681,14 +18676,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "of water 3 times in a row."), .effect = EFFECT_HIT, .power = 30, - .type = TYPE_WATER, .accuracy = 95, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, - .makesContact = TRUE, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .strikeCount = 3, + .makesContact = TRUE, }, [MOVE_MORTAL_SPIN] = @@ -18699,12 +18694,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Seed. Poisons adjecent foes."), .effect = EFFECT_HIT, .power = 30, - .type = TYPE_POISON, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_BOTH, + .pp = 15, + .priority = 0, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_RAPIDSPIN, @@ -18724,12 +18719,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Ability into the target's."), .effect = EFFECT_DOODLE, .power = 0, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -18743,15 +18738,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Speed by using its own HP."), .effect = EFFECT_FILLET_AWAY, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RECOVER_HP }, - .snatchAffected = TRUE, + .priority = 0, .ignoresProtect = TRUE, + .snatchAffected = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, }, @@ -18764,12 +18759,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "kowtowing. It never misses."), .effect = EFFECT_HIT, .power = 85, - .type = TYPE_DARK, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, }, @@ -18782,12 +18777,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "a critical hit, never missing."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .alwaysCriticalHit = TRUE, }, @@ -18799,12 +18794,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Boosts the user's Sp. Atk."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .soundMove = TRUE, .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -18822,12 +18817,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "steps. Ups the user's Speed."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_WATER, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .danceMove = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -18845,12 +18840,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "User's form determines type."), .effect = EFFECT_RAGING_BULL, .power = 90, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, }, @@ -18863,12 +18858,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Money is recovered after."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PAYDAY, @@ -18887,12 +18882,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "and cuts half the foe's HP."), .effect = EFFECT_SUPER_FANG, .power = 1, - .type = TYPE_DARK, .accuracy = 90, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .metronomeBanned = TRUE, }, @@ -18904,12 +18899,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "stronger if supereffective."), .effect = EFFECT_COLLISION_COURSE, .power = 100, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, }, @@ -18922,12 +18917,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "stronger if supereffective."), .effect = EFFECT_COLLISION_COURSE, .power = 100, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, }, @@ -18940,13 +18935,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "itself before switching out."), .effect = EFFECT_SHED_TAIL, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -18960,13 +18955,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "The user also switches out."), .effect = EFFECT_CHILLY_RECEPTION, .power = 0, - .type = TYPE_ICE, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -18980,12 +18975,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "raises its Attack and Speed."), .effect = EFFECT_PLACEHOLDER, // EFFECT_TIDY_UP .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -18999,13 +18994,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lasts for five turns."), .effect = EFFECT_SNOWSCAPE, .power = 0, - .type = TYPE_ICE, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_ALL_BATTLERS, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALL_BATTLERS, + .pp = 10, .zMove = { .effect = Z_EFFECT_SPD_UP_1 }, + .priority = 0, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -19019,12 +19014,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lowering its Speed."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_BUG, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -19041,12 +19036,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "raising its Speed."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -19064,12 +19059,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "lowers the target's Attack."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_WATER, .accuracy = 100, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_ATK_MINUS_1, @@ -19085,12 +19080,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "bypasses a foe's Protect."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .ignoresProtect = TRUE, .metronomeBanned = TRUE, @@ -19104,12 +19099,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the target twice in a row."), .effect = EFFECT_HIT, .power = 40, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .strikeCount = 2, .metronomeBanned = TRUE, }, @@ -19122,12 +19117,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "hit, the stronger the move."), .effect = EFFECT_RAGE_FIST, .power = 50, - .type = TYPE_GHOST, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .punchingMove = TRUE, .metronomeBanned = TRUE, @@ -19141,12 +19136,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the defensive stats."), .effect = EFFECT_HIT, .power = 120, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_DEF_SPDEF_DOWN, @@ -19162,12 +19157,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "half the damage inflicted."), .effect = EFFECT_ABSORB, .power = 90, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, .healingMove = TRUE, @@ -19181,12 +19176,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "losing the Electric type."), .effect = EFFECT_FAIL_IF_NOT_ARG_TYPE, .power = 120, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .metronomeBanned = TRUE, .argument = TYPE_ELECTRIC, @@ -19204,12 +19199,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "be used twice in a row."), .effect = EFFECT_HIT, .power = 160, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .cantUseTwice = TRUE, }, @@ -19221,12 +19216,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "who last hurt the user."), .effect = EFFECT_METAL_BURST, .power = 1, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_DEPENDS, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_DEPENDS, + .pp = 10, + .priority = 0, .makesContact = TRUE, .meFirstBanned = TRUE, .metronomeBanned = TRUE, @@ -19240,13 +19235,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "high critical-hit ratio."), .effect = EFFECT_HIT, .power = 70, - .type = TYPE_WATER, .accuracy = 100, - .criticalHitStage = 1, - .pp = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 20, + .priority = 0, + .criticalHitStage = 1, .slicingMove = TRUE, }, @@ -19256,21 +19251,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .mirrorMoveBanned = TRUE, .meFirstBanned = TRUE, .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, @@ -19284,21 +19279,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_DARK, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .mirrorMoveBanned = TRUE, .meFirstBanned = TRUE, .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SLEEP, @@ -19312,21 +19307,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_POISON, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .mirrorMoveBanned = TRUE, .meFirstBanned = TRUE, .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_POISON, @@ -19340,21 +19335,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .mirrorMoveBanned = TRUE, .meFirstBanned = TRUE, .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, @@ -19368,21 +19363,21 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_FAIRY, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .mirrorMoveBanned = TRUE, .meFirstBanned = TRUE, .mimicBanned = TRUE, .metronomeBanned = TRUE, .copycatBanned = TRUE, + .assistBanned = TRUE, .sleepTalkBanned = TRUE, .instructBanned = TRUE, .encoreBanned = TRUE, - .assistBanned = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_CONFUSION, @@ -19398,12 +19393,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "when on Electric Terrain."), .effect = EFFECT_PSYBLADE, .power = 80, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, .slicingMove = TRUE, }, @@ -19416,12 +19411,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "under harsh sunlight."), .effect = EFFECT_HYDRO_STEAM, .power = 80, - .type = TYPE_WATER, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .thawsUser = TRUE, }, @@ -19433,12 +19428,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Can't be used twice in a row."), .effect = EFFECT_HIT, .power = 140, - .type = TYPE_NORMAL, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .cantUseTwice = TRUE, }, @@ -19450,15 +19445,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "inflicted. May cause a burn."), .effect = EFFECT_ABSORB, .power = 80, - .type = TYPE_GRASS, .accuracy = 90, - .pp = 15, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 15, + .priority = 0, + .healingMove = B_EXTRAPOLATED_MOVE_FLAGS, .thawsUser = TRUE, .metronomeBanned = TRUE, - .healingMove = B_EXTRAPOLATED_MOVE_FLAGS, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_BURN, .chance = 20, @@ -19473,12 +19468,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "each turn for 3 turns."), .effect = EFFECT_HIT, .power = 60, - .type = TYPE_GRASS, .accuracy = 85, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ballisticMove = TRUE, .metronomeBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -19495,13 +19490,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "High critical-hit ratio."), .effect = EFFECT_IVY_CUDGEL, .power = 100, - .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, - .criticalHitStage = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, + .criticalHitStage = 1, .metronomeBanned = TRUE, }, @@ -19513,12 +19508,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "then attacks next turn."), .effect = EFFECT_TWO_TURNS_ATTACK, .power = 130, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = TWO_TURN_ARG(STRINGID_ELECTROSHOTCHARGING, B_WEATHER_RAIN), .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_SP_ATK_PLUS_1, @@ -19535,15 +19530,15 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "Stellar form Terapagos."), .effect = EFFECT_PLACEHOLDER, //EFFECT_TERA_STARSTORM .power = 120, - .type = TYPE_NORMAL, // Stellar type if used by Terapagos-Stellar .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, // MOVE_TARGET_BOTH if used by Terapagos-Stellar - .priority = 0, + .type = TYPE_NORMAL, // Stellar type if used by Terapagos-Stellar .category = DAMAGE_CATEGORY_SPECIAL, - .assistBanned = TRUE, - .copycatBanned = TRUE, + .target = MOVE_TARGET_SELECTED, // MOVE_TARGET_BOTH if used by Terapagos-Stellar + .pp = 5, + .priority = 0, .mimicBanned = TRUE, + .copycatBanned = TRUE, + .assistBanned = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), }, @@ -19555,12 +19550,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "twice as strong."), .effect = EFFECT_FICKLE_BEAM, .power = 80, - .type = TYPE_DRAGON, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, }, [MOVE_BURNING_BULWARK] = @@ -19571,13 +19566,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the foe if struck."), .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_FIRE, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 4, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, .zMove = { .effect = Z_EFFECT_RESET_STATS }, + .priority = 4, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, @@ -19591,12 +19586,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sSuckerPunchDescription, .effect = EFFECT_SUCKER_PUNCH, .power = 70, - .type = TYPE_ELECTRIC, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 1, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 1, }, [MOVE_MIGHTY_CLEAVE] = @@ -19605,12 +19600,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sFeintDescription, .effect = EFFECT_HIT, .power = 95, - .type = TYPE_ROCK, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .makesContact = TRUE, .ignoresProtect = TRUE, .slicingMove = TRUE, @@ -19624,12 +19619,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "the target. Strikes twice."), .effect = EFFECT_HIT, .power = 50, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .strikeCount = 2, .slicingMove = TRUE, }, @@ -19640,12 +19635,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sWringOutDescription, .effect = EFFECT_WRING_OUT, .power = 1, - .type = TYPE_STEEL, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, }, @@ -19657,12 +19652,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "ratio, especially if Dragons."), .effect = EFFECT_DRAGON_CHEER, .power = 0, - .type = TYPE_DRAGON, .accuracy = 0, - .pp = 15, - .target = MOVE_TARGET_ALLY, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_ALLY, + .pp = 15, + .priority = 0, .ignoresSubstitute = TRUE, }, @@ -19674,12 +19669,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "stats were boosted this turn."), .effect = EFFECT_HIT, .power = 80, - .type = TYPE_FAIRY, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .soundMove = TRUE, .ignoresSubstitute = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -19697,12 +19692,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "doubles if last move failed."), .effect = EFFECT_STOMPING_TANTRUM, .power = 75, - .type = TYPE_FIRE, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .makesContact = TRUE, }, @@ -19714,12 +19709,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "misses, the user is hurt."), .effect = EFFECT_RECOIL_IF_MISS, .power = 100, - .type = TYPE_ELECTRIC, .accuracy = 95, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 0, .makesContact = TRUE, }, @@ -19731,12 +19726,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "damage and prevent healing."), .effect = EFFECT_HIT, .power = 75, - .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .soundMove = TRUE, .ignoresSubstitute = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -19747,18 +19742,18 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_UPPER_HAND] = { - .effect = EFFECT_UPPER_HAND, .name = COMPOUND_STRING("Upper Hand"), .description = COMPOUND_STRING( "Makes the target flinch if\n" "readying a priority move."), + .effect = EFFECT_UPPER_HAND, .power = 65, - .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 15, - .target = MOVE_TARGET_SELECTED, - .priority = 3, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 15, + .priority = 3, .makesContact = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_FLINCH, @@ -19774,12 +19769,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = "that may badly poison."), .effect = EFFECT_HIT, .power = 100, - .type = TYPE_POISON, .accuracy = 100, - .pp = 5, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 5, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_TOXIC, .chance = 50, @@ -19793,12 +19788,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, //determined from move type + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_ALL_OUT_PUMMELING] = { @@ -19806,12 +19801,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_SUPERSONIC_SKYSTRIKE] = { @@ -19819,12 +19814,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_FLYING, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_ACID_DOWNPOUR] = { @@ -19832,12 +19827,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_POISON, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_TECTONIC_RAGE] = { @@ -19845,12 +19840,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_GROUND, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, }, [MOVE_CONTINENTAL_CRUSH] = @@ -19859,12 +19854,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_ROCK, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_SAVAGE_SPIN_OUT] = { @@ -19872,12 +19867,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_BUG, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_NEVER_ENDING_NIGHTMARE] = { @@ -19885,12 +19880,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_GHOST, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_CORKSCREW_CRASH] = { @@ -19898,12 +19893,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_INFERNO_OVERDRIVE] = { @@ -19911,12 +19906,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_FIRE, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_HYDRO_VORTEX] = { @@ -19924,12 +19919,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_WATER, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_BLOOM_DOOM] = { @@ -19937,12 +19932,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_GIGAVOLT_HAVOC] = { @@ -19950,12 +19945,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_SHATTERED_PSYCHE] = { @@ -19963,12 +19958,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_SUBZERO_SLAMMER] = { @@ -19976,12 +19971,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_ICE, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_DEVASTATING_DRAKE] = { @@ -19989,12 +19984,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_DRAGON, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_BLACK_HOLE_ECLIPSE] = { @@ -20002,12 +19997,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_DARK, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_TWINKLE_TACKLE] = { @@ -20015,12 +20010,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 1, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_CATASTROPIKA] = { @@ -20028,12 +20023,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 210, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_10000000_VOLT_THUNDERBOLT] = { @@ -20041,13 +20036,13 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 195, - .type = TYPE_ELECTRIC, .accuracy = 0, - .criticalHitStage = 2, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, + .criticalHitStage = 2, }, [MOVE_STOKED_SPARKSURFER] = { @@ -20055,12 +20050,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 175, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, .additionalEffects = ADDITIONAL_EFFECTS({ .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 100, @@ -20072,12 +20067,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_EXTREME_EVOBOOST, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_USER, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 1, + .priority = 0, }, [MOVE_PULVERIZING_PANCAKE] = { @@ -20085,12 +20080,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 210, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_GENESIS_SUPERNOVA] = { @@ -20098,12 +20093,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT_SET_REMOVE_TERRAIN, .power = 185, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, .argument = ARG_SET_PSYCHIC_TERRAIN, // Set Psychic Terrain. If there's a different field terrain active, overwrite it. }, [MOVE_SINISTER_ARROW_RAID] = @@ -20112,12 +20107,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 180, - .type = TYPE_GHOST, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_MALICIOUS_MOONSAULT] = { @@ -20125,12 +20120,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 180, - .type = TYPE_DARK, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_OCEANIC_OPERETTA] = { @@ -20138,12 +20133,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 195, - .type = TYPE_WATER, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_SPLINTERED_STORMSHARDS] = { @@ -20151,12 +20146,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT_SET_REMOVE_TERRAIN, .power = 190, - .type = TYPE_ROCK, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, .argument = ARG_TRY_REMOVE_TERRAIN_HIT, // Remove the active field terrain if there is one. }, [MOVE_LETS_SNUGGLE_FOREVER] = @@ -20165,12 +20160,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 190, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_CLANGOROUS_SOULBLAZE] = { @@ -20178,12 +20173,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 185, - .type = TYPE_DRAGON, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_BOTH, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_BOTH, + .pp = 1, + .priority = 0, .soundMove = TRUE, .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .additionalEffects = ADDITIONAL_EFFECTS({ @@ -20198,12 +20193,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_SUPER_FANG, .power = 1, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_SEARING_SUNRAZE_SMASH] = { @@ -20211,12 +20206,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 200, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_MENACING_MOONRAZE_MAELSTROM] = { @@ -20224,12 +20219,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 200, - .type = TYPE_GHOST, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_LIGHT_THAT_BURNS_THE_SKY] = { @@ -20237,12 +20232,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 200, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_SPECIAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_SOUL_STEALING_7_STAR_STRIKE] = { @@ -20250,12 +20245,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_HIT, .power = 195, - .type = TYPE_GHOST, .accuracy = 0, - .pp = 1, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 1, + .priority = 0, }, [MOVE_MAX_GUARD] = @@ -20264,12 +20259,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_PROTECT, .power = 0, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_USER, - .priority = 4, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_STATUS, + .target = MOVE_TARGET_USER, + .pp = 10, + .priority = 4, }, [MOVE_MAX_FLARE] = @@ -20278,12 +20273,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_FIRE, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_SUN, }, @@ -20293,12 +20288,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_BUG, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_LOWER_SP_ATK, }, @@ -20308,12 +20303,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_ELECTRIC_TERRAIN, }, @@ -20323,12 +20318,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_LOWER_SPEED, }, @@ -20338,12 +20333,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_RAISE_TEAM_ATTACK, }, @@ -20353,12 +20348,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_GHOST, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_LOWER_DEFENSE, }, @@ -20368,12 +20363,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_ICE, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_HAIL, }, @@ -20383,12 +20378,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_POISON, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_RAISE_TEAM_SP_ATK, }, @@ -20398,12 +20393,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_WATER, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_RAIN, }, @@ -20413,12 +20408,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_FLYING, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_RAISE_TEAM_SPEED, }, @@ -20428,12 +20423,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_MISTY_TERRAIN, }, @@ -20443,12 +20438,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_DRAGON, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_LOWER_ATTACK, }, @@ -20458,12 +20453,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_PSYCHIC_TERRAIN, }, @@ -20473,12 +20468,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_ROCK, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_SANDSTORM, }, @@ -20488,14 +20483,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_GROUND, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = MAX_EFFECT_RAISE_TEAM_SP_DEF, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, + .argument = MAX_EFFECT_RAISE_TEAM_SP_DEF, }, [MOVE_MAX_DARKNESS] = @@ -20504,12 +20499,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 1, - .type = TYPE_DARK, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_LOWER_SP_DEF, }, @@ -20519,12 +20514,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_GRASSY_TERRAIN, }, @@ -20534,12 +20529,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_RAISE_TEAM_DEFENSE, }, @@ -20549,12 +20544,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_VINE_LASH, }, @@ -20564,12 +20559,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_FIRE, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_WILDFIRE, }, @@ -20579,12 +20574,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_WATER, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_CANNONADE, }, @@ -20594,12 +20589,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_BUG, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_BUG, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_EFFECT_SPORE_FOES, }, @@ -20609,12 +20604,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_PARALYZE_FOES, }, @@ -20624,12 +20619,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_CONFUSE_FOES_PAY_DAY, }, @@ -20639,12 +20634,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_FIGHTING, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIGHTING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_CRIT_PLUS, }, @@ -20654,12 +20649,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_GHOST, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GHOST, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_MEAN_LOOK, }, @@ -20669,12 +20664,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_WATER, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_LOWER_SPEED_2_FOES, }, @@ -20684,12 +20679,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_ICE, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ICE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_AURORA_VEIL, }, @@ -20699,12 +20694,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_INFATUATE_FOES, }, @@ -20714,12 +20709,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_NORMAL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_RECYCLE_BERRIES, }, @@ -20729,12 +20724,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_POISON, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_POISON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_POISON_FOES, }, @@ -20744,12 +20739,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_TORMENT_FOES, }, @@ -20759,14 +20754,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ignoresTargetAbility = TRUE, + .argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO }, [MOVE_G_MAX_FIREBALL] = @@ -20775,14 +20770,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_FIRE, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ignoresTargetAbility = TRUE, + .argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO }, [MOVE_G_MAX_HYDROSNIPE] = @@ -20791,14 +20786,14 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_WATER, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .ignoresTargetAbility = TRUE, + .argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO }, [MOVE_G_MAX_WIND_RAGE] = @@ -20807,12 +20802,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_FLYING, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FLYING, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_DEFOG, }, @@ -20822,12 +20817,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_PSYCHIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_GRAVITY, }, @@ -20837,12 +20832,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_WATER, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_STEALTH_ROCK, }, @@ -20852,12 +20847,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_ROCK, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ROCK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_VOLCALITH, }, @@ -20867,12 +20862,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_LOWER_EVASIVENESS_FOES, }, @@ -20882,12 +20877,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_GRASS, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GRASS, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_AROMATHERAPY, }, @@ -20897,12 +20892,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_GROUND, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_GROUND, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_SANDBLAST_FOES, }, @@ -20912,12 +20907,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_ELECTRIC, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_ELECTRIC, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_POISON_PARALYZE_FOES, }, @@ -20927,12 +20922,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_FIRE, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FIRE, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_FIRE_SPIN_FOES, }, @@ -20942,12 +20937,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_CONFUSE_FOES, }, @@ -20958,12 +20953,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_DARK, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_YAWN_FOE, }, @@ -20973,12 +20968,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_FAIRY, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_FAIRY, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_HEAL_TEAM, }, @@ -20988,12 +20983,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_STEEL, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_STEEL, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_STEELSURGE, }, @@ -21003,12 +20998,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_DRAGON, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DRAGON, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_SPITE, }, @@ -21018,12 +21013,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_DARK, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_DARK, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_BYPASS_PROTECT, //EFFECT TODO }, @@ -21033,12 +21028,12 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = sNullDescription, //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, - .type = TYPE_WATER, .accuracy = 0, - .pp = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, + .type = TYPE_WATER, .category = DAMAGE_CATEGORY_PHYSICAL, + .target = MOVE_TARGET_SELECTED, + .pp = 10, + .priority = 0, .argument = MAX_EFFECT_BYPASS_PROTECT, //EFFECT TODO }, diff --git a/test/battle/move_effect/upper_hand.c b/test/battle/move_effect/upper_hand.c index 42aaea4a50..797713e6f6 100644 --- a/test/battle/move_effect/upper_hand.c +++ b/test/battle/move_effect/upper_hand.c @@ -99,7 +99,7 @@ SINGLE_BATTLE_TEST("Upper Hand fails if the target moves first") } } -SINGLE_BATTLE_TEST("Upper Hand is boosted by Sheer Force") // why does this move need a special test? +SINGLE_BATTLE_TEST("Upper Hand is boosted by Sheer Force") { GIVEN { ASSUME(gMovesInfo[MOVE_EXTREME_SPEED].category == DAMAGE_CATEGORY_PHYSICAL);