22743 lines
744 KiB
C
22743 lines
744 KiB
C
#include "battle_dynamax.h"
|
|
#include "battle_anim_scripts.h"
|
|
#include "constants/battle.h"
|
|
#include "constants/battle_move_effects.h"
|
|
#include "constants/battle_script_commands.h"
|
|
#include "constants/battle_string_ids.h"
|
|
#include "constants/battle_z_move_effects.h"
|
|
#include "constants/hold_effects.h"
|
|
#include "constants/moves.h"
|
|
#include "constants/contest.h"
|
|
|
|
// The Gen. 4+ contest data comes from urpg's contest movedex.
|
|
|
|
#if B_BINDING_TURNS >= GEN_5
|
|
#define BINDING_TURNS "4 or 5"
|
|
#else
|
|
#define BINDING_TURNS "2 to 5"
|
|
#endif
|
|
|
|
// Shared Move Description entries
|
|
|
|
const u8 gNotDoneYetDescription[] = _(
|
|
"This move can't be used. Its\n"
|
|
"effect is in development.");
|
|
|
|
static const u8 sNullDescription[] = _("");
|
|
|
|
static const u8 sMegaDrainDescription[] = _(
|
|
"An attack that absorbs\n"
|
|
"half the damage inflicted.");
|
|
|
|
#if B_SKIP_RECHARGE != GEN_1
|
|
static const u8 sHyperBeamDescription[] = _(
|
|
"Powerful, but leaves the\n"
|
|
"user immobile the next turn.");
|
|
#else
|
|
static const u8 sHyperBeamDescription[] = _(
|
|
"Leaves the user immobile\n"
|
|
"if target is not KO'd.");
|
|
#endif
|
|
|
|
static const u8 sRevengeDescription[] = _(
|
|
"An attack that moves last\n"
|
|
"and gains power if hit.");
|
|
|
|
static const u8 sPluckDescription[] = _(
|
|
"Eats the foe's held Berry\n"
|
|
"gaining its effect.");
|
|
|
|
static const u8 sHealingWishDescription[] = _(
|
|
"The user faints to heal up\n"
|
|
"the recipient.");
|
|
|
|
static const u8 sWringOutDescription[] = _(
|
|
"The higher the foe's HP\n"
|
|
"the more damage caused.");
|
|
|
|
static const u8 sUTurnDescription[] = _(
|
|
"Does damage then switches\n"
|
|
"out the user.");
|
|
|
|
static const u8 sStormThrowDescription[] = _(
|
|
"This attack always results\n"
|
|
"in a critical hit.");
|
|
|
|
static const u8 sCircleThrowDescription[] = _(
|
|
"Knocks foe away to switch\n"
|
|
"it out or end wild battle.");
|
|
|
|
static const u8 sChipAwayDescription[] = _(
|
|
"Strikes through the foe's\n"
|
|
"stat changes.");
|
|
|
|
static const u8 sHeavySlamDescription[] = _(
|
|
"Does more damage if the\n"
|
|
"user outweighs the foe.");
|
|
|
|
static const u8 sPsyshockDescription[] = _(
|
|
"Attacks with a psychic wave\n"
|
|
"that does physical damage.");
|
|
|
|
static const u8 sLavaPlumeDescription[] = _(
|
|
"Scarlet flames torch\n"
|
|
"everything around the user.");
|
|
|
|
static const u8 sShadowForceDescription[] = _(
|
|
"Vanishes on the first turn\n"
|
|
"then strikes the next turn.");
|
|
|
|
static const u8 sFalseSwipeDescription[] = _(
|
|
"An attack that leaves the\n"
|
|
"foe with at least 1 HP.");
|
|
|
|
static const u8 sDrainingKissDescription[] = _(
|
|
"An attack that absorbs over\n"
|
|
"half the damage inflicted.");
|
|
|
|
static const u8 sCloseCombatDescription[] = _(
|
|
"A strong attack but lowers\n"
|
|
"the defensive stats.");
|
|
|
|
static const u8 sHyperspaceHoleDescription[] = _(
|
|
"Uses a warp hole to attack.\n"
|
|
"Can't be evaded.");
|
|
|
|
static const u8 sSuckerPunchDescription[] = _(
|
|
"Strikes first if the foe\n"
|
|
"is preparing an attack.");
|
|
|
|
static const u8 sFeintDescription[] = _(
|
|
"An attack that hits foes\n"
|
|
"using moves like Protect.");
|
|
|
|
static const u8 sProtectDescription[] = _(
|
|
"Evades attack, but may fail\n"
|
|
"if used in succession.");
|
|
|
|
static const u8 sGMaxOneBlowDescription[] = _(
|
|
"G-max Urshifu attack.\n"
|
|
"Ignores Max Guard.");
|
|
|
|
const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
|
{
|
|
[MOVE_NONE] =
|
|
{
|
|
.name = COMPOUND_STRING("-"),
|
|
.description = COMPOUND_STRING(""),
|
|
.effect = EFFECT_HIT,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 0,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.sketchBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_None,
|
|
},
|
|
|
|
[MOVE_POUND] =
|
|
{
|
|
.name = COMPOUND_STRING("Pound"),
|
|
.description = COMPOUND_STRING(
|
|
"Pounds the foe with\n"
|
|
"forelegs or tail."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 35,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresKingsRock = B_UPDATED_MOVE_FLAGS == GEN_4,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_POUND,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Pound,
|
|
},
|
|
|
|
[MOVE_KARATE_CHOP] =
|
|
{
|
|
.name = COMPOUND_STRING("Karate Chop"),
|
|
.description = COMPOUND_STRING(
|
|
"A chopping attack with a\n"
|
|
"high critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.criticalHitStage = 1,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY},
|
|
.battleAnimScript = gBattleAnimMove_KarateChop,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DOUBLE_SLAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Double Slap"),
|
|
.description = COMPOUND_STRING(
|
|
"Repeatedly slaps the foe\n"
|
|
"2 to 5 times."),
|
|
.effect = EFFECT_MULTI_HIT,
|
|
.power = 15,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 85,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_POUND},
|
|
.battleAnimScript = gBattleAnimMove_DoubleSlap,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_COMET_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Comet Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"Repeatedly punches the foe\n"
|
|
"2 to 5 times."),
|
|
.effect = EFFECT_MULTI_HIT,
|
|
.power = 18,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 85,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CometPunch,
|
|
},
|
|
|
|
[MOVE_MEGA_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Mega Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"A strong punch thrown with\n"
|
|
"incredible power."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 85,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER},
|
|
.battleAnimScript = gBattleAnimMove_MegaPunch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PAY_DAY] =
|
|
{
|
|
.name = COMPOUND_STRING("Pay Day"),
|
|
.description = COMPOUND_STRING(
|
|
"Throws coins at the foe.\n"
|
|
"Money is recovered after."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PAYDAY,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PayDay,
|
|
},
|
|
|
|
[MOVE_FIRE_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Fire Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"A fiery punch that may burn\n"
|
|
"the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 75,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_FIRE_PUNCH,
|
|
.contestComboMoves = {COMBO_STARTER_ICE_PUNCH, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH},
|
|
.battleAnimScript = gBattleAnimMove_FirePunch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ICE_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Ice Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"An icy punch that may\n"
|
|
#if B_USE_FROSTBITE == TRUE
|
|
"leave the foe with frostbite."),
|
|
#else
|
|
"freeze the foe."),
|
|
#endif
|
|
.effect = EFFECT_HIT,
|
|
.power = 75,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_ICE_PUNCH,
|
|
.contestComboMoves = {COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_THUNDER_PUNCH},
|
|
.battleAnimScript = gBattleAnimMove_IcePunch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_THUNDER_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Thunder Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"An electrified punch that\n"
|
|
"may paralyze the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 75,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_THUNDER_PUNCH,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH},
|
|
.battleAnimScript = gBattleAnimMove_ThunderPunch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SCRATCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Scratch"),
|
|
.description = COMPOUND_STRING(
|
|
"Scratches the foe with\n"
|
|
"sharp claws."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 35,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_SCRATCH,
|
|
.contestComboMoves = {COMBO_STARTER_LEER},
|
|
.battleAnimScript = gBattleAnimMove_Scratch,
|
|
},
|
|
|
|
[MOVE_VISE_GRIP] =
|
|
{
|
|
.name = COMPOUND_STRING("Vise Grip"),
|
|
.description = COMPOUND_STRING(
|
|
"Grips the foe with large and\n"
|
|
"powerful pincers."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 55,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_VICE_GRIP,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ViseGrip,
|
|
},
|
|
|
|
[MOVE_GUILLOTINE] =
|
|
{
|
|
.name = COMPOUND_STRING("Guillotine"),
|
|
.description = COMPOUND_STRING(
|
|
"A powerful pincer attack\n"
|
|
"that KOs if it hits."),
|
|
.effect = EFFECT_OHKO,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 30,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_VICE_GRIP},
|
|
.battleAnimScript = gBattleAnimMove_Guillotine,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_RAZOR_WIND] =
|
|
{
|
|
.name = COMPOUND_STRING("Razor Wind"),
|
|
.description = COMPOUND_STRING(
|
|
"A 2-turn move with a high\n"
|
|
"critical-hit ratio."),
|
|
.effect = EFFECT_TWO_TURNS_ATTACK,
|
|
.power = 80,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.criticalHitStage = 1,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.windMove = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_PKMNWHIPPEDWHIRLWIND },
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RazorWind,
|
|
},
|
|
|
|
[MOVE_SWORDS_DANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Swords Dance"),
|
|
.description = COMPOUND_STRING(
|
|
"A fighting dance that\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.danceMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_SWORDS_DANCE,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SwordsDance,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CUT] =
|
|
{
|
|
.name = COMPOUND_STRING("Cut"),
|
|
.description = COMPOUND_STRING(
|
|
"Cuts the foe with sharp\n"
|
|
"scythes, claws, etc."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 95,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SWORDS_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Cut,
|
|
},
|
|
|
|
[MOVE_GUST] =
|
|
{
|
|
.name = COMPOUND_STRING("Gust"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes the foe with a gust\n"
|
|
"of wind whipped up by wings."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 100,
|
|
.pp = 35,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_4) || (B_UPDATED_MOVE_FLAGS < GEN_3),
|
|
.damagesAirborneDoubleDamage = TRUE,
|
|
.windMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Gust,
|
|
},
|
|
|
|
[MOVE_WING_ATTACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Wing Attack"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes the foe with wings\n"
|
|
"spread wide."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 100,
|
|
.pp = 35,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_WingAttack,
|
|
},
|
|
|
|
[MOVE_WHIRLWIND] =
|
|
{
|
|
.name = COMPOUND_STRING("Whirlwind"),
|
|
.description = COMPOUND_STRING(
|
|
"Blows away the foe, switches\n"
|
|
"it out or ends wild 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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.windMove = TRUE,
|
|
.ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.ignoresSubstitute = TRUE,
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Whirlwind,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FLY] =
|
|
{
|
|
.name = COMPOUND_STRING("Fly"),
|
|
.description = COMPOUND_STRING(
|
|
"Flies up on the first turn,\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.gravityBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_PKMNFLEWHIGH, .status = STATE_ON_AIR },
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Fly,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BIND] =
|
|
{
|
|
.name = COMPOUND_STRING("Bind"),
|
|
.description = COMPOUND_STRING(
|
|
"Binds and squeezes the foe\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_WRAP,
|
|
.multistring.wrapped = B_MSG_WRAPPED_BIND,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_VICE_GRIP},
|
|
.battleAnimScript = gBattleAnimMove_Bind,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SLAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Slam"),
|
|
.description = COMPOUND_STRING(
|
|
"Slams the foe with a long\n"
|
|
"tail, vine, etc."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 75,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_POUND},
|
|
.battleAnimScript = gBattleAnimMove_Slam,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_VINE_WHIP] =
|
|
{
|
|
.name = COMPOUND_STRING("Vine Whip"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes the foe with\n"
|
|
"slender, whiplike vines."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_6
|
|
.pp = 25,
|
|
#elif B_UPDATED_MOVE_DATA >= GEN_4
|
|
.pp = 15,
|
|
#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,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_VineWhip,
|
|
},
|
|
|
|
[MOVE_STOMP] =
|
|
{
|
|
.name = COMPOUND_STRING("Stomp"),
|
|
.description = COMPOUND_STRING(
|
|
"Stomps the enemy with a big\n"
|
|
"foot. May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.minimizeDoubleDamage = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_LEER},
|
|
.battleAnimScript = gBattleAnimMove_Stomp,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DOUBLE_KICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Double Kick"),
|
|
.description = COMPOUND_STRING(
|
|
"A double-kicking attack\n"
|
|
"that strikes the foe twice."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 30,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.strikeCount = 2,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DoubleKick,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MEGA_KICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Mega Kick"),
|
|
.description = COMPOUND_STRING(
|
|
"An extremely powerful kick\n"
|
|
"with intense force."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 75,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER},
|
|
.battleAnimScript = gBattleAnimMove_MegaKick,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_JUMP_KICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Jump Kick"),
|
|
.description = COMPOUND_STRING(
|
|
"A strong jumping kick. May\n"
|
|
"miss and hurt the kicker."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_5
|
|
.power = 100,
|
|
#elif B_UPDATED_MOVE_DATA >= GEN_4
|
|
.power = 85,
|
|
#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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.gravityBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_MIND_READER},
|
|
.battleAnimScript = gBattleAnimMove_JumpKick,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ROLLING_KICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Rolling Kick"),
|
|
.description = COMPOUND_STRING(
|
|
"A fast kick delivered from\n"
|
|
"a rapid spin. May flinch."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 85,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RollingKick,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SAND_ATTACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Sand Attack"),
|
|
.description = COMPOUND_STRING(
|
|
"Reduces the foe's accuracy\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_EVSN_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_SAND_ATTACK,
|
|
.contestComboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM},
|
|
.battleAnimScript = gBattleAnimMove_SandAttack,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HEADBUTT] =
|
|
{
|
|
.name = COMPOUND_STRING("Headbutt"),
|
|
.description = COMPOUND_STRING(
|
|
"A ramming attack that may\n"
|
|
"cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY},
|
|
.battleAnimScript = gBattleAnimMove_Headbutt,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HORN_ATTACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Horn Attack"),
|
|
.description = COMPOUND_STRING(
|
|
"Jabs the foe with sharp\n"
|
|
"horns."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_HORN_ATTACK,
|
|
.contestComboMoves = {COMBO_STARTER_LEER},
|
|
.battleAnimScript = gBattleAnimMove_HornAttack,
|
|
},
|
|
|
|
[MOVE_FURY_ATTACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Fury Attack"),
|
|
.description = COMPOUND_STRING(
|
|
"Jabs the foe 2 to 5 times\n"
|
|
"with sharp horns, etc."),
|
|
.effect = EFFECT_MULTI_HIT,
|
|
.power = 15,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 85,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK},
|
|
.battleAnimScript = gBattleAnimMove_FuryAttack,
|
|
},
|
|
|
|
[MOVE_HORN_DRILL] =
|
|
{
|
|
.name = COMPOUND_STRING("Horn Drill"),
|
|
.description = COMPOUND_STRING(
|
|
"A one-hit KO attack that\n"
|
|
"uses a horn like a drill."),
|
|
.effect = EFFECT_OHKO,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 30,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HORN_ATTACK},
|
|
.battleAnimScript = gBattleAnimMove_HornDrill,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TACKLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Tackle"),
|
|
.description = COMPOUND_STRING(
|
|
"Charges the foe with a full-\n"
|
|
"body tackle."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_7
|
|
.power = 40,
|
|
#elif B_UPDATED_MOVE_DATA >= GEN_5
|
|
.power = 50,
|
|
#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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN, COMBO_STARTER_LEER},
|
|
.battleAnimScript = gBattleAnimMove_Tackle,
|
|
},
|
|
|
|
[MOVE_BODY_SLAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Body Slam"),
|
|
.description = COMPOUND_STRING(
|
|
"A full-body slam that may\n"
|
|
"cause paralysis."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 85,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.skyBattleBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BodySlam,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_WRAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Wrap"),
|
|
.description = COMPOUND_STRING(
|
|
"Wraps and squeezes the foe\n"
|
|
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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_WRAP,
|
|
.multistring.wrapped = B_MSG_WRAPPED_WRAP,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Wrap,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TAKE_DOWN] =
|
|
{
|
|
.name = COMPOUND_STRING("Take Down"),
|
|
.description = COMPOUND_STRING(
|
|
"A reckless charge attack\n"
|
|
"that also hurts the user."),
|
|
.effect = EFFECT_RECOIL,
|
|
.power = 90,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 85,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .recoilPercentage = 25 },
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN},
|
|
.battleAnimScript = gBattleAnimMove_TakeDown,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_THRASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Thrash"),
|
|
.description = COMPOUND_STRING(
|
|
"A rampage of 2 to 3 turns\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.instructBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_THRASH,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAGE},
|
|
.battleAnimScript = gBattleAnimMove_Thrash,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DOUBLE_EDGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Double-Edge"),
|
|
.description = COMPOUND_STRING(
|
|
"A life-risking tackle that\n"
|
|
"also hurts the user."),
|
|
.effect = EFFECT_RECOIL,
|
|
.power = 120,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .recoilPercentage = 33 },
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN},
|
|
.battleAnimScript = gBattleAnimMove_DoubleEdge,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TAIL_WHIP] =
|
|
{
|
|
.name = COMPOUND_STRING("Tail Whip"),
|
|
.description = COMPOUND_STRING(
|
|
"Wags the tail to lower the\n"
|
|
"foe's Defense."),
|
|
.effect = EFFECT_DEFENSE_DOWN,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARM},
|
|
.battleAnimScript = gBattleAnimMove_TailWhip,
|
|
},
|
|
|
|
[MOVE_POISON_STING] =
|
|
{
|
|
.name = COMPOUND_STRING("Poison Sting"),
|
|
.description = COMPOUND_STRING(
|
|
"A toxic attack with barbs,\n"
|
|
"etc., that may poison."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 15,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 35,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PoisonSting,
|
|
},
|
|
|
|
[MOVE_TWINEEDLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Twineedle"),
|
|
.description = COMPOUND_STRING(
|
|
"Foreleg stingers jab foe\n"
|
|
"twice. May poison."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 25,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4),
|
|
.strikeCount = 2,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Twineedle,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PIN_MISSILE] =
|
|
{
|
|
.name = COMPOUND_STRING("Pin Missile"),
|
|
.description = COMPOUND_STRING(
|
|
"Sharp pins are fired to\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PinMissile,
|
|
},
|
|
|
|
[MOVE_LEER] =
|
|
{
|
|
.name = COMPOUND_STRING("Leer"),
|
|
.description = COMPOUND_STRING(
|
|
"Frightens the foes with a\n"
|
|
"leer to lower Defense."),
|
|
.effect = EFFECT_DEFENSE_DOWN,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_LEER,
|
|
.contestComboMoves = {COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE},
|
|
.battleAnimScript = gBattleAnimMove_Leer,
|
|
},
|
|
|
|
[MOVE_BITE] =
|
|
{
|
|
.name = COMPOUND_STRING("Bite"),
|
|
.description = COMPOUND_STRING(
|
|
"Bites with vicious fangs.\n"
|
|
"May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.bitingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE},
|
|
.battleAnimScript = gBattleAnimMove_Bite,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_GROWL] =
|
|
{
|
|
.name = COMPOUND_STRING("Growl"),
|
|
.description = COMPOUND_STRING(
|
|
"Growls cutely to reduce the\n"
|
|
"foe's Attack."),
|
|
.effect = EFFECT_ATTACK_DOWN,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.soundMove = TRUE,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARM},
|
|
.battleAnimScript = gBattleAnimMove_Growl,
|
|
},
|
|
|
|
[MOVE_ROAR] =
|
|
{
|
|
.name = COMPOUND_STRING("Roar"),
|
|
.description = COMPOUND_STRING(
|
|
"Switches the foe out\n"
|
|
"or ends wild 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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.soundMove = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Roar,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SING] =
|
|
{
|
|
.name = COMPOUND_STRING("Sing"),
|
|
.description = COMPOUND_STRING(
|
|
"A soothing song lulls the\n"
|
|
"foe into a deep slumber."),
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 55,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_SLEEP },
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.magicCoatAffected = TRUE,
|
|
.soundMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_SING,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Sing,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SUPERSONIC] =
|
|
{
|
|
.name = COMPOUND_STRING("Supersonic"),
|
|
.description = COMPOUND_STRING(
|
|
"Emits bizarre sound waves\n"
|
|
"that may confuse the foe."),
|
|
.effect = EFFECT_CONFUSE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 55,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.magicCoatAffected = TRUE,
|
|
.soundMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Supersonic,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SONIC_BOOM] =
|
|
{
|
|
.name = COMPOUND_STRING("Sonic Boom"),
|
|
.description = COMPOUND_STRING(
|
|
"Launches shock waves that\n"
|
|
"always inflict 20 HP damage."),
|
|
.effect = EFFECT_FIXED_HP_DAMAGE,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 90,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .fixedDamage = 20 },
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SonicBoom,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DISABLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Disable"),
|
|
.description = COMPOUND_STRING(
|
|
#if B_DISABLE_TURNS >= GEN_5
|
|
"For 4 turns, prevents foe\n"
|
|
#elif B_DISABLE_TURNS == GEN_4
|
|
"For 4-7 turns, prevents foe\n"
|
|
#else
|
|
"For 2-5 turns, prevents foe\n"
|
|
#endif
|
|
"from using last used move."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_5
|
|
.accuracy = 100,
|
|
#elif B_UPDATED_MOVE_DATA == GEN_4
|
|
.accuracy = 80,
|
|
#else
|
|
.accuracy = 55,
|
|
#endif
|
|
.effect = EFFECT_DISABLE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresSubstitute = TRUE,
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Disable,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ACID] =
|
|
{
|
|
.name = COMPOUND_STRING("Acid"),
|
|
.description = COMPOUND_STRING(
|
|
"Sprays a hide-melting acid.\n"
|
|
#if B_UPDATED_MOVE_DATA >= GEN_4
|
|
"May lower Sp. Def."),
|
|
#else
|
|
"May lower Defense."),
|
|
#endif
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = B_UPDATED_MOVE_DATA >= GEN_4 ? MOVE_EFFECT_SP_DEF_MINUS_1 : MOVE_EFFECT_DEF_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Acid,
|
|
},
|
|
|
|
[MOVE_EMBER] =
|
|
{
|
|
.name = COMPOUND_STRING("Ember"),
|
|
.description = COMPOUND_STRING(
|
|
"A weak fire attack that may\n"
|
|
"inflict a burn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_Ember,
|
|
},
|
|
|
|
[MOVE_FLAMETHROWER] =
|
|
{
|
|
.name = COMPOUND_STRING("Flamethrower"),
|
|
.description = COMPOUND_STRING(
|
|
"A powerful fire attack that\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_Flamethrower,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MIST] =
|
|
{
|
|
.name = COMPOUND_STRING("Mist"),
|
|
.description = COMPOUND_STRING(
|
|
"Creates a mist that stops\n"
|
|
"reduction of stats."),
|
|
.effect = EFFECT_MIST,
|
|
.power = 0,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Mist,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_WATER_GUN] =
|
|
{
|
|
.name = COMPOUND_STRING("Water Gun"),
|
|
.description = COMPOUND_STRING(
|
|
"Squirts water to attack\n"
|
|
"the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_MUD_SPORT, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT},
|
|
.battleAnimScript = gBattleAnimMove_WaterGun,
|
|
},
|
|
|
|
[MOVE_HYDRO_PUMP] =
|
|
{
|
|
.name = COMPOUND_STRING("Hydro Pump"),
|
|
.description = COMPOUND_STRING(
|
|
"Blasts water at high power\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_HydroPump,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SURF] =
|
|
{
|
|
.name = COMPOUND_STRING("Surf"),
|
|
.description = COMPOUND_STRING(
|
|
"Creates a huge wave, then\n"
|
|
#if B_UPDATED_MOVE_DATA >= GEN_4
|
|
"crashes it down on the field."),
|
|
#else
|
|
"crashes it down on the foes."),
|
|
#endif
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.damagesUnderwater = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_SURF,
|
|
.contestComboMoves = {COMBO_STARTER_DIVE, COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Surf,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ICE_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Ice Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"Blasts the foe with an icy\n"
|
|
#if B_USE_FROSTBITE == TRUE
|
|
"beam. May cause frostbite."),
|
|
#else
|
|
"beam that may freeze it."),
|
|
#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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.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
|
|
.moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HAIL},
|
|
.battleAnimScript = gBattleAnimMove_IceBeam,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BLIZZARD] =
|
|
{
|
|
.name = COMPOUND_STRING("Blizzard"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits the foes with an icy\n"
|
|
#if B_USE_FROSTBITE == TRUE
|
|
"storm. May cause frostbite."),
|
|
#else
|
|
"storm that may freeze it."),
|
|
#endif
|
|
.effect = EFFECT_HIT,
|
|
.power = B_UPDATED_MOVE_DATA >= GEN_6 ? 110 : 120,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 70,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = TRUE,
|
|
.alwaysHitsInHailSnow = B_BLIZZARD_HAIL >= GEN_4,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_POWDER_SNOW},
|
|
.battleAnimScript = gBattleAnimMove_Blizzard,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PSYBEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Psybeam"),
|
|
.description = COMPOUND_STRING(
|
|
"Fires a peculiar ray that\n"
|
|
"may confuse the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND},
|
|
.battleAnimScript = gBattleAnimMove_Psybeam,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BUBBLE_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Bubble Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"Forcefully sprays bubbles\n"
|
|
"that may lower Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_BubbleBeam,
|
|
},
|
|
|
|
[MOVE_AURORA_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Aurora Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"Fires a rainbow-colored\n"
|
|
"beam that may lower Attack."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HAIL},
|
|
.battleAnimScript = gBattleAnimMove_AuroraBeam,
|
|
},
|
|
|
|
[MOVE_HYPER_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Hyper Beam"),
|
|
.description = sHyperBeamDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 150,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECHARGE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HyperBeam,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PECK] =
|
|
{
|
|
.name = COMPOUND_STRING("Peck"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks the foe with a\n"
|
|
"jabbing beak, etc."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 35,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 100,
|
|
.pp = 35,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_PECK,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Peck,
|
|
},
|
|
|
|
[MOVE_DRILL_PECK] =
|
|
{
|
|
.name = COMPOUND_STRING("Drill Peck"),
|
|
.description = COMPOUND_STRING(
|
|
"A corkscrewing attack with\n"
|
|
"the beak acting as a drill."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_PECK},
|
|
.battleAnimScript = gBattleAnimMove_DrillPeck,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SUBMISSION] =
|
|
{
|
|
.name = COMPOUND_STRING("Submission"),
|
|
.description = COMPOUND_STRING(
|
|
"A reckless body slam that\n"
|
|
"also hurts the user."),
|
|
.effect = EFFECT_RECOIL,
|
|
.power = 80,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 80,
|
|
.pp = B_UPDATED_MOVE_DATA >= GEN_6 ? 20 : 25,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.argument = { .recoilPercentage = 25 },
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_MIND_READER},
|
|
.battleAnimScript = gBattleAnimMove_Submission,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_LOW_KICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Low Kick"),
|
|
.description = COMPOUND_STRING(
|
|
"A kick that inflicts more\n"
|
|
"damage on heavier foes."),
|
|
.effect = EFFECT_LOW_KICK,
|
|
.power = 1,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LowKick,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_COUNTER] =
|
|
{
|
|
.name = COMPOUND_STRING("Counter"),
|
|
.description = COMPOUND_STRING(
|
|
"Retaliates any physical hit\n"
|
|
"with double the power."),
|
|
.effect = EFFECT_COUNTER,
|
|
.power = 1,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = -5,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4),
|
|
.meFirstBanned = TRUE,
|
|
.metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_2,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_TAUNT},
|
|
.battleAnimScript = gBattleAnimMove_Counter,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SEISMIC_TOSS] =
|
|
{
|
|
.name = COMPOUND_STRING("Seismic Toss"),
|
|
.description = COMPOUND_STRING(
|
|
"Inflicts damage identical\n"
|
|
"to the user's level."),
|
|
.effect = EFFECT_LEVEL_DAMAGE,
|
|
.power = 1,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FAKE_OUT},
|
|
.battleAnimScript = gBattleAnimMove_SeismicToss,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_STRENGTH] =
|
|
{
|
|
.name = COMPOUND_STRING("Strength"),
|
|
.description = COMPOUND_STRING(
|
|
"Builds enormous power,\n"
|
|
"then slams the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Strength,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ABSORB] =
|
|
{
|
|
.name = COMPOUND_STRING("Absorb"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that absorbs\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .absorbPercentage = 50 },
|
|
.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,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_Absorb,
|
|
},
|
|
|
|
[MOVE_MEGA_DRAIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Mega Drain"),
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .absorbPercentage = 50 },
|
|
.zMove = { .powerOverride = 120 },
|
|
.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,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_MegaDrain,
|
|
},
|
|
|
|
[MOVE_LEECH_SEED] =
|
|
{
|
|
.name = COMPOUND_STRING("Leech Seed"),
|
|
.description = COMPOUND_STRING(
|
|
"Plants a seed on the foe to\n"
|
|
"steal HP on every turn."),
|
|
.effect = EFFECT_LEECH_SEED,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_LEECH_SEED,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH, COMBO_STARTER_WORRY_SEED},
|
|
.battleAnimScript = gBattleAnimMove_LeechSeed,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_GROWTH] =
|
|
{
|
|
.name = COMPOUND_STRING("Growth"),
|
|
.description = COMPOUND_STRING(
|
|
#if B_GROWTH_STAT_RAISE >= GEN_5
|
|
"Forces the body to grow,\n"
|
|
"raising Attack and Sp. Atk."),
|
|
#else
|
|
"Forces the body to grow\n"
|
|
"and heightens Sp. Atk."),
|
|
#endif
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_GROWTH,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Growth,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_RAZOR_LEAF] =
|
|
{
|
|
.name = COMPOUND_STRING("Razor Leaf"),
|
|
.description = COMPOUND_STRING(
|
|
"Cuts enemies with leaves.\n"
|
|
"High critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 55,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 95,
|
|
.criticalHitStage = 1,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.slicingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_RazorLeaf,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SOLAR_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Solar Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"Absorbs light in one turn,\n"
|
|
"then attacks next turn."),
|
|
.effect = EFFECT_SOLAR_BEAM,
|
|
.power = 120,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_PKMNTOOKSUNLIGHT, .status = B_WEATHER_SUN },
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH, COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_SolarBeam,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_POISON_POWDER] =
|
|
{
|
|
.name = COMPOUND_STRING("Poison Powder"),
|
|
.description = COMPOUND_STRING(
|
|
"Scatters a toxic powder\n"
|
|
"that may poison the foe."),
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 75,
|
|
.pp = 35,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_POISON },
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.powderMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SWEET_SCENT},
|
|
.battleAnimScript = gBattleAnimMove_PoisonPowder,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_STUN_SPORE] =
|
|
{
|
|
.name = COMPOUND_STRING("Stun Spore"),
|
|
.description = COMPOUND_STRING(
|
|
"Scatters a powder that may\n"
|
|
"paralyze the foe."),
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 75,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_PARALYSIS },
|
|
.powderMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SWEET_SCENT},
|
|
.battleAnimScript = gBattleAnimMove_StunSpore,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SLEEP_POWDER] =
|
|
{
|
|
.name = COMPOUND_STRING("Sleep Powder"),
|
|
.description = COMPOUND_STRING(
|
|
"Scatters a powder that may\n"
|
|
"cause the foe to sleep."),
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 75,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_SLEEP },
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.powderMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SWEET_SCENT},
|
|
.battleAnimScript = gBattleAnimMove_SleepPowder,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PETAL_DANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Petal Dance"),
|
|
.description = COMPOUND_STRING(
|
|
"A rampage of 2 to 3 turns\n"
|
|
"that confuses the user."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_5
|
|
.power = 120,
|
|
#elif B_UPDATED_MOVE_DATA == GEN_4
|
|
.power = 90,
|
|
#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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.makesContact = TRUE,
|
|
.danceMove = TRUE,
|
|
.instructBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_THRASH,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_PetalDance,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_STRING_SHOT] =
|
|
{
|
|
.name = COMPOUND_STRING("String Shot"),
|
|
.description = COMPOUND_STRING(
|
|
"Binds the foe with string\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_STRING_SHOT,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_StringShot,
|
|
},
|
|
|
|
[MOVE_DRAGON_RAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Rage"),
|
|
.description = COMPOUND_STRING(
|
|
"Launches shock waves that\n"
|
|
"always inflict 40 HP damage."),
|
|
.effect = EFFECT_FIXED_HP_DAMAGE,
|
|
.power = 1,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_4) || (B_UPDATED_MOVE_FLAGS < GEN_3),
|
|
.argument = { .fixedDamage = 40 },
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_DRAGON_RAGE,
|
|
.contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL},
|
|
.battleAnimScript = gBattleAnimMove_DragonRage,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FIRE_SPIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Fire Spin"),
|
|
.description = COMPOUND_STRING(
|
|
"Traps the foe in a ring of\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_WRAP,
|
|
.multistring.wrapped = B_MSG_WRAPPED_FIRE_SPIN,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_FireSpin,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_THUNDER_SHOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Thunder Shock"),
|
|
.description = COMPOUND_STRING(
|
|
"An electrical attack that\n"
|
|
"may paralyze the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE},
|
|
.battleAnimScript = gBattleAnimMove_ThunderShock,
|
|
},
|
|
|
|
[MOVE_THUNDERBOLT] =
|
|
{
|
|
.name = COMPOUND_STRING("Thunderbolt"),
|
|
.description = COMPOUND_STRING(
|
|
"A strong electrical attack\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE},
|
|
.battleAnimScript = gBattleAnimMove_Thunderbolt,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_THUNDER_WAVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Thunder Wave"),
|
|
.description = COMPOUND_STRING(
|
|
"A weak jolt of electricity\n"
|
|
"that paralyzes the foe."),
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = B_UPDATED_MOVE_DATA >= GEN_7 ? 90 : 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_PARALYSIS },
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE},
|
|
.battleAnimScript = gBattleAnimMove_ThunderWave,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_THUNDER] =
|
|
{
|
|
.name = COMPOUND_STRING("Thunder"),
|
|
.description = COMPOUND_STRING(
|
|
"A lightning attack that may\n"
|
|
"cause paralysis."),
|
|
.effect = EFFECT_HIT,
|
|
.power = B_UPDATED_MOVE_DATA >= GEN_6 ? 110 : 120,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 70,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.damagesAirborne = TRUE,
|
|
.alwaysHitsInRain = TRUE,
|
|
.accuracy50InSun = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_LOCK_ON, COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Thunder,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ROCK_THROW] =
|
|
{
|
|
.name = COMPOUND_STRING("Rock Throw"),
|
|
.description = COMPOUND_STRING(
|
|
"Throws small rocks to\n"
|
|
"strike the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 90,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_ROCK_THROW,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RockThrow,
|
|
},
|
|
|
|
[MOVE_EARTHQUAKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Earthquake"),
|
|
.description = COMPOUND_STRING(
|
|
"A powerful quake that\n"
|
|
"hits all other POKéMON."),
|
|
.effect = EFFECT_EARTHQUAKE,
|
|
.power = 100,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3,
|
|
.damagesUnderground = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_EARTHQUAKE,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Earthquake,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FISSURE] =
|
|
{
|
|
.name = COMPOUND_STRING("Fissure"),
|
|
.description = COMPOUND_STRING(
|
|
"A one-hit KO move that\n"
|
|
"drops the foe in a fissure."),
|
|
.effect = EFFECT_OHKO,
|
|
.power = 1,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 30,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.damagesUnderground = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_EARTHQUAKE},
|
|
.battleAnimScript = gBattleAnimMove_Fissure,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DIG] =
|
|
{
|
|
.name = COMPOUND_STRING("Dig"),
|
|
.description = COMPOUND_STRING(
|
|
"Digs underground the first\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_PKMNDUGHOLE, .status = STATE_UNDERGROUND },
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Dig,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TOXIC] =
|
|
{
|
|
.name = COMPOUND_STRING("Toxic"),
|
|
.description = COMPOUND_STRING(
|
|
"Poisons the foe with an\n"
|
|
"intensifying toxin."),
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_POISON,
|
|
.accuracy = B_UPDATED_MOVE_DATA >= GEN_5 ? 90 : 85,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_TOXIC },
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_TOXIC,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Toxic,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CONFUSION] =
|
|
{
|
|
.name = COMPOUND_STRING("Confusion"),
|
|
.description = COMPOUND_STRING(
|
|
"A psychic attack that may\n"
|
|
"cause confusion."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_CONFUSION,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_KINESIS, COMBO_STARTER_PSYCHIC},
|
|
.battleAnimScript = gBattleAnimMove_Confusion,
|
|
},
|
|
|
|
[MOVE_PSYCHIC] =
|
|
{
|
|
.name = COMPOUND_STRING("Psychic"),
|
|
.description = COMPOUND_STRING(
|
|
"A powerful psychic attack\n"
|
|
"that may lower Sp. Def."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_PSYCHIC,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_CONFUSION, COMBO_STARTER_KINESIS},
|
|
.battleAnimScript = gBattleAnimMove_Psychic,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HYPNOSIS] =
|
|
{
|
|
.name = COMPOUND_STRING("Hypnosis"),
|
|
.description = COMPOUND_STRING(
|
|
"A hypnotizing move that\n"
|
|
"may induce sleep."),
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 60,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_SLEEP },
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_HYPNOSIS,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Hypnosis,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MEDITATE] =
|
|
{
|
|
.name = COMPOUND_STRING("Meditate"),
|
|
.description = COMPOUND_STRING(
|
|
"Meditates in a peaceful\n"
|
|
"fashion to raise Attack."),
|
|
.effect = EFFECT_ATTACK_UP,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND},
|
|
.battleAnimScript = gBattleAnimMove_Meditate,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_AGILITY] =
|
|
{
|
|
.name = COMPOUND_STRING("Agility"),
|
|
.description = COMPOUND_STRING(
|
|
"Relaxes the body to sharply\n"
|
|
"boost Speed."),
|
|
.effect = EFFECT_SPEED_UP_2,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_DOUBLE_TEAM},
|
|
.battleAnimScript = gBattleAnimMove_Agility,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_QUICK_ATTACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Quick Attack"),
|
|
.description = COMPOUND_STRING(
|
|
"An extremely fast attack\n"
|
|
"that always strikes first."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_DOUBLE_TEAM},
|
|
.battleAnimScript = gBattleAnimMove_QuickAttack,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_RAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Rage"),
|
|
.description = COMPOUND_STRING(
|
|
"Raises the user's Attack\n"
|
|
"every time it is hit."),
|
|
.effect = EFFECT_RAGE,
|
|
.power = 20,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_RAGE,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Rage,
|
|
},
|
|
|
|
[MOVE_TELEPORT] =
|
|
{
|
|
.name = COMPOUND_STRING("Teleport"),
|
|
#if B_TELEPORT_BEHAVIOUR >= GEN_8
|
|
.description = COMPOUND_STRING(
|
|
"Switches the user out last.\n"
|
|
"Flees when used by wild {PKMN}.")
|
|
#else
|
|
.description = COMPOUND_STRING(
|
|
"A psychic move for fleeing\n"
|
|
"from battle instantly."),
|
|
#endif
|
|
.effect = EFFECT_TELEPORT,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = -6,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CONFUSION, COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_KINESIS, COMBO_STARTER_PSYCHIC},
|
|
.battleAnimScript = gBattleAnimMove_Teleport,
|
|
},
|
|
|
|
[MOVE_NIGHT_SHADE] =
|
|
{
|
|
.name = COMPOUND_STRING("Night Shade"),
|
|
.description = COMPOUND_STRING(
|
|
"Inflicts damage identical\n"
|
|
"to the user's level."),
|
|
.effect = EFFECT_LEVEL_DAMAGE,
|
|
.power = 1,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_NightShade,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MIMIC] =
|
|
{
|
|
.name = COMPOUND_STRING("Mimic"),
|
|
.description = COMPOUND_STRING(
|
|
"Copies last move used by the\n"
|
|
"foe during one battle."),
|
|
.effect = EFFECT_MIMIC,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ACC_UP_1 },
|
|
.ignoresSubstitute = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_2,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.encoreBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Mimic,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SCREECH] =
|
|
{
|
|
.name = COMPOUND_STRING("Screech"),
|
|
.description = COMPOUND_STRING(
|
|
"Emits a screech to sharply\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.magicCoatAffected = TRUE,
|
|
.soundMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Screech,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DOUBLE_TEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Double Team"),
|
|
.description = COMPOUND_STRING(
|
|
"Creates illusory copies to\n"
|
|
"raise evasiveness."),
|
|
.effect = EFFECT_EVASION_UP,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_DOUBLE_TEAM,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DoubleTeam,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_RECOVER] =
|
|
{
|
|
.name = COMPOUND_STRING("Recover"),
|
|
.description = COMPOUND_STRING(
|
|
"Recovers up to half the\n"
|
|
"user's maximum HP."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_9
|
|
.pp = 5,
|
|
#elif B_UPDATED_MOVE_DATA >= GEN_4
|
|
.pp = 10,
|
|
#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 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.healingMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Recover,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HARDEN] =
|
|
{
|
|
.name = COMPOUND_STRING("Harden"),
|
|
.description = COMPOUND_STRING(
|
|
"Stiffens the body's \n"
|
|
"muscles to raise Defense."),
|
|
.effect = EFFECT_DEFENSE_UP,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_HARDEN,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Harden,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MINIMIZE] =
|
|
{
|
|
.name = COMPOUND_STRING("Minimize"),
|
|
.description = COMPOUND_STRING(
|
|
"Minimizes the user's size to\n"
|
|
#if B_MINIMIZE_EVASION >= GEN_5
|
|
"sharply raise evasiveness."),
|
|
#else
|
|
"raise evasiveness."),
|
|
#endif
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Minimize,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SMOKESCREEN] =
|
|
{
|
|
.name = COMPOUND_STRING("Smokescreen"),
|
|
.description = COMPOUND_STRING(
|
|
"Lowers the foe's accuracy\n"
|
|
"using smoke, ink, etc."),
|
|
.effect = EFFECT_ACCURACY_DOWN,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_EVSN_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SMOG},
|
|
.battleAnimScript = gBattleAnimMove_Smokescreen,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CONFUSE_RAY] =
|
|
{
|
|
.name = COMPOUND_STRING("Confuse Ray"),
|
|
.description = COMPOUND_STRING(
|
|
"A sinister ray that\n"
|
|
"confuses the foe."),
|
|
.effect = EFFECT_CONFUSE,
|
|
.power = 0,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ConfuseRay,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_WITHDRAW] =
|
|
{
|
|
.name = COMPOUND_STRING("Withdraw"),
|
|
.description = COMPOUND_STRING(
|
|
"Withdraws the body into its\n"
|
|
"hard shell to raise Defense."),
|
|
.effect = EFFECT_DEFENSE_UP,
|
|
.power = 0,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 0,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Withdraw,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DEFENSE_CURL] =
|
|
{
|
|
.name = COMPOUND_STRING("Defense Curl"),
|
|
.description = COMPOUND_STRING(
|
|
"Curls up to conceal weak\n"
|
|
"spots and raise Defense."),
|
|
.effect = EFFECT_DEFENSE_CURL,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ACC_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_DEFENSE_CURL,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DefenseCurl,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BARRIER] =
|
|
{
|
|
.name = COMPOUND_STRING("Barrier"),
|
|
.description = COMPOUND_STRING(
|
|
"Creates a barrier that\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Barrier,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_LIGHT_SCREEN] =
|
|
{
|
|
.name = COMPOUND_STRING("Light Screen"),
|
|
.description = COMPOUND_STRING(
|
|
"Wall of light cuts special\n"
|
|
"damage for 5 turns."),
|
|
.effect = EFFECT_LIGHT_SCREEN,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND},
|
|
.battleAnimScript = gBattleAnimMove_LightScreen,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HAZE] =
|
|
{
|
|
.name = COMPOUND_STRING("Haze"),
|
|
.description = COMPOUND_STRING(
|
|
"Creates a black haze that\n"
|
|
"eliminates all stat changes."),
|
|
.effect = EFFECT_HAZE,
|
|
.power = 0,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HAIL},
|
|
.battleAnimScript = gBattleAnimMove_Haze,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_REFLECT] =
|
|
{
|
|
.name = COMPOUND_STRING("Reflect"),
|
|
.description = COMPOUND_STRING(
|
|
"Wall of light cuts physical\n"
|
|
"damage for 5 turns."),
|
|
.effect = EFFECT_REFLECT,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND},
|
|
.battleAnimScript = gBattleAnimMove_Reflect,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FOCUS_ENERGY] =
|
|
{
|
|
.name = COMPOUND_STRING("Focus Energy"),
|
|
.description = COMPOUND_STRING(
|
|
"Focuses power to raise the\n"
|
|
"critical-hit ratio."),
|
|
.effect = EFFECT_FOCUS_ENERGY,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ACC_UP_1 },
|
|
.argument = { .status = VOLATILE_FOCUS_ENERGY },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_FOCUS_ENERGY,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FocusEnergy,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BIDE] =
|
|
{
|
|
.name = COMPOUND_STRING("Bide"),
|
|
.description = COMPOUND_STRING(
|
|
"Endures attack for 2\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Bide,
|
|
},
|
|
|
|
[MOVE_METRONOME] =
|
|
{
|
|
.name = COMPOUND_STRING("Metronome"),
|
|
.description = COMPOUND_STRING(
|
|
"Waggles a finger to use any\n"
|
|
"Pokémon move at random."),
|
|
.effect = EFFECT_METRONOME,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = 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,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Metronome,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MIRROR_MOVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Mirror Move"),
|
|
.description = COMPOUND_STRING(
|
|
"Counters the foe's attack\n"
|
|
"with the same move."),
|
|
.effect = EFFECT_MIRROR_MOVE,
|
|
.power = 0,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_2 },
|
|
.mimicBanned = TRUE,
|
|
.metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_4,
|
|
.copycatBanned = 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,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MirrorMove,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SELF_DESTRUCT] =
|
|
{
|
|
.name = COMPOUND_STRING("Self-Destruct"),
|
|
.description = COMPOUND_STRING(
|
|
"Inflicts severe damage but\n"
|
|
"makes the user faint."),
|
|
.effect = EFFECT_EXPLOSION,
|
|
.power = 200,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.parentalBondBanned = TRUE,
|
|
.dampBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SelfDestruct,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_EGG_BOMB] =
|
|
{
|
|
.name = COMPOUND_STRING("Egg Bomb"),
|
|
.description = COMPOUND_STRING(
|
|
"An egg is forcibly hurled at\n"
|
|
"the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 75,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ballisticMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SOFT_BOILED},
|
|
.battleAnimScript = gBattleAnimMove_EggBomb,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_LICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Lick"),
|
|
.description = COMPOUND_STRING(
|
|
"Licks with a long tongue to\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Lick,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SMOG] =
|
|
{
|
|
.name = COMPOUND_STRING("Smog"),
|
|
.description = COMPOUND_STRING(
|
|
"An exhaust-gas attack\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 40,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_SMOG,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Smog,
|
|
},
|
|
|
|
[MOVE_SLUDGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Sludge"),
|
|
.description = COMPOUND_STRING(
|
|
"Sludge is hurled to inflict\n"
|
|
"damage. May also poison."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_SLUDGE,
|
|
.contestComboMoves = {COMBO_STARTER_SLUDGE_BOMB},
|
|
.battleAnimScript = gBattleAnimMove_Sludge,
|
|
},
|
|
|
|
[MOVE_BONE_CLUB] =
|
|
{
|
|
.name = COMPOUND_STRING("Bone Club"),
|
|
.description = COMPOUND_STRING(
|
|
"Clubs the foe with a bone.\n"
|
|
"May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 85,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_BONE_CLUB,
|
|
.contestComboMoves = {COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH, COMBO_STARTER_SHADOW_BONE},
|
|
.battleAnimScript = gBattleAnimMove_BoneClub,
|
|
},
|
|
|
|
[MOVE_FIRE_BLAST] =
|
|
{
|
|
.name = COMPOUND_STRING("Fire Blast"),
|
|
.description = COMPOUND_STRING(
|
|
"Incinerates everything it\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_FireBlast,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_WATERFALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Waterfall"),
|
|
.description = COMPOUND_STRING(
|
|
"Charges with speed to climb\n"
|
|
"waterfalls. May flinch."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
#if B_UPDATED_MOVE_DATA >= GEN_4
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 20,
|
|
}),
|
|
#endif
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Waterfall,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CLAMP] =
|
|
{
|
|
.name = COMPOUND_STRING("Clamp"),
|
|
.description = COMPOUND_STRING(
|
|
"Traps and squeezes the\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_WRAP,
|
|
.multistring.wrapped = B_MSG_WRAPPED_CLAMP,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Clamp,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SWIFT] =
|
|
{
|
|
.name = COMPOUND_STRING("Swift"),
|
|
.description = COMPOUND_STRING(
|
|
"Sprays star-shaped rays\n"
|
|
"that never miss."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Swift,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SKULL_BASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Skull Bash"),
|
|
.description = COMPOUND_STRING(
|
|
"Tucks in the head, then\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_PKMNLOWEREDHEAD },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_PLUS_1,
|
|
.self = TRUE,
|
|
.onChargeTurnOnly = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SkullBash,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SPIKE_CANNON] =
|
|
{
|
|
.name = COMPOUND_STRING("Spike Cannon"),
|
|
.description = COMPOUND_STRING(
|
|
"Launches sharp spikes that\n"
|
|
"strike 2 to 5 times."),
|
|
.effect = EFFECT_MULTI_HIT,
|
|
.power = 20,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SpikeCannon,
|
|
},
|
|
|
|
[MOVE_CONSTRICT] =
|
|
{
|
|
.name = COMPOUND_STRING("Constrict"),
|
|
.description = COMPOUND_STRING(
|
|
"Constricts to inflict pain.\n"
|
|
"May lower Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 10,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 35,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Constrict,
|
|
},
|
|
|
|
[MOVE_AMNESIA] =
|
|
{
|
|
.name = COMPOUND_STRING("Amnesia"),
|
|
.description = COMPOUND_STRING(
|
|
"Forgets about something\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Amnesia,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_KINESIS] =
|
|
{
|
|
.name = COMPOUND_STRING("Kinesis"),
|
|
.description = COMPOUND_STRING(
|
|
"Distracts the foe.\n"
|
|
"May lower accuracy."),
|
|
.effect = EFFECT_ACCURACY_DOWN,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 80,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_EVSN_UP_1 },
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_KINESIS,
|
|
.contestComboMoves = {COMBO_STARTER_CONFUSION, COMBO_STARTER_PSYCHIC},
|
|
.battleAnimScript = gBattleAnimMove_Kinesis,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SOFT_BOILED] =
|
|
{
|
|
.name = COMPOUND_STRING("Soft-Boiled"),
|
|
.description = COMPOUND_STRING(
|
|
"Recovers up to half the\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.healingMove = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_SOFT_BOILED,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SoftBoiled,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HIGH_JUMP_KICK] =
|
|
{
|
|
.name = COMPOUND_STRING("High Jump Kick"),
|
|
.description = COMPOUND_STRING(
|
|
"A jumping knee kick. If it\n"
|
|
"misses, the user is hurt."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_5
|
|
.power = 130,
|
|
#elif B_UPDATED_MOVE_DATA == GEN_4
|
|
.power = 100,
|
|
#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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.gravityBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_MIND_READER},
|
|
.battleAnimScript = gBattleAnimMove_HighJumpKick,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_GLARE] =
|
|
{
|
|
.name = COMPOUND_STRING("Glare"),
|
|
.description = COMPOUND_STRING(
|
|
"Intimidates and frightens\n"
|
|
"the foe into paralysis."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_6
|
|
.accuracy = 100,
|
|
#elif B_UPDATED_MOVE_DATA == GEN_5
|
|
.accuracy = 90,
|
|
#else
|
|
.accuracy = 75,
|
|
#endif
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_PARALYSIS },
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_LEER},
|
|
.battleAnimScript = gBattleAnimMove_Glare,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DREAM_EATER] =
|
|
{
|
|
.name = COMPOUND_STRING("Dream Eater"),
|
|
.description = COMPOUND_STRING(
|
|
"Takes one half the damage\n"
|
|
"inflicted on a sleeping foe."),
|
|
.effect = EFFECT_DREAM_EATER,
|
|
.power = 100,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.healingMove = B_HEAL_BLOCKING >= GEN_6,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_HYPNOSIS},
|
|
.battleAnimScript = gBattleAnimMove_DreamEater,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_POISON_GAS] =
|
|
{
|
|
.name = COMPOUND_STRING("Poison Gas"),
|
|
.description = COMPOUND_STRING(
|
|
#if B_UPDATED_MOVE_DATA >= GEN_5
|
|
"Envelops the foes in a toxic\n"
|
|
#else
|
|
"Envelops the foe in a toxic\n"
|
|
#endif
|
|
"gas that may poison."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_6
|
|
.accuracy = 90,
|
|
#elif B_UPDATED_MOVE_DATA >= GEN_5
|
|
.accuracy = 80,
|
|
#else
|
|
.accuracy = 55,
|
|
#endif
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.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,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_POISON },
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PoisonGas,
|
|
},
|
|
|
|
[MOVE_BARRAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Barrage"),
|
|
.description = COMPOUND_STRING(
|
|
"Hurls round objects at the\n"
|
|
"foe 2 to 5 times."),
|
|
.effect = EFFECT_MULTI_HIT,
|
|
.power = 15,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 85,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ballisticMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Barrage,
|
|
},
|
|
|
|
[MOVE_LEECH_LIFE] =
|
|
{
|
|
.name = COMPOUND_STRING("Leech Life"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that steals half\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .absorbPercentage = 50 },
|
|
.makesContact = TRUE,
|
|
.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,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LeechLife,
|
|
},
|
|
|
|
[MOVE_LOVELY_KISS] =
|
|
{
|
|
.name = COMPOUND_STRING("Lovely Kiss"),
|
|
.description = COMPOUND_STRING(
|
|
"Demands a kiss with a scary\n"
|
|
"face that induces sleep."),
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 75,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_SLEEP },
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LovelyKiss,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SKY_ATTACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Sky Attack"),
|
|
.description = COMPOUND_STRING(
|
|
"2-turn attack. High critical\n"
|
|
"hit ratio, and may flinch."),
|
|
.effect = EFFECT_TWO_TURNS_ATTACK,
|
|
.power = 140,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.criticalHitStage = B_UPDATED_MOVE_DATA >= GEN_3,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = B_UPDATED_MOVE_DATA >= GEN_4 ? STRINGID_CLOAKEDINAHARSHLIGHT : STRINGID_PKMNISGLOWING },
|
|
#if B_UPDATED_MOVE_DATA >= GEN_3
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
#endif
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SkyAttack,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TRANSFORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Transform"),
|
|
.description = COMPOUND_STRING(
|
|
"Alters the user's cells to\n"
|
|
"become a copy of the foe."),
|
|
.effect = EFFECT_TRANSFORM,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.copycatBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.encoreBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Transform,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BUBBLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Bubble"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack using bubbles.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Bubble,
|
|
},
|
|
|
|
[MOVE_DIZZY_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Dizzy Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"A rhythmic punch that may\n"
|
|
"confuse the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DizzyPunch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SPORE] =
|
|
{
|
|
.name = COMPOUND_STRING("Spore"),
|
|
.description = COMPOUND_STRING(
|
|
"Scatters a cloud of spores\n"
|
|
"that always induce sleep."),
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_SLEEP },
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.magicCoatAffected = TRUE,
|
|
.powderMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Spore,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FLASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Flash"),
|
|
.description = COMPOUND_STRING(
|
|
"Looses a powerful blast of\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_EVSN_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Flash,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PSYWAVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Psywave"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a psychic\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND},
|
|
.battleAnimScript = gBattleAnimMove_Psywave,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SPLASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Splash"),
|
|
.description = COMPOUND_STRING(
|
|
"It's just a splash...\n"
|
|
"Has no effect whatsoever."),
|
|
.effect = EFFECT_DO_NOTHING,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_3 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.gravityBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Splash,
|
|
},
|
|
|
|
[MOVE_ACID_ARMOR] =
|
|
{
|
|
.name = COMPOUND_STRING("Acid Armor"),
|
|
.description = COMPOUND_STRING(
|
|
"Liquifies the user's body\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AcidArmor,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CRABHAMMER] =
|
|
{
|
|
.name = COMPOUND_STRING("Crabhammer"),
|
|
.description = COMPOUND_STRING(
|
|
"Hammers with a pincer. Has a\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Crabhammer,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_EXPLOSION] =
|
|
{
|
|
.name = COMPOUND_STRING("Explosion"),
|
|
.description = COMPOUND_STRING(
|
|
"Inflicts severe damage but\n"
|
|
"makes the user faint."),
|
|
.effect = EFFECT_EXPLOSION,
|
|
.power = 250,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.parentalBondBanned = TRUE,
|
|
.dampBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Explosion,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FURY_SWIPES] =
|
|
{
|
|
.name = COMPOUND_STRING("Fury Swipes"),
|
|
.description = COMPOUND_STRING(
|
|
"Rakes the foe with sharp\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SCRATCH},
|
|
.battleAnimScript = gBattleAnimMove_FurySwipes,
|
|
},
|
|
|
|
[MOVE_BONEMERANG] =
|
|
{
|
|
.name = COMPOUND_STRING("Bonemerang"),
|
|
.description = COMPOUND_STRING(
|
|
"Throws a bone boomerang\n"
|
|
"that strikes twice."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.strikeCount = 2,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_BONEMERANG,
|
|
.contestComboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH, COMBO_STARTER_SHADOW_BONE},
|
|
.battleAnimScript = gBattleAnimMove_Bonemerang,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_REST] =
|
|
{
|
|
.name = COMPOUND_STRING("Rest"),
|
|
.description = COMPOUND_STRING(
|
|
"The user sleeps for 2 turns,\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.healingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_REST,
|
|
.contestComboMoves = {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN},
|
|
.battleAnimScript = gBattleAnimMove_Rest,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ROCK_SLIDE] =
|
|
{
|
|
.name = COMPOUND_STRING("Rock Slide"),
|
|
.description = COMPOUND_STRING(
|
|
"Large boulders are hurled.\n"
|
|
"May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 75,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_ROCK_THROW},
|
|
.battleAnimScript = gBattleAnimMove_RockSlide,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HYPER_FANG] =
|
|
{
|
|
.name = COMPOUND_STRING("Hyper Fang"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with sharp fangs.\n"
|
|
"May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 90,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.bitingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HyperFang,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SHARPEN] =
|
|
{
|
|
.name = COMPOUND_STRING("Sharpen"),
|
|
.description = COMPOUND_STRING(
|
|
"Reduces the polygon count\n"
|
|
"and raises Attack."),
|
|
.effect = EFFECT_ATTACK_UP,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Sharpen,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CONVERSION] =
|
|
{
|
|
.name = COMPOUND_STRING("Conversion"),
|
|
.description = COMPOUND_STRING(
|
|
"Changes the user's type\n"
|
|
#if B_UPDATED_CONVERSION >= GEN_6
|
|
"into first known move's type."),
|
|
#else
|
|
"into a known move's type."),
|
|
#endif
|
|
.effect = EFFECT_CONVERSION,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 },
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Conversion,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TRI_ATTACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Tri Attack"),
|
|
.description = COMPOUND_STRING(
|
|
"Fires three types of beams.\n"
|
|
#if B_USE_FROSTBITE == TRUE
|
|
"May burn/para/frostbite."),
|
|
#else
|
|
"May burn/paralyze/freeze."),
|
|
#endif
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_TRI_ATTACK,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_LOCK_ON},
|
|
.battleAnimScript = gBattleAnimMove_TriAttack,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SUPER_FANG] =
|
|
{
|
|
.name = COMPOUND_STRING("Super Fang"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with sharp fangs\n"
|
|
"and cuts half the foe's HP."),
|
|
.effect = EFFECT_FIXED_PERCENT_DAMAGE,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .damagePercentage = 50 },
|
|
.makesContact = TRUE,
|
|
.ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SCARY_FACE},
|
|
.battleAnimScript = gBattleAnimMove_SuperFang,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SLASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Slash"),
|
|
.description = COMPOUND_STRING(
|
|
"Slashes with claws, etc. Has\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SCRATCH, COMBO_STARTER_SWORDS_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Slash,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SUBSTITUTE] =
|
|
{
|
|
.name = COMPOUND_STRING("Substitute"),
|
|
.description = COMPOUND_STRING(
|
|
"Creates a decoy using 1/4\n"
|
|
"of the user's maximum HP."),
|
|
.effect = EFFECT_SUBSTITUTE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Substitute,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_STRUGGLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Struggle"),
|
|
.description = COMPOUND_STRING(
|
|
"Used only if all PP are gone.\n"
|
|
"Also hurts the user a little."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_4
|
|
.effect = EFFECT_STRUGGLE,
|
|
.accuracy = 0,
|
|
.mirrorMoveBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECOIL_HP_25,
|
|
.self = TRUE,
|
|
}),
|
|
#else
|
|
.effect = EFFECT_RECOIL,
|
|
.accuracy = 100,
|
|
.argument = { .recoilPercentage = 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,
|
|
.battleAnimScript = gBattleAnimMove_Struggle,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SKETCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Sketch"),
|
|
.description = COMPOUND_STRING(
|
|
"Copies the foe's last move\n"
|
|
"permanently."),
|
|
.effect = EFFECT_SKETCH,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = 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,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Sketch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TRIPLE_KICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Triple Kick"),
|
|
.description = COMPOUND_STRING(
|
|
"Kicks the foe 3 times in a\n"
|
|
"row with rising intensity."),
|
|
.effect = EFFECT_TRIPLE_KICK,
|
|
.power = 10,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.strikeCount = 3,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY},
|
|
.battleAnimScript = gBattleAnimMove_TripleKick,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_THIEF] =
|
|
{
|
|
.name = COMPOUND_STRING("Thief"),
|
|
.description = COMPOUND_STRING(
|
|
"While attacking, it may\n"
|
|
"steal the foe's held item."),
|
|
.effect = EFFECT_STEAL_ITEM,
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4),
|
|
.meFirstBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Thief,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SPIDER_WEB] =
|
|
{
|
|
.name = COMPOUND_STRING("Spider Web"),
|
|
.description = COMPOUND_STRING(
|
|
"Ensnares the foe to stop it\n"
|
|
"from fleeing or switching."),
|
|
.effect = EFFECT_MEAN_LOOK,
|
|
.power = 0,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = (B_UPDATED_MOVE_FLAGS >= GEN_6) || (B_UPDATED_MOVE_FLAGS <= GEN_3),
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_STRING_SHOT},
|
|
.battleAnimScript = gBattleAnimMove_SpiderWeb,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MIND_READER] =
|
|
{
|
|
.name = COMPOUND_STRING("Mind Reader"),
|
|
.description = COMPOUND_STRING(
|
|
"Senses the foe's action to\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_MIND_READER,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MindReader,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_NIGHTMARE] =
|
|
{
|
|
.name = COMPOUND_STRING("Nightmare"),
|
|
.description = COMPOUND_STRING(
|
|
"Inflicts 1/4 damage on a\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.ignoresProtect = B_UPDATED_MOVE_FLAGS <= GEN_3,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Nightmare,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FLAME_WHEEL] =
|
|
{
|
|
.name = COMPOUND_STRING("Flame Wheel"),
|
|
.description = COMPOUND_STRING(
|
|
"A fiery charge attack that\n"
|
|
"may inflict a burn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.thawsUser = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_FlameWheel,
|
|
},
|
|
|
|
[MOVE_SNORE] =
|
|
{
|
|
.name = COMPOUND_STRING("Snore"),
|
|
.description = COMPOUND_STRING(
|
|
"A loud attack that can only\n"
|
|
"be used asleep. May flinch."),
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_REST},
|
|
.battleAnimScript = gBattleAnimMove_Snore,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CURSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Curse"),
|
|
.description = COMPOUND_STRING(
|
|
"A move that functions\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_CURSE },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_CURSE,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Curse,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FLAIL] =
|
|
{
|
|
.name = COMPOUND_STRING("Flail"),
|
|
.description = COMPOUND_STRING(
|
|
"Inflicts more damage when\n"
|
|
"the user's HP is down."),
|
|
.effect = EFFECT_FLAIL,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_ENDURE},
|
|
.battleAnimScript = gBattleAnimMove_Flail,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CONVERSION_2] =
|
|
{
|
|
.name = COMPOUND_STRING("Conversion 2"),
|
|
.description = COMPOUND_STRING(
|
|
"Makes the user resistant\n"
|
|
"to the last attack's type."),
|
|
.effect = EFFECT_CONVERSION_2,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = B_UPDATED_MOVE_DATA >= GEN_5 ? MOVE_TARGET_SELECTED : MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Conversion2,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_AEROBLAST] =
|
|
{
|
|
.name = COMPOUND_STRING("Aeroblast"),
|
|
.description = COMPOUND_STRING(
|
|
"Launches a vacuumed blast.\n"
|
|
"High critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 95,
|
|
.criticalHitStage = 1,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Aeroblast,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_COTTON_SPORE] =
|
|
{
|
|
.name = COMPOUND_STRING("Cotton Spore"),
|
|
.description = COMPOUND_STRING(
|
|
#if B_UPDATED_MOVE_DATA >= GEN_6
|
|
"Spores cling to the foes,\n"
|
|
#else
|
|
"Spores cling to the foe,\n"
|
|
#endif
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.magicCoatAffected = TRUE,
|
|
.powderMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CottonSpore,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_REVERSAL] =
|
|
{
|
|
.name = COMPOUND_STRING("Reversal"),
|
|
.description = COMPOUND_STRING(
|
|
"Inflicts more damage when\n"
|
|
"the user's HP is down."),
|
|
.effect = EFFECT_FLAIL,
|
|
.power = 1,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_ENDURE},
|
|
.battleAnimScript = gBattleAnimMove_Reversal,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SPITE] =
|
|
{
|
|
.name = COMPOUND_STRING("Spite"),
|
|
.description = COMPOUND_STRING(
|
|
"Spitefully cuts the PP\n"
|
|
#if B_PP_REDUCED_BY_SPITE >= GEN_4
|
|
"of the foe's last move by 4."),
|
|
#else
|
|
"of foe's last move by 2-5."),
|
|
#endif
|
|
.effect = EFFECT_SPITE,
|
|
.power = 0,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresSubstitute = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CURSE},
|
|
.battleAnimScript = gBattleAnimMove_Spite,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_POWDER_SNOW] =
|
|
{
|
|
.name = COMPOUND_STRING("Powder Snow"),
|
|
.description = COMPOUND_STRING(
|
|
"Blasts the foes with a snowy\n"
|
|
#if B_USE_FROSTBITE == TRUE
|
|
"gust. May cause frostbite."),
|
|
#else
|
|
"gust. May cause freezing."),
|
|
#endif
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 100,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_POWDER_SNOW,
|
|
.contestComboMoves = {COMBO_STARTER_HAIL},
|
|
.battleAnimScript = gBattleAnimMove_PowderSnow,
|
|
},
|
|
|
|
[MOVE_PROTECT] =
|
|
{
|
|
.name = COMPOUND_STRING("Protect"),
|
|
.description = sProtectDescription,
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_NORMAL },
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HARDEN},
|
|
.battleAnimScript = gBattleAnimMove_Protect,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MACH_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Mach Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"A punch is thrown at wicked\n"
|
|
"speed to strike first."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MachPunch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SCARY_FACE] =
|
|
{
|
|
.name = COMPOUND_STRING("Scary Face"),
|
|
.description = COMPOUND_STRING(
|
|
"Frightens with a scary face\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_SCARY_FACE,
|
|
.contestComboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_RAGE},
|
|
.battleAnimScript = gBattleAnimMove_ScaryFace,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FEINT_ATTACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Feint Attack"),
|
|
.description = COMPOUND_STRING(
|
|
"Draws the foe close, then\n"
|
|
"strikes without fail."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = B_UPDATED_MOVE_DATA >= GEN_4,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND},
|
|
.battleAnimScript = gBattleAnimMove_FeintAttack,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SWEET_KISS] =
|
|
{
|
|
.name = COMPOUND_STRING("Sweet Kiss"),
|
|
.description = COMPOUND_STRING(
|
|
"Demands a kiss with a cute\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARM},
|
|
.battleAnimScript = gBattleAnimMove_SweetKiss,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BELLY_DRUM] =
|
|
{
|
|
.name = COMPOUND_STRING("Belly Drum"),
|
|
.description = COMPOUND_STRING(
|
|
"Maximizes Attack while\n"
|
|
"sacrificing half of max HP."),
|
|
.effect = EFFECT_BELLY_DRUM,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_BELLY_DRUM,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BellyDrum,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SLUDGE_BOMB] =
|
|
{
|
|
.name = COMPOUND_STRING("Sludge Bomb"),
|
|
.description = COMPOUND_STRING(
|
|
"Sludge is hurled to inflict\n"
|
|
"damage. May also poison."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_SLUDGE_BOMB,
|
|
.contestComboMoves = {COMBO_STARTER_SLUDGE},
|
|
.battleAnimScript = gBattleAnimMove_SludgeBomb,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MUD_SLAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Mud-Slap"),
|
|
.description = COMPOUND_STRING(
|
|
"Hurls mud in the foe's face\n"
|
|
"to reduce its accuracy."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 20,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ACC_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_MUD_SLAP,
|
|
.contestComboMoves = {COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_SANDSTORM},
|
|
.battleAnimScript = gBattleAnimMove_MudSlap,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_OCTAZOOKA] =
|
|
{
|
|
.name = COMPOUND_STRING("Octazooka"),
|
|
.description = COMPOUND_STRING(
|
|
"Fires a lump of ink to\n"
|
|
"damage and cut accuracy."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 85,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ACC_MINUS_1,
|
|
.chance = 50,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_LOCK_ON, COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Octazooka,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SPIKES] =
|
|
{
|
|
.name = COMPOUND_STRING("Spikes"),
|
|
.description = COMPOUND_STRING(
|
|
"Sets spikes that hurt a \n"
|
|
"foe switching in."),
|
|
.effect = EFFECT_SPIKES,
|
|
.power = 0,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_OPPONENTS_FIELD,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.forcePressure = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Spikes,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ZAP_CANNON] =
|
|
{
|
|
.name = COMPOUND_STRING("Zap Cannon"),
|
|
.description = COMPOUND_STRING(
|
|
"Powerful and sure to cause\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_LOCK_ON},
|
|
.battleAnimScript = gBattleAnimMove_ZapCannon,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FORESIGHT] =
|
|
{
|
|
.name = COMPOUND_STRING("Foresight"),
|
|
.description = COMPOUND_STRING(
|
|
"Negates the foe's efforts\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_BOOST_CRITS },
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresSubstitute = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Foresight,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DESTINY_BOND] =
|
|
{
|
|
.name = COMPOUND_STRING("Destiny Bond"),
|
|
.description = COMPOUND_STRING(
|
|
"If the user faints, the foe\n"
|
|
"is also made to faint."),
|
|
.effect = EFFECT_DESTINY_BOND,
|
|
.power = 0,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_FOLLOW_ME },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE, COMBO_STARTER_MEAN_LOOK},
|
|
.battleAnimScript = gBattleAnimMove_DestinyBond,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PERISH_SONG] =
|
|
{
|
|
.name = COMPOUND_STRING("Perish Song"),
|
|
.description = COMPOUND_STRING(
|
|
"Any Pokémon hearing this\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = 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,
|
|
.contestComboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING},
|
|
.battleAnimScript = gBattleAnimMove_PerishSong,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ICY_WIND] =
|
|
{
|
|
.name = COMPOUND_STRING("Icy Wind"),
|
|
.description = COMPOUND_STRING(
|
|
"A chilling attack that\n"
|
|
"lowers the foe's Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 55,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 95,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HAIL},
|
|
.battleAnimScript = gBattleAnimMove_IcyWind,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DETECT] =
|
|
{
|
|
.name = COMPOUND_STRING("Detect"),
|
|
.description = sProtectDescription,
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_NORMAL },
|
|
.zMove = { .effect = Z_EFFECT_EVSN_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_TAUNT},
|
|
.battleAnimScript = gBattleAnimMove_Detect,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BONE_RUSH] =
|
|
{
|
|
.name = COMPOUND_STRING("Bone Rush"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes the foe with a bone\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_BONE_RUSH,
|
|
.contestComboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_SHADOW_BONE},
|
|
.battleAnimScript = gBattleAnimMove_BoneRush,
|
|
},
|
|
|
|
[MOVE_LOCK_ON] =
|
|
{
|
|
.name = COMPOUND_STRING("Lock-On"),
|
|
.description = COMPOUND_STRING(
|
|
"Locks on to the foe to\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_LOCK_ON,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LockOn,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_OUTRAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Outrage"),
|
|
.description = COMPOUND_STRING(
|
|
"A rampage of 2 to 3 turns\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.instructBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_THRASH,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Outrage,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SANDSTORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Sandstorm"),
|
|
.description = COMPOUND_STRING(
|
|
"Causes a sandstorm that\n"
|
|
"rages for several turns."),
|
|
.effect = EFFECT_SANDSTORM,
|
|
.power = 0,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.windMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_SANDSTORM,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Sandstorm,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_GIGA_DRAIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Giga Drain"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that steals half\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .absorbPercentage = 50 },
|
|
.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,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_GigaDrain,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ENDURE] =
|
|
{
|
|
.name = COMPOUND_STRING("Endure"),
|
|
.description = COMPOUND_STRING(
|
|
"Endures any attack for\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_ENDURE,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Endure,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CHARM] =
|
|
{
|
|
.name = COMPOUND_STRING("Charm"),
|
|
.description = COMPOUND_STRING(
|
|
"Charms the foe and sharply\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_CHARM,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Charm,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ROLLOUT] =
|
|
{
|
|
.name = COMPOUND_STRING("Rollout"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack lasting 5 turns\n"
|
|
"with rising intensity."),
|
|
.effect = EFFECT_ROLLOUT,
|
|
.power = 30,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 90,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.instructBanned = TRUE,
|
|
.parentalBondBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN},
|
|
.battleAnimScript = gBattleAnimMove_Rollout,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FALSE_SWIPE] =
|
|
{
|
|
.name = COMPOUND_STRING("False Swipe"),
|
|
.description = sFalseSwipeDescription,
|
|
.effect = EFFECT_FALSE_SWIPE,
|
|
.power = 40,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SWORDS_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_FalseSwipe,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SWAGGER] =
|
|
{
|
|
.name = COMPOUND_STRING("Swagger"),
|
|
.description = COMPOUND_STRING(
|
|
"Confuses the foe, but also\n"
|
|
"sharply raises its 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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Swagger,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MILK_DRINK] =
|
|
{
|
|
.name = COMPOUND_STRING("Milk Drink"),
|
|
.description = COMPOUND_STRING(
|
|
"Recovers up to half the\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.healingMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MilkDrink,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SPARK] =
|
|
{
|
|
.name = COMPOUND_STRING("Spark"),
|
|
.description = COMPOUND_STRING(
|
|
"An electrified tackle that\n"
|
|
"may paralyze the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE},
|
|
.battleAnimScript = gBattleAnimMove_Spark,
|
|
},
|
|
|
|
[MOVE_FURY_CUTTER] =
|
|
{
|
|
.name = COMPOUND_STRING("Fury Cutter"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that intensifies\n"
|
|
"on each successive hit."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_6
|
|
.power = 40,
|
|
#elif B_UPDATED_MOVE_DATA >= GEN_5
|
|
.power = 20,
|
|
#else
|
|
.power = 10,
|
|
#endif
|
|
.effect = EFFECT_FURY_CUTTER,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 95,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SWORDS_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_FuryCutter,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_STEEL_WING] =
|
|
{
|
|
.name = COMPOUND_STRING("Steel Wing"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes the foe with hard\n"
|
|
"wings spread wide."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 90,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SteelWing,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MEAN_LOOK] =
|
|
{
|
|
.name = COMPOUND_STRING("Mean Look"),
|
|
.description = COMPOUND_STRING(
|
|
"Fixes the foe with a mean\n"
|
|
"look that prevents escape."),
|
|
.effect = EFFECT_MEAN_LOOK,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.ignoresProtect = (B_UPDATED_MOVE_FLAGS >= GEN_6) || (B_UPDATED_MOVE_FLAGS <= GEN_3),
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_MEAN_LOOK,
|
|
.contestComboMoves = {COMBO_STARTER_CURSE},
|
|
.battleAnimScript = gBattleAnimMove_MeanLook,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ATTRACT] =
|
|
{
|
|
.name = COMPOUND_STRING("Attract"),
|
|
.description = COMPOUND_STRING(
|
|
"Makes the opposite gender\n"
|
|
"less likely to attack."),
|
|
.effect = EFFECT_ATTRACT,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.magicCoatAffected = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Attract,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SLEEP_TALK] =
|
|
{
|
|
.name = COMPOUND_STRING("Sleep Talk"),
|
|
.description = COMPOUND_STRING(
|
|
"Uses an available move\n"
|
|
"randomly while asleep."),
|
|
.effect = EFFECT_SLEEP_TALK,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_BOOST_CRITS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.encoreBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_REST},
|
|
.battleAnimScript = gBattleAnimMove_SleepTalk,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HEAL_BELL] =
|
|
{
|
|
.name = COMPOUND_STRING("Heal Bell"),
|
|
.description = COMPOUND_STRING(
|
|
"Chimes soothingly to heal\n"
|
|
"all status abnormalities."),
|
|
.effect = EFFECT_HEAL_BELL,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.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,
|
|
.contestComboMoves = {COMBO_STARTER_LUCKY_CHANT},
|
|
.battleAnimScript = gBattleAnimMove_HealBell,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_RETURN] =
|
|
{
|
|
.name = COMPOUND_STRING("Return"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that increases\n"
|
|
"in power with friendship."),
|
|
.effect = EFFECT_RETURN,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Return,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PRESENT] =
|
|
{
|
|
.name = COMPOUND_STRING("Present"),
|
|
.description = COMPOUND_STRING(
|
|
"A gift in the form of a\n"
|
|
"bomb. May restore HP."),
|
|
.effect = EFFECT_PRESENT,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 90,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4),
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Present,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FRUSTRATION] =
|
|
{
|
|
.name = COMPOUND_STRING("Frustration"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that is stronger\n"
|
|
"if the Trainer is disliked."),
|
|
.effect = EFFECT_FRUSTRATION,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Frustration,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SAFEGUARD] =
|
|
{
|
|
.name = COMPOUND_STRING("Safeguard"),
|
|
.description = COMPOUND_STRING(
|
|
"Protects allies from status\n"
|
|
"problems for 5 turns."),
|
|
.effect = EFFECT_SAFEGUARD,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Safeguard,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PAIN_SPLIT] =
|
|
{
|
|
.name = COMPOUND_STRING("Pain Split"),
|
|
.description = COMPOUND_STRING(
|
|
"Adds the user and foe's HP,\n"
|
|
"then shares them equally."),
|
|
.effect = EFFECT_PAIN_SPLIT,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_ENDURE},
|
|
.battleAnimScript = gBattleAnimMove_PainSplit,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SACRED_FIRE] =
|
|
{
|
|
.name = COMPOUND_STRING("Sacred Fire"),
|
|
.description = COMPOUND_STRING(
|
|
"A mystical fire attack that\n"
|
|
"may inflict a burn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 95,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.thawsUser = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 50,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_SacredFire,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MAGNITUDE] =
|
|
{
|
|
.name = COMPOUND_STRING("Magnitude"),
|
|
.description = COMPOUND_STRING(
|
|
"A ground-shaking attack\n"
|
|
"of random intensity."),
|
|
.effect = EFFECT_MAGNITUDE,
|
|
.power = 1,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.damagesUnderground = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Magnitude,
|
|
},
|
|
|
|
[MOVE_DYNAMIC_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Dynamic Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"Powerful and sure to cause\n"
|
|
"confusion, but inaccurate."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 50,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER},
|
|
.battleAnimScript = gBattleAnimMove_DynamicPunch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MEGAHORN] =
|
|
{
|
|
.name = COMPOUND_STRING("Megahorn"),
|
|
.description = COMPOUND_STRING(
|
|
"A brutal ramming attack\n"
|
|
"using out-thrust horns."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 85,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Megahorn,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DRAGON_BREATH] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Breath"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes the foe with a blast\n"
|
|
"of breath. May paralyze."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_DRAGON_BREATH,
|
|
.contestComboMoves = {COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL},
|
|
.battleAnimScript = gBattleAnimMove_DragonBreath,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BATON_PASS] =
|
|
{
|
|
.name = COMPOUND_STRING("Baton Pass"),
|
|
.description = COMPOUND_STRING(
|
|
"Switches out the user while\n"
|
|
"keeping effects in play."),
|
|
.effect = EFFECT_BATON_PASS,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BatonPass,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ENCORE] =
|
|
{
|
|
.name = COMPOUND_STRING("Encore"),
|
|
.description = COMPOUND_STRING(
|
|
"Makes the foe repeat its\n"
|
|
"last move over 3 turns."),
|
|
.effect = EFFECT_ENCORE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.encoreBanned = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Encore,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PURSUIT] =
|
|
{
|
|
.name = COMPOUND_STRING("Pursuit"),
|
|
.description = COMPOUND_STRING(
|
|
"Inflicts bad damage if used\n"
|
|
"on a foe switching out."),
|
|
.effect = EFFECT_PURSUIT,
|
|
.power = 40,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_3 || B_UPDATED_MOVE_FLAGS == GEN_4),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Pursuit,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_RAPID_SPIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Rapid Spin"),
|
|
.description = COMPOUND_STRING(
|
|
"User spins and removes some\n"
|
|
#if B_SPEED_BUFFING_RAPID_SPIN >= GEN_8
|
|
"effects, while upping speed."),
|
|
#else
|
|
"effects."),
|
|
#endif
|
|
.effect = EFFECT_RAPID_SPIN,
|
|
.power = B_UPDATED_MOVE_DATA >= GEN_8 ? 50 : 20,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS(
|
|
#if B_SPEED_BUFFING_RAPID_SPIN >= GEN_8
|
|
{
|
|
.moveEffect = MOVE_EFFECT_SPD_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}
|
|
#endif
|
|
),
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RapidSpin,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SWEET_SCENT] =
|
|
{
|
|
.name = COMPOUND_STRING("Sweet Scent"),
|
|
.description = COMPOUND_STRING(
|
|
#if B_UPDATED_MOVE_DATA >= GEN_6
|
|
"Allures the foes to harshly\n"
|
|
"reduce evasiveness."),
|
|
#else
|
|
"Allures the foes to reduce\n"
|
|
"evasiveness."),
|
|
#endif
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ACC_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_SWEET_SCENT,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SweetScent,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_IRON_TAIL] =
|
|
{
|
|
.name = COMPOUND_STRING("Iron Tail"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a rock-hard\n"
|
|
"tail. May lower Defense."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 75,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_IronTail,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_METAL_CLAW] =
|
|
{
|
|
.name = COMPOUND_STRING("Metal Claw"),
|
|
.description = COMPOUND_STRING(
|
|
"A claw attack that may\n"
|
|
"raise the user's Attack."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 95,
|
|
.pp = 35,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_METAL_SOUND},
|
|
.battleAnimScript = gBattleAnimMove_MetalClaw,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_VITAL_THROW] =
|
|
{
|
|
.name = COMPOUND_STRING("Vital Throw"),
|
|
.description = COMPOUND_STRING(
|
|
"Makes the user's move last,\n"
|
|
"but it never misses."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = -1,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FAKE_OUT},
|
|
.battleAnimScript = gBattleAnimMove_VitalThrow,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MORNING_SUN] =
|
|
{
|
|
.name = COMPOUND_STRING("Morning Sun"),
|
|
.description = COMPOUND_STRING(
|
|
"Restores HP. The amount\n"
|
|
"varies with the weather."),
|
|
.effect = EFFECT_MORNING_SUN,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.healingMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_MorningSun,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SYNTHESIS] =
|
|
{
|
|
.name = COMPOUND_STRING("Synthesis"),
|
|
.description = COMPOUND_STRING(
|
|
"Restores HP. The amount\n"
|
|
"varies with the weather."),
|
|
.effect = EFFECT_SYNTHESIS,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.healingMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_Synthesis,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MOONLIGHT] =
|
|
{
|
|
.name = COMPOUND_STRING("Moonlight"),
|
|
.description = COMPOUND_STRING(
|
|
"Restores HP. The amount\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.healingMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_Moonlight,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HIDDEN_POWER] =
|
|
{
|
|
.name = COMPOUND_STRING("Hidden Power"),
|
|
.description = COMPOUND_STRING(
|
|
#if B_HIDDEN_POWER_DMG >= GEN_6
|
|
"The type varies\n"
|
|
"with the user."),
|
|
#else
|
|
"The type and effectiveness\n"
|
|
"vary with the user."),
|
|
#endif
|
|
.power = B_HIDDEN_POWER_DMG >= GEN_6 ? 60 : 1,
|
|
.effect = EFFECT_HIDDEN_POWER,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HiddenPower,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CROSS_CHOP] =
|
|
{
|
|
.name = COMPOUND_STRING("Cross Chop"),
|
|
.description = COMPOUND_STRING(
|
|
"A double-chopping attack.\n"
|
|
"High critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 80,
|
|
.criticalHitStage = 1,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY},
|
|
.battleAnimScript = gBattleAnimMove_CrossChop,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TWISTER] =
|
|
{
|
|
.name = COMPOUND_STRING("Twister"),
|
|
.description = COMPOUND_STRING(
|
|
"Whips up a vicious twister\n"
|
|
"to tear at foes. May flinch."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.damagesAirborneDoubleDamage = TRUE,
|
|
.windMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Twister,
|
|
},
|
|
|
|
[MOVE_RAIN_DANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Rain Dance"),
|
|
.description = COMPOUND_STRING(
|
|
"Boosts the power of Water-\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_RAIN_DANCE,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RainDance,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SUNNY_DAY] =
|
|
{
|
|
.name = COMPOUND_STRING("Sunny Day"),
|
|
.description = COMPOUND_STRING(
|
|
"Boosts the power of Fire-\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_SUNNY_DAY,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SunnyDay,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CRUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Crunch"),
|
|
.description = COMPOUND_STRING(
|
|
"Crunches with sharp fangs.\n"
|
|
#if B_UPDATED_MOVE_DATA >= GEN_4
|
|
"May lower Defense."),
|
|
#else
|
|
"May lower Sp. Def."),
|
|
#endif
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.bitingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
#if B_UPDATED_MOVE_DATA >= GEN_4
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
#else
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1,
|
|
#endif
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SCARY_FACE},
|
|
.battleAnimScript = gBattleAnimMove_Crunch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MIRROR_COAT] =
|
|
{
|
|
.name = COMPOUND_STRING("Mirror Coat"),
|
|
.description = COMPOUND_STRING(
|
|
"Counters the foe's special\n"
|
|
"attack at double the power."),
|
|
.effect = EFFECT_MIRROR_COAT,
|
|
.power = 1,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = -5,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS >= GEN_4,
|
|
.meFirstBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_TAUNT},
|
|
.battleAnimScript = gBattleAnimMove_MirrorCoat,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PSYCH_UP] =
|
|
{
|
|
.name = COMPOUND_STRING("Psych Up"),
|
|
.description = COMPOUND_STRING(
|
|
"Copies foe's stat changes\n"
|
|
"and gives to the user."),
|
|
.effect = EFFECT_PSYCH_UP,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS < GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PsychUp,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_EXTREME_SPEED] =
|
|
{
|
|
.name = COMPOUND_STRING("Extreme Speed"),
|
|
.description = COMPOUND_STRING(
|
|
"An extremely fast and\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ExtremeSpeed,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ANCIENT_POWER] =
|
|
{
|
|
.name = COMPOUND_STRING("Ancient Power"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that may raise\n"
|
|
"all stats."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.makesContact = B_UPDATED_MOVE_DATA < GEN_4,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ALL_STATS_UP,
|
|
.self = TRUE,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AncientPower,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SHADOW_BALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Shadow Ball"),
|
|
.description = COMPOUND_STRING(
|
|
"Hurls a black blob that may\n"
|
|
"lower the foe's Sp. Def."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ShadowBall,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FUTURE_SIGHT] =
|
|
{
|
|
.name = COMPOUND_STRING("Future Sight"),
|
|
.description = COMPOUND_STRING(
|
|
"Heightens inner power to\n"
|
|
"strike 2 turns later."),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_6
|
|
.power = 120,
|
|
#elif B_UPDATED_MOVE_DATA >= GEN_5
|
|
.power = 100,
|
|
#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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_CONFUSION, COMBO_STARTER_KINESIS, COMBO_STARTER_PSYCHIC},
|
|
.battleAnimScript = gBattleAnimMove_FutureSight,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ROCK_SMASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Rock Smash"),
|
|
.description = COMPOUND_STRING(
|
|
"A rock-crushing attack\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.chance = 50,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RockSmash,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_WHIRLPOOL] =
|
|
{
|
|
.name = COMPOUND_STRING("Whirlpool"),
|
|
.description = COMPOUND_STRING(
|
|
"Traps and hurts the foe in\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.damagesUnderwater = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_WRAP,
|
|
.multistring.wrapped = B_MSG_WRAPPED_WHIRLPOOL,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Whirlpool,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BEAT_UP] =
|
|
{
|
|
.name = COMPOUND_STRING("Beat Up"),
|
|
.description = COMPOUND_STRING(
|
|
"Summons party Pokémon to\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BeatUp,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FAKE_OUT] =
|
|
{
|
|
.name = COMPOUND_STRING("Fake Out"),
|
|
.description = COMPOUND_STRING(
|
|
"Moves 1st and flinches. Only\n"
|
|
"works on user's 1st turn."),
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_FAKE_OUT,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FakeOut,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_UPROAR] =
|
|
{
|
|
.name = COMPOUND_STRING("Uproar"),
|
|
.description = COMPOUND_STRING(
|
|
#if B_UPROAR_TURNS >= GEN_5
|
|
"Causes an uproar for 2 to 5\n"
|
|
#else
|
|
"Causes an uproar for 3\n"
|
|
#endif
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_UPROAR,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Uproar,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_STOCKPILE] =
|
|
{
|
|
.name = COMPOUND_STRING("Stockpile"),
|
|
.description = COMPOUND_STRING(
|
|
"Charges up power for up to\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_STOCKPILE,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Stockpile,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SPIT_UP] =
|
|
{
|
|
.name = COMPOUND_STRING("Spit Up"),
|
|
.description = COMPOUND_STRING(
|
|
"Releases stockpiled power\n"
|
|
"(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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_STOCKPILE},
|
|
.battleAnimScript = gBattleAnimMove_SpitUp,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SWALLOW] =
|
|
{
|
|
.name = COMPOUND_STRING("Swallow"),
|
|
.description = COMPOUND_STRING(
|
|
"Absorbs stockpiled power\n"
|
|
"and restores HP."),
|
|
.effect = EFFECT_SWALLOW,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.healingMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_STOCKPILE},
|
|
.battleAnimScript = gBattleAnimMove_Swallow,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HEAT_WAVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Heat Wave"),
|
|
.description = COMPOUND_STRING(
|
|
"Exhales a hot breath on the\n"
|
|
"foes. 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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_HeatWave,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HAIL] =
|
|
{
|
|
.name = COMPOUND_STRING("Hail"),
|
|
#if B_PREFERRED_ICE_WEATHER == B_ICE_WEATHER_SNOW
|
|
.description = COMPOUND_STRING(
|
|
"Summons a snowstorm that\n"
|
|
"lasts for five turns."),
|
|
.effect = EFFECT_SNOWSCAPE,
|
|
#else
|
|
.description = COMPOUND_STRING(
|
|
"Summons a hailstorm that\n"
|
|
"strikes every turn."),
|
|
.effect = EFFECT_HAIL,
|
|
#endif
|
|
.power = 0,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_HAIL,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = (B_PREFERRED_ICE_WEATHER == B_ICE_WEATHER_SNOW) ? gBattleAnimMove_Snowscape : gBattleAnimMove_Hail,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TORMENT] =
|
|
{
|
|
.name = COMPOUND_STRING("Torment"),
|
|
.description = COMPOUND_STRING(
|
|
"Torments the foe and stops\n"
|
|
"successive use of a move."),
|
|
.effect = EFFECT_TORMENT,
|
|
.power = 0,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Torment,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FLATTER] =
|
|
{
|
|
.name = COMPOUND_STRING("Flatter"),
|
|
.description = COMPOUND_STRING(
|
|
"Confuses the foe, but\n"
|
|
"raises its Sp. Atk."),
|
|
.effect = EFFECT_FLATTER,
|
|
.power = 0,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARM},
|
|
.battleAnimScript = gBattleAnimMove_Flatter,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_WILL_O_WISP] =
|
|
{
|
|
.name = COMPOUND_STRING("Will-O-Wisp"),
|
|
.description = COMPOUND_STRING(
|
|
"Inflicts a burn on the foe\n"
|
|
"with intense fire."),
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = B_UPDATED_MOVE_DATA >= GEN_6 ? 85 : 75,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_BURN },
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_WillOWisp,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MEMENTO] =
|
|
{
|
|
.name = COMPOUND_STRING("Memento"),
|
|
.description = COMPOUND_STRING(
|
|
"The user faints and harshly\n"
|
|
"lowers foes Atk and Sp.Atk."),
|
|
.effect = EFFECT_MEMENTO,
|
|
.power = 0,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESTORE_REPLACEMENT_HP },
|
|
.contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Memento,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FACADE] =
|
|
{
|
|
.name = COMPOUND_STRING("Facade"),
|
|
.description = COMPOUND_STRING(
|
|
"Boosts power when burned,\n"
|
|
"paralyzed, or poisoned."),
|
|
.effect = EFFECT_FACADE,
|
|
.power = 70,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Facade,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FOCUS_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Focus Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"Powerful attack, moves last.\n"
|
|
"The user flinches if hit."),
|
|
.effect = EFFECT_FOCUS_PUNCH,
|
|
.power = 150,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = -3,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.punchingMove = TRUE,
|
|
.meFirstBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY},
|
|
.battleAnimScript = gBattleAnimMove_FocusPunch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SMELLING_SALTS] =
|
|
{
|
|
.name = COMPOUND_STRING("Smelling Salts"),
|
|
.description = COMPOUND_STRING(
|
|
"Powerful against paralyzed\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .status = STATUS1_PARALYSIS },
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_REMOVE_STATUS,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SmellingSalts,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FOLLOW_ME] =
|
|
{
|
|
.name = COMPOUND_STRING("Follow Me"),
|
|
.description = COMPOUND_STRING(
|
|
"Draws attention to make\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FollowMe,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_NATURE_POWER] =
|
|
{
|
|
.name = COMPOUND_STRING("Nature Power"),
|
|
.description = COMPOUND_STRING(
|
|
"The type of attack varies\n"
|
|
"depending on the location."),
|
|
.effect = EFFECT_NATURE_POWER,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_4,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.encoreBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_NaturePower,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CHARGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Charge"),
|
|
.description = COMPOUND_STRING(
|
|
"Charges power to boost the\n"
|
|
"Electric move used next."),
|
|
.effect = EFFECT_CHARGE,
|
|
.power = 0,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_CHARGE,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Charge,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TAUNT] =
|
|
{
|
|
.name = COMPOUND_STRING("Taunt"),
|
|
.description = COMPOUND_STRING(
|
|
"Taunts the foe into only\n"
|
|
"using attack moves."),
|
|
.effect = EFFECT_TAUNT,
|
|
.power = 0,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.ignoresSubstitute = TRUE,
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_TAUNT,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Taunt,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HELPING_HAND] =
|
|
{
|
|
.name = COMPOUND_STRING("Helping Hand"),
|
|
.description = COMPOUND_STRING(
|
|
"Boosts the power of ally\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HelpingHand,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TRICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Trick"),
|
|
.description = COMPOUND_STRING(
|
|
"Tricks the foe into trading\n"
|
|
"held items."),
|
|
.effect = EFFECT_TRICK,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_2 },
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Trick,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ROLE_PLAY] =
|
|
{
|
|
.name = COMPOUND_STRING("Role Play"),
|
|
.description = COMPOUND_STRING(
|
|
"Mimics the target and\n"
|
|
"copies its Ability."),
|
|
.effect = EFFECT_ROLE_PLAY,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RolePlay,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_WISH] =
|
|
{
|
|
.name = COMPOUND_STRING("Wish"),
|
|
.description = COMPOUND_STRING(
|
|
"A wish that restores HP.\n"
|
|
"It takes time to work."),
|
|
.effect = EFFECT_WISH,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.healingMove = TRUE,
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Wish,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ASSIST] =
|
|
{
|
|
.name = COMPOUND_STRING("Assist"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks randomly with one\n"
|
|
"of the partner's moves."),
|
|
.effect = EFFECT_ASSIST,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_4,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.encoreBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Assist,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_INGRAIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Ingrain"),
|
|
.description = COMPOUND_STRING(
|
|
"Lays roots that restore HP.\n"
|
|
"The user can't switch out."),
|
|
.effect = EFFECT_INGRAIN,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Ingrain,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SUPERPOWER] =
|
|
{
|
|
.name = COMPOUND_STRING("Superpower"),
|
|
.description = COMPOUND_STRING(
|
|
"Boosts strength sharply,\n"
|
|
"but lowers abilities."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_DEF_DOWN,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_LOCK_ON, COMBO_STARTER_MIND_READER},
|
|
.battleAnimScript = gBattleAnimMove_Superpower,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MAGIC_COAT] =
|
|
{
|
|
.name = COMPOUND_STRING("Magic Coat"),
|
|
.description = COMPOUND_STRING(
|
|
"Reflects special effects\n"
|
|
"back to the attacker."),
|
|
.effect = EFFECT_MAGIC_COAT,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = 4,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_2 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MagicCoat,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_RECYCLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Recycle"),
|
|
.description = COMPOUND_STRING(
|
|
"Recycles a used item for\n"
|
|
"one more use."),
|
|
.effect = EFFECT_RECYCLE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_2 },
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Recycle,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_REVENGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Revenge"),
|
|
.description = sRevengeDescription,
|
|
.effect = EFFECT_REVENGE,
|
|
.power = 60,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = -4,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_REVENGE,
|
|
.contestComboMoves = {COMBO_STARTER_PAYBACK},
|
|
.battleAnimScript = gBattleAnimMove_Revenge,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BRICK_BREAK] =
|
|
{
|
|
.name = COMPOUND_STRING("Brick Break"),
|
|
.description = COMPOUND_STRING(
|
|
"Destroys barriers such as\n"
|
|
"REFLECT and causes damage."),
|
|
.effect = EFFECT_BRICK_BREAK,
|
|
.power = 75,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY},
|
|
.battleAnimScript = gBattleAnimMove_BrickBreak,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_YAWN] =
|
|
{
|
|
.name = COMPOUND_STRING("Yawn"),
|
|
.description = COMPOUND_STRING(
|
|
"Lulls the foe into yawning,\n"
|
|
"then sleeping next turn."),
|
|
.effect = EFFECT_YAWN,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_SLEEP },
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_YAWN,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Yawn,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_KNOCK_OFF] =
|
|
{
|
|
.name = COMPOUND_STRING("Knock Off"),
|
|
.description = COMPOUND_STRING(
|
|
"Knocks down the foe's held\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FAKE_OUT},
|
|
.battleAnimScript = gBattleAnimMove_KnockOff,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ENDEAVOR] =
|
|
{
|
|
.name = COMPOUND_STRING("Endeavor"),
|
|
.description = COMPOUND_STRING(
|
|
"Cuts foe's HP to equal\n"
|
|
"user's HP."),
|
|
.effect = EFFECT_ENDEAVOR,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.parentalBondBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_ENDURE},
|
|
.battleAnimScript = gBattleAnimMove_Endeavor,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ERUPTION] =
|
|
{
|
|
.name = COMPOUND_STRING("Eruption"),
|
|
.description = COMPOUND_STRING(
|
|
"The higher the user's HP,\n"
|
|
"the more damage caused."),
|
|
.effect = EFFECT_POWER_BASED_ON_USER_HP,
|
|
.power = 150,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_ENDURE, COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_Eruption,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SKILL_SWAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Skill Swap"),
|
|
.description = COMPOUND_STRING(
|
|
"The user swaps special\n"
|
|
"abilities with the target."),
|
|
.effect = EFFECT_SKILL_SWAP,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresSubstitute = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SkillSwap,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_IMPRISON] =
|
|
{
|
|
.name = COMPOUND_STRING("Imprison"),
|
|
.description = COMPOUND_STRING(
|
|
"Prevents foes from using\n"
|
|
"moves known by the user."),
|
|
.effect = EFFECT_IMPRISON,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_2 },
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.forcePressure = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Imprison,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_REFRESH] =
|
|
{
|
|
.name = COMPOUND_STRING("Refresh"),
|
|
.description = COMPOUND_STRING(
|
|
"Heals poisoning, paralysis,\n"
|
|
"or a burn."),
|
|
.effect = EFFECT_REFRESH,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SING, COMBO_STARTER_WATER_SPORT},
|
|
.battleAnimScript = gBattleAnimMove_Refresh,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_GRUDGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Grudge"),
|
|
.description = COMPOUND_STRING(
|
|
"If the user faints, deletes\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_FOLLOW_ME },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CURSE},
|
|
.battleAnimScript = gBattleAnimMove_Grudge,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SNATCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Snatch"),
|
|
.description = COMPOUND_STRING(
|
|
"Steals the effects of the\n"
|
|
"move the target uses next."),
|
|
.effect = EFFECT_SNATCH,
|
|
.power = 0,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = 4,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_2 },
|
|
.ignoresSubstitute = TRUE,
|
|
.forcePressure = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Snatch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SECRET_POWER] =
|
|
{
|
|
.name = COMPOUND_STRING("Secret Power"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack with effects\n"
|
|
"that vary by location."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SECRET_POWER,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SecretPower,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DIVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Dive"),
|
|
.description = COMPOUND_STRING(
|
|
"Dives underwater the first\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_PKMNHIDUNDERWATER, .status = STATE_UNDERWATER },
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_DIVE,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF},
|
|
.battleAnimScript = gBattleAnimMove_Dive,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ARM_THRUST] =
|
|
{
|
|
.name = COMPOUND_STRING("Arm Thrust"),
|
|
.description = COMPOUND_STRING(
|
|
"Straight-arm punches that\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_FOCUS_ENERGY},
|
|
.battleAnimScript = gBattleAnimMove_ArmThrust,
|
|
},
|
|
|
|
[MOVE_CAMOUFLAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Camouflage"),
|
|
.description = COMPOUND_STRING(
|
|
"Alters the Pokémon's type\n"
|
|
"depending on the location."),
|
|
.effect = EFFECT_CAMOUFLAGE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_EVSN_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Camouflage,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TAIL_GLOW] =
|
|
{
|
|
.name = COMPOUND_STRING("Tail Glow"),
|
|
.description = COMPOUND_STRING(
|
|
#if B_UPDATED_MOVE_DATA >= GEN_5
|
|
"Flash light that drastically\n"
|
|
#else
|
|
"Flashes a light that sharply\n"
|
|
#endif
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TailGlow,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_LUSTER_PURGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Luster Purge"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a burst of\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1,
|
|
.chance = 50,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND},
|
|
.battleAnimScript = gBattleAnimMove_LusterPurge,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MIST_BALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Mist Ball"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a flurry of\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1,
|
|
.chance = 50,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND},
|
|
.battleAnimScript = gBattleAnimMove_MistBall,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FEATHER_DANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Feather Dance"),
|
|
.description = COMPOUND_STRING(
|
|
"Envelops the foe with down\n"
|
|
"to sharply reduce Attack."),
|
|
.effect = EFFECT_ATTACK_DOWN_2,
|
|
.power = 0,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.danceMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FeatherDance,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TEETER_DANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Teeter Dance"),
|
|
.description = COMPOUND_STRING(
|
|
"Confuses all Pokémon on\n"
|
|
"the scene."),
|
|
.effect = EFFECT_CONFUSE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.danceMove = TRUE,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_4,
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TeeterDance,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BLAZE_KICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Blaze Kick"),
|
|
.description = COMPOUND_STRING(
|
|
"A kick with a high critical-\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_BlazeKick,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MUD_SPORT] =
|
|
{
|
|
.name = COMPOUND_STRING("Mud Sport"),
|
|
.description = COMPOUND_STRING(
|
|
"Covers the user in mud to\n"
|
|
"weaken all Electric moves."),
|
|
// in theory this should mention 5 turns (gen 6+)
|
|
.effect = EFFECT_MUD_SPORT,
|
|
.power = 0,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_MUD_SPORT,
|
|
.contestComboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM, COMBO_STARTER_WATER_SPORT},
|
|
.battleAnimScript = gBattleAnimMove_MudSport,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ICE_BALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Ice Ball"),
|
|
.description = COMPOUND_STRING(
|
|
"A 5-turn attack that gains\n"
|
|
"power on successive hits."),
|
|
.effect = EFFECT_ROLLOUT,
|
|
.power = 30,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 90,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ballisticMove = TRUE,
|
|
.instructBanned = TRUE,
|
|
.parentalBondBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HAIL},
|
|
.battleAnimScript = gBattleAnimMove_IceBall,
|
|
},
|
|
|
|
[MOVE_NEEDLE_ARM] =
|
|
{
|
|
.name = COMPOUND_STRING("Needle Arm"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with thorny arms.\n"
|
|
"May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_4,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_NeedleArm,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SLACK_OFF] =
|
|
{
|
|
.name = COMPOUND_STRING("Slack Off"),
|
|
.description = COMPOUND_STRING(
|
|
"Slacks off and restores\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.healingMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SlackOff,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HYPER_VOICE] =
|
|
{
|
|
.name = COMPOUND_STRING("Hyper Voice"),
|
|
.description = COMPOUND_STRING(
|
|
"A loud attack that uses\n"
|
|
"sound waves to injure."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.soundMove = TRUE,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HyperVoice,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_POISON_FANG] =
|
|
{
|
|
.name = COMPOUND_STRING("Poison Fang"),
|
|
.description = COMPOUND_STRING(
|
|
"A sharp-fanged attack.\n"
|
|
"May badly poison the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.bitingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_TOXIC,
|
|
.chance = B_UPDATED_MOVE_DATA >= GEN_6 ? 50 : 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PoisonFang,
|
|
},
|
|
|
|
[MOVE_CRUSH_CLAW] =
|
|
{
|
|
.name = COMPOUND_STRING("Crush Claw"),
|
|
.description = COMPOUND_STRING(
|
|
"Tears at the foe with sharp\n"
|
|
"claws. May lower Defense."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 75,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 95,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.chance = 50,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SWORDS_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_CrushClaw,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BLAST_BURN] =
|
|
{
|
|
.name = COMPOUND_STRING("Blast Burn"),
|
|
.description = COMPOUND_STRING(
|
|
"Powerful, but leaves the\n"
|
|
"user immobile the next turn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 150,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECHARGE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_BlastBurn,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HYDRO_CANNON] =
|
|
{
|
|
.name = COMPOUND_STRING("Hydro Cannon"),
|
|
.description = COMPOUND_STRING(
|
|
"Powerful, but leaves the\n"
|
|
"user immobile the next turn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 150,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECHARGE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_HydroCannon,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_METEOR_MASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Meteor Mash"),
|
|
.description = COMPOUND_STRING(
|
|
"Fires a meteor-like punch.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MeteorMash,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ASTONISH] =
|
|
{
|
|
.name = COMPOUND_STRING("Astonish"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that may shock\n"
|
|
"the foe into flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 30,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_4,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Astonish,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_WEATHER_BALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Weather Ball"),
|
|
.description = COMPOUND_STRING(
|
|
"The move's type and power\n"
|
|
"change with the weather."),
|
|
.effect = EFFECT_WEATHER_BALL,
|
|
.power = 50,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.zMove = { .powerOverride = 160 },
|
|
.ballisticMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SANDSTORM, COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_WeatherBall,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_AROMATHERAPY] =
|
|
{
|
|
.name = COMPOUND_STRING("Aromatherapy"),
|
|
.description = COMPOUND_STRING(
|
|
"Heals all status problems\n"
|
|
"with a soothing scent."),
|
|
.effect = EFFECT_HEAL_BELL,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Aromatherapy,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FAKE_TEARS] =
|
|
{
|
|
.name = COMPOUND_STRING("Fake Tears"),
|
|
.description = COMPOUND_STRING(
|
|
"Feigns crying to sharply\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FakeTears,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_AIR_CUTTER] =
|
|
{
|
|
.name = COMPOUND_STRING("Air Cutter"),
|
|
.description = COMPOUND_STRING(
|
|
"Hacks with razorlike wind.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = TRUE,
|
|
.slicingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AirCutter,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_OVERHEAT] =
|
|
{
|
|
.name = COMPOUND_STRING("Overheat"),
|
|
.description = COMPOUND_STRING(
|
|
"Allows a full-power attack,\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.makesContact = B_UPDATED_MOVE_DATA < GEN_4,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_2,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_Overheat,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ODOR_SLEUTH] =
|
|
{
|
|
.name = COMPOUND_STRING("Odor Sleuth"),
|
|
.description = COMPOUND_STRING(
|
|
"Negate evasiveness and\n"
|
|
"Ghost type's immunities."),
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.ignoresSubstitute = TRUE,
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_OdorSleuth,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ROCK_TOMB] =
|
|
{
|
|
.name = COMPOUND_STRING("Rock Tomb"),
|
|
.description = COMPOUND_STRING(
|
|
"Stops the foe from moving\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_ROCK_THROW},
|
|
.battleAnimScript = gBattleAnimMove_RockTomb,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SILVER_WIND] =
|
|
{
|
|
.name = COMPOUND_STRING("Silver Wind"),
|
|
.description = COMPOUND_STRING(
|
|
"A powdery attack that may\n"
|
|
"raise abilities."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ALL_STATS_UP,
|
|
.self = TRUE,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SilverWind,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_METAL_SOUND] =
|
|
{
|
|
.name = COMPOUND_STRING("Metal Sound"),
|
|
.description = COMPOUND_STRING(
|
|
"Emits a horrible screech\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.magicCoatAffected = TRUE,
|
|
.soundMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_METAL_SOUND,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MetalSound,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_GRASS_WHISTLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Grass Whistle"),
|
|
.description = COMPOUND_STRING(
|
|
"Lulls the foe into sleep\n"
|
|
"with a pleasant melody."),
|
|
.effect = EFFECT_NON_VOLATILE_STATUS,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 55,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_SLEEP },
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.magicCoatAffected = TRUE,
|
|
.soundMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GrassWhistle,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_TICKLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Tickle"),
|
|
.description = COMPOUND_STRING(
|
|
"Makes the foe laugh to\n"
|
|
"lower Attack and Defense."),
|
|
.effect = EFFECT_TICKLE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Tickle,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_COSMIC_POWER] =
|
|
{
|
|
.name = COMPOUND_STRING("Cosmic Power"),
|
|
.description = COMPOUND_STRING(
|
|
"Raises Defense and Sp. Def\n"
|
|
"with a mystic power."),
|
|
.effect = EFFECT_COSMIC_POWER,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CosmicPower,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_WATER_SPOUT] =
|
|
{
|
|
.name = COMPOUND_STRING("Water Spout"),
|
|
.description = COMPOUND_STRING(
|
|
"Inflicts more damage if the\n"
|
|
"user's HP is high."),
|
|
.effect = EFFECT_POWER_BASED_ON_USER_HP,
|
|
.power = 150,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_WaterSpout,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SIGNAL_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Signal Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"A strange beam attack that\n"
|
|
"may confuse the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 75,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SignalBeam,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SHADOW_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Shadow Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"An unavoidable punch that\n"
|
|
"is thrown from shadows."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ShadowPunch,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_EXTRASENSORY] =
|
|
{
|
|
.name = COMPOUND_STRING("Extrasensory"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a peculiar\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_4,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Extrasensory,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SKY_UPPERCUT] =
|
|
{
|
|
.name = COMPOUND_STRING("Sky Uppercut"),
|
|
.description = COMPOUND_STRING(
|
|
"An uppercut thrown as if\n"
|
|
"leaping into the sky."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 85,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 90,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.damagesAirborne = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY},
|
|
.battleAnimScript = gBattleAnimMove_SkyUppercut,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SAND_TOMB] =
|
|
{
|
|
.name = COMPOUND_STRING("Sand Tomb"),
|
|
.description = COMPOUND_STRING(
|
|
"Traps and hurts the foe in\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_WRAP,
|
|
.multistring.wrapped = B_MSG_WRAPPED_SAND_TOMB,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SANDSTORM},
|
|
.battleAnimScript = gBattleAnimMove_SandTomb,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_SHEER_COLD] =
|
|
{
|
|
.name = COMPOUND_STRING("Sheer Cold"),
|
|
.description = COMPOUND_STRING(
|
|
"A chilling attack that\n"
|
|
"causes fainting if it hits."),
|
|
.effect = EFFECT_SHEER_COLD,
|
|
.power = 1,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 30,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_MIND_READER},
|
|
.battleAnimScript = gBattleAnimMove_SheerCold,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MUDDY_WATER] =
|
|
{
|
|
.name = COMPOUND_STRING("Muddy Water"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with muddy water.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.skyBattleBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ACC_MINUS_1,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_MuddyWater,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BULLET_SEED] =
|
|
{
|
|
.name = COMPOUND_STRING("Bullet Seed"),
|
|
.description = COMPOUND_STRING(
|
|
"Shoots 2 to 5 seeds in a row\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ballisticMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_BulletSeed,
|
|
},
|
|
|
|
[MOVE_AERIAL_ACE] =
|
|
{
|
|
.name = COMPOUND_STRING("Aerial Ace"),
|
|
.description = COMPOUND_STRING(
|
|
"An extremely speedy and\n"
|
|
"unavoidable attack."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AerialAce,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ICICLE_SPEAR] =
|
|
{
|
|
.name = COMPOUND_STRING("Icicle Spear"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks the foe by firing\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_IcicleSpear,
|
|
},
|
|
|
|
[MOVE_IRON_DEFENSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Iron Defense"),
|
|
.description = COMPOUND_STRING(
|
|
"Hardens the body's surface\n"
|
|
"to sharply raise Defense."),
|
|
.effect = EFFECT_DEFENSE_UP_2,
|
|
.power = 0,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_IronDefense,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BLOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Block"),
|
|
.description = COMPOUND_STRING(
|
|
"Blocks the foe's way and\n"
|
|
"prevents escape."),
|
|
.effect = EFFECT_MEAN_LOOK,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = (B_UPDATED_MOVE_FLAGS >= GEN_6) || (B_UPDATED_MOVE_FLAGS <= GEN_3),
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Block,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_HOWL] =
|
|
{
|
|
.name = COMPOUND_STRING("Howl"),
|
|
.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,
|
|
.accuracy = 0,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_USER, // Targeting is handled through the script
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.soundMove = B_UPDATED_MOVE_FLAGS >= GEN_8,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Howl,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DRAGON_CLAW] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Claw"),
|
|
.description = COMPOUND_STRING(
|
|
"Slashes the foe with sharp\n"
|
|
"claws."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL},
|
|
.battleAnimScript = gBattleAnimMove_DragonClaw,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_FRENZY_PLANT] =
|
|
{
|
|
.name = COMPOUND_STRING("Frenzy Plant"),
|
|
.description = COMPOUND_STRING(
|
|
"Powerful, but leaves the\n"
|
|
"user immobile the next turn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 150,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.skyBattleBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECHARGE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_FrenzyPlant,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BULK_UP] =
|
|
{
|
|
.name = COMPOUND_STRING("Bulk Up"),
|
|
.description = COMPOUND_STRING(
|
|
"Bulks up the body to boost\n"
|
|
"both Attack and Defense."),
|
|
.effect = EFFECT_BULK_UP,
|
|
.power = 0,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BulkUp,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_BOUNCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Bounce"),
|
|
.description = COMPOUND_STRING(
|
|
"Bounces up, then down the\n"
|
|
"next turn. May paralyze."),
|
|
.effect = EFFECT_SEMI_INVULNERABLE,
|
|
.power = 85,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 85,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.gravityBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_PKMNSPRANGUP, .status = STATE_ON_AIR },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Bounce,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MUD_SHOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Mud Shot"),
|
|
.description = COMPOUND_STRING(
|
|
"Hurls mud at the foe and\n"
|
|
"reduces Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 55,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 95,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SANDSTORM},
|
|
.battleAnimScript = gBattleAnimMove_MudShot,
|
|
},
|
|
|
|
[MOVE_POISON_TAIL] =
|
|
{
|
|
.name = COMPOUND_STRING("Poison Tail"),
|
|
.description = COMPOUND_STRING(
|
|
"Has a high critical-hit\n"
|
|
"ratio. May also poison."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.criticalHitStage = 1,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PoisonTail,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_COVET] =
|
|
{
|
|
.name = COMPOUND_STRING("Covet"),
|
|
.description = COMPOUND_STRING(
|
|
"Cutely begs to obtain an\n"
|
|
"item held by the foe."),
|
|
.effect = EFFECT_STEAL_ITEM,
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = B_UPDATED_MOVE_DATA >= GEN_4,
|
|
.meFirstBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Covet,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_VOLT_TACKLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Volt Tackle"),
|
|
#if B_UPDATED_MOVE_DATA >= GEN_4
|
|
.description = COMPOUND_STRING(
|
|
"A life-risking tackle that\n"
|
|
"hurts the user. May paralyze."),
|
|
#else
|
|
.description = COMPOUND_STRING(
|
|
"A life-risking tackle that\n"
|
|
"slightly hurts the user."),
|
|
#endif
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .recoilPercentage = 33 },
|
|
.makesContact = TRUE,
|
|
#if B_UPDATED_MOVE_DATA >= GEN_4
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 10,
|
|
}),
|
|
#endif
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_VoltTackle,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_MAGICAL_LEAF] =
|
|
{
|
|
.name = COMPOUND_STRING("Magical Leaf"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a strange leaf\n"
|
|
"that cannot be evaded."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_MagicalLeaf,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_WATER_SPORT] =
|
|
{
|
|
.name = COMPOUND_STRING("Water Sport"),
|
|
.description = COMPOUND_STRING(
|
|
"The user becomes soaked to\n"
|
|
"weaken all Fire moves."),
|
|
// in theory this should mention 5 turns (gen6+)
|
|
.effect = EFFECT_WATER_SPORT,
|
|
.power = 0,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_WATER_SPORT,
|
|
.contestComboMoves = {COMBO_STARTER_MUD_SPORT, COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_WaterSport,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_CALM_MIND] =
|
|
{
|
|
.name = COMPOUND_STRING("Calm Mind"),
|
|
.description = COMPOUND_STRING(
|
|
"Raises Sp. Atk and Sp. Def\n"
|
|
"by focusing the mind."),
|
|
.effect = EFFECT_CALM_MIND,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_CALM_MIND,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CalmMind,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_LEAF_BLADE] =
|
|
{
|
|
.name = COMPOUND_STRING("Leaf Blade"),
|
|
.description = COMPOUND_STRING(
|
|
"Slashes with a sharp leaf.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LeafBlade,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DRAGON_DANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Dance"),
|
|
.description = COMPOUND_STRING(
|
|
"A mystical dance that ups\n"
|
|
"Attack and Speed."),
|
|
.effect = EFFECT_DRAGON_DANCE,
|
|
.power = 0,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.danceMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_DRAGON_DANCE,
|
|
.contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL},
|
|
.battleAnimScript = gBattleAnimMove_DragonDance,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ROCK_BLAST] =
|
|
{
|
|
.name = COMPOUND_STRING("Rock Blast"),
|
|
.description = COMPOUND_STRING(
|
|
"Hurls boulders at the foe\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ballisticMove = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RockBlast,
|
|
},
|
|
|
|
[MOVE_SHOCK_WAVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Shock Wave"),
|
|
.description = COMPOUND_STRING(
|
|
"A fast and unavoidable\n"
|
|
"electric attack."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE},
|
|
.battleAnimScript = gBattleAnimMove_ShockWave,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_WATER_PULSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Water Pulse"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with ultrasonic\n"
|
|
"waves. May confuse the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.pulseMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_WaterPulse,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_DOOM_DESIRE] =
|
|
{
|
|
.name = COMPOUND_STRING("Doom Desire"),
|
|
.description = COMPOUND_STRING(
|
|
"Summons strong light to\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DoomDesire,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_PSYCHO_BOOST] =
|
|
{
|
|
.name = COMPOUND_STRING("Psycho Boost"),
|
|
.description = COMPOUND_STRING(
|
|
"Allows a full-power attack,\n"
|
|
"but sharply lowers Sp. Atk."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 140,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_2,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CALM_MIND},
|
|
.battleAnimScript = gBattleAnimMove_PsychoBoost,
|
|
.validApprenticeMove = TRUE,
|
|
},
|
|
|
|
[MOVE_ROOST] =
|
|
{
|
|
.name = COMPOUND_STRING("Roost"),
|
|
.description = COMPOUND_STRING(
|
|
"Restores the user's HP by\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.healingMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_BRAVE_BIRD},
|
|
.battleAnimScript = gBattleAnimMove_Roost,
|
|
},
|
|
|
|
[MOVE_GRAVITY] =
|
|
{
|
|
.name = COMPOUND_STRING("Gravity"),
|
|
.description = COMPOUND_STRING(
|
|
"Gravity is intensified\n"
|
|
"negating levitation."),
|
|
.effect = EFFECT_GRAVITY,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Gravity,
|
|
},
|
|
|
|
[MOVE_MIRACLE_EYE] =
|
|
{
|
|
.name = COMPOUND_STRING("Miracle Eye"),
|
|
.description = COMPOUND_STRING(
|
|
"Negate evasiveness and\n"
|
|
"Dark type's immunities."),
|
|
.effect = EFFECT_MIRACLE_EYE,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.ignoresSubstitute = TRUE,
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MiracleEye,
|
|
},
|
|
|
|
[MOVE_WAKE_UP_SLAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Wake-Up Slap"),
|
|
.description = COMPOUND_STRING(
|
|
"Powerful against sleeping\n"
|
|
"foes, but also wakes 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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .status = STATUS1_SLEEP },
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_REMOVE_STATUS,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_WakeUpSlap,
|
|
},
|
|
|
|
[MOVE_HAMMER_ARM] =
|
|
{
|
|
.name = COMPOUND_STRING("Hammer Arm"),
|
|
.description = COMPOUND_STRING(
|
|
"A swinging fist attack\n"
|
|
"that also lowers Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY},
|
|
.battleAnimScript = gBattleAnimMove_HammerArm,
|
|
},
|
|
|
|
[MOVE_GYRO_BALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Gyro Ball"),
|
|
.description = COMPOUND_STRING(
|
|
"A high-speed spin that does\n"
|
|
"more damage to faster foes."),
|
|
.effect = EFFECT_GYRO_BALL,
|
|
.power = 1,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ballisticMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GyroBall,
|
|
},
|
|
|
|
[MOVE_HEALING_WISH] =
|
|
{
|
|
.name = COMPOUND_STRING("Healing Wish"),
|
|
.description = sHealingWishDescription,
|
|
.effect = EFFECT_HEALING_WISH,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.healingMove = TRUE,
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HealingWish,
|
|
},
|
|
|
|
[MOVE_BRINE] =
|
|
{
|
|
.name = COMPOUND_STRING("Brine"),
|
|
.description = COMPOUND_STRING(
|
|
"Does double damage to foes\n"
|
|
"with half HP or less."),
|
|
.effect = EFFECT_BRINE,
|
|
.power = 65,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Brine,
|
|
},
|
|
|
|
[MOVE_NATURAL_GIFT] =
|
|
{
|
|
.name = COMPOUND_STRING("Natural Gift"),
|
|
.description = COMPOUND_STRING(
|
|
"The effectiveness varies\n"
|
|
"with the held Berry."),
|
|
.effect = EFFECT_NATURAL_GIFT,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_NaturalGift,
|
|
},
|
|
|
|
[MOVE_FEINT] =
|
|
{
|
|
.name = COMPOUND_STRING("Feint"),
|
|
.description = sFeintDescription,
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_6,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FEINT,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Feint,
|
|
},
|
|
|
|
[MOVE_PLUCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Pluck"),
|
|
.description = sPluckDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BUG_BITE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Pluck,
|
|
},
|
|
|
|
[MOVE_TAILWIND] =
|
|
{
|
|
.name = COMPOUND_STRING("Tailwind"),
|
|
.description = COMPOUND_STRING(
|
|
"Whips up a breeze, doubling\n"
|
|
#if B_TAILWIND_TURNS >= GEN_5
|
|
"ally Speed for 4 turns."),
|
|
#else
|
|
"ally Speed for 3 turns."),
|
|
#endif
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_BOOST_CRITS },
|
|
.snatchAffected = TRUE,
|
|
.windMove = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Tailwind,
|
|
},
|
|
|
|
[MOVE_ACUPRESSURE] =
|
|
{
|
|
.name = COMPOUND_STRING("Acupressure"),
|
|
.description = COMPOUND_STRING(
|
|
"The user sharply raises\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_BOOST_CRITS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS < GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Acupressure,
|
|
},
|
|
|
|
[MOVE_METAL_BURST] =
|
|
{
|
|
.name = COMPOUND_STRING("Metal Burst"),
|
|
.description = COMPOUND_STRING(
|
|
"Retaliates any hit with\n"
|
|
"greater power."),
|
|
.effect = EFFECT_METAL_BURST,
|
|
.power = 1,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.meFirstBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_METAL_SOUND},
|
|
.battleAnimScript = gBattleAnimMove_MetalBurst,
|
|
},
|
|
|
|
[MOVE_U_TURN] =
|
|
{
|
|
.name = COMPOUND_STRING("U-turn"),
|
|
.description = sUTurnDescription,
|
|
.effect = EFFECT_HIT_ESCAPE,
|
|
.power = 70,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_UTurn,
|
|
},
|
|
|
|
[MOVE_CLOSE_COMBAT] =
|
|
{
|
|
.name = COMPOUND_STRING("Close Combat"),
|
|
.description = sCloseCombatDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_SPDEF_DOWN,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER},
|
|
.battleAnimScript = gBattleAnimMove_CloseCombat,
|
|
},
|
|
|
|
[MOVE_PAYBACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Payback"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that gains power\n"
|
|
"if the user moves last."),
|
|
.effect = EFFECT_PAYBACK,
|
|
.power = 50,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_PAYBACK,
|
|
.contestComboMoves = {COMBO_STARTER_REVENGE},
|
|
.battleAnimScript = gBattleAnimMove_Payback,
|
|
},
|
|
|
|
[MOVE_ASSURANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Assurance"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that gains power\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_PAYBACK, COMBO_STARTER_REVENGE},
|
|
.battleAnimScript = gBattleAnimMove_Assurance,
|
|
},
|
|
|
|
[MOVE_EMBARGO] =
|
|
{
|
|
.name = COMPOUND_STRING("Embargo"),
|
|
.description = COMPOUND_STRING(
|
|
"Prevents the foe from\n"
|
|
"using any items."),
|
|
.effect = EFFECT_EMBARGO,
|
|
.power = 0,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Embargo,
|
|
},
|
|
|
|
[MOVE_FLING] =
|
|
{
|
|
.name = COMPOUND_STRING("Fling"),
|
|
.description = COMPOUND_STRING(
|
|
"The effectiveness varies\n"
|
|
"with the held item."),
|
|
.effect = EFFECT_FLING,
|
|
.power = 1,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.parentalBondBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Fling,
|
|
},
|
|
|
|
[MOVE_PSYCHO_SHIFT] =
|
|
{
|
|
.name = COMPOUND_STRING("Psycho Shift"),
|
|
.description = COMPOUND_STRING(
|
|
"Transfers status problems\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_2 },
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PsychoShift,
|
|
},
|
|
|
|
[MOVE_TRUMP_CARD] =
|
|
{
|
|
.name = COMPOUND_STRING("Trump Card"),
|
|
.description = COMPOUND_STRING(
|
|
"The less PP the move has\n"
|
|
"the more damage it does."),
|
|
.effect = EFFECT_TRUMP_CARD,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TrumpCard,
|
|
},
|
|
|
|
[MOVE_HEAL_BLOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Heal Block"),
|
|
.description = COMPOUND_STRING(
|
|
"Prevents the foes from\n"
|
|
"recovering HP for 5 turns."),
|
|
.effect = EFFECT_HEAL_BLOCK,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_2 },
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HealBlock,
|
|
},
|
|
|
|
[MOVE_WRING_OUT] =
|
|
{
|
|
.name = COMPOUND_STRING("Wring Out"),
|
|
.description = sWringOutDescription,
|
|
.effect = EFFECT_POWER_BASED_ON_TARGET_HP,
|
|
.power = 120,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_WringOut,
|
|
},
|
|
|
|
[MOVE_POWER_TRICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Power Trick"),
|
|
.description = COMPOUND_STRING(
|
|
"The user swaps its Attack\n"
|
|
"and Defense stats."),
|
|
.effect = EFFECT_POWER_TRICK,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PowerTrick,
|
|
},
|
|
|
|
[MOVE_GASTRO_ACID] =
|
|
{
|
|
.name = COMPOUND_STRING("Gastro Acid"),
|
|
.description = COMPOUND_STRING(
|
|
"Stomach acid suppresses\n"
|
|
"the foe's Ability."),
|
|
.effect = EFFECT_GASTRO_ACID,
|
|
.power = 0,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GastroAcid,
|
|
},
|
|
|
|
[MOVE_LUCKY_CHANT] =
|
|
{
|
|
.name = COMPOUND_STRING("Lucky Chant"),
|
|
.description = COMPOUND_STRING(
|
|
"Prevents the foe from\n"
|
|
"landing critical hits."),
|
|
.effect = EFFECT_LUCKY_CHANT,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_EVSN_UP_1 },
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_LUCKY_CHANT,
|
|
.contestComboMoves = {COMBO_STARTER_HEAL_BELL},
|
|
.battleAnimScript = gBattleAnimMove_LuckyChant,
|
|
},
|
|
|
|
[MOVE_ME_FIRST] =
|
|
{
|
|
.name = COMPOUND_STRING("Me First"),
|
|
.description = COMPOUND_STRING(
|
|
"Executes the foe's attack\n"
|
|
"with greater power."),
|
|
.effect = EFFECT_ME_FIRST,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_OPPONENT,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_2 },
|
|
.ignoresSubstitute = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.meFirstBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.encoreBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MeFirst,
|
|
},
|
|
|
|
[MOVE_COPYCAT] =
|
|
{
|
|
.name = COMPOUND_STRING("Copycat"),
|
|
.description = COMPOUND_STRING(
|
|
"The user mimics the last\n"
|
|
"move used by a foe."),
|
|
.effect = EFFECT_COPYCAT,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ACC_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = 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,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Copycat,
|
|
},
|
|
|
|
[MOVE_POWER_SWAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Power Swap"),
|
|
.description = COMPOUND_STRING(
|
|
"Swaps changes to Attack\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresSubstitute = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PowerSwap,
|
|
},
|
|
|
|
[MOVE_GUARD_SWAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Guard Swap"),
|
|
.description = COMPOUND_STRING(
|
|
"Swaps changes to Defense\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresSubstitute = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GuardSwap,
|
|
},
|
|
|
|
[MOVE_PUNISHMENT] =
|
|
{
|
|
.name = COMPOUND_STRING("Punishment"),
|
|
.description = COMPOUND_STRING(
|
|
"Does more damage the more\n"
|
|
"the foe has powered up."),
|
|
.effect = EFFECT_PUNISHMENT,
|
|
.power = 60,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Punishment,
|
|
},
|
|
|
|
[MOVE_LAST_RESORT] =
|
|
{
|
|
.name = COMPOUND_STRING("Last Resort"),
|
|
.description = COMPOUND_STRING(
|
|
"Can only be used if every\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LastResort,
|
|
},
|
|
|
|
[MOVE_WORRY_SEED] =
|
|
{
|
|
.name = COMPOUND_STRING("Worry Seed"),
|
|
.description = COMPOUND_STRING(
|
|
"Plants a seed on the foe\n"
|
|
"giving it Insomnia."),
|
|
.effect = EFFECT_WORRY_SEED,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_WORRY_SEED,
|
|
.contestComboMoves = {COMBO_STARTER_LEECH_SEED},
|
|
.battleAnimScript = gBattleAnimMove_WorrySeed,
|
|
},
|
|
|
|
[MOVE_SUCKER_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Sucker Punch"),
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SuckerPunch,
|
|
},
|
|
|
|
[MOVE_TOXIC_SPIKES] =
|
|
{
|
|
.name = COMPOUND_STRING("Toxic Spikes"),
|
|
.description = COMPOUND_STRING(
|
|
"Sets spikes that poison a\n"
|
|
"foe switching in."),
|
|
.effect = EFFECT_TOXIC_SPIKES,
|
|
.power = 0,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_OPPONENTS_FIELD,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.forcePressure = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ToxicSpikes,
|
|
},
|
|
|
|
[MOVE_HEART_SWAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Heart Swap"),
|
|
.description = COMPOUND_STRING(
|
|
"Swaps any stat changes\n"
|
|
"with the foe."),
|
|
.effect = EFFECT_HEART_SWAP,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_BOOST_CRITS },
|
|
.ignoresSubstitute = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HeartSwap,
|
|
},
|
|
|
|
[MOVE_AQUA_RING] =
|
|
{
|
|
.name = COMPOUND_STRING("Aqua Ring"),
|
|
.description = COMPOUND_STRING(
|
|
"Forms a veil of water\n"
|
|
"that restores HP."),
|
|
.effect = EFFECT_AQUA_RING,
|
|
.power = 0,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AquaRing,
|
|
},
|
|
|
|
[MOVE_MAGNET_RISE] =
|
|
{
|
|
.name = COMPOUND_STRING("Magnet Rise"),
|
|
.description = COMPOUND_STRING(
|
|
"The user levitates with\n"
|
|
"electromagnetism."),
|
|
.effect = EFFECT_MAGNET_RISE,
|
|
.power = 0,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_EVSN_UP_1 },
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.gravityBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MagnetRise,
|
|
},
|
|
|
|
[MOVE_FLARE_BLITZ] =
|
|
{
|
|
.name = COMPOUND_STRING("Flare Blitz"),
|
|
.description = COMPOUND_STRING(
|
|
"A charge that may burn the\n"
|
|
"foe. Also hurts the user."),
|
|
.effect = EFFECT_RECOIL,
|
|
.power = 120,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .recoilPercentage = 33 },
|
|
.makesContact = TRUE,
|
|
.thawsUser = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_FlareBlitz,
|
|
},
|
|
|
|
[MOVE_FORCE_PALM] =
|
|
{
|
|
.name = COMPOUND_STRING("Force Palm"),
|
|
.description = COMPOUND_STRING(
|
|
"A shock wave attack that\n"
|
|
"may paralyze the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ForcePalm,
|
|
},
|
|
|
|
[MOVE_AURA_SPHERE] =
|
|
{
|
|
.name = COMPOUND_STRING("Aura Sphere"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with an aura blast\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.pulseMove = TRUE,
|
|
.ballisticMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AuraSphere,
|
|
},
|
|
|
|
[MOVE_ROCK_POLISH] =
|
|
{
|
|
.name = COMPOUND_STRING("Rock Polish"),
|
|
.description = COMPOUND_STRING(
|
|
"Polishes the body to\n"
|
|
"sharply raise Speed."),
|
|
.effect = EFFECT_SPEED_UP_2,
|
|
.power = 0,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RockPolish,
|
|
},
|
|
|
|
[MOVE_POISON_JAB] =
|
|
{
|
|
.name = COMPOUND_STRING("Poison Jab"),
|
|
.description = COMPOUND_STRING(
|
|
"A stabbing attack that\n"
|
|
"may poison the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PoisonJab,
|
|
},
|
|
|
|
[MOVE_DARK_PULSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Dark Pulse"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a horrible\n"
|
|
"aura. May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.pulseMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DarkPulse,
|
|
},
|
|
|
|
[MOVE_NIGHT_SLASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Night Slash"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits as soon as possible.\n"
|
|
"High critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.criticalHitStage = 1,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_NightSlash,
|
|
},
|
|
|
|
[MOVE_AQUA_TAIL] =
|
|
{
|
|
.name = COMPOUND_STRING("Aqua Tail"),
|
|
.description = COMPOUND_STRING(
|
|
"The user swings its tail\n"
|
|
"like a wave to attack."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_AquaTail,
|
|
},
|
|
|
|
[MOVE_SEED_BOMB] =
|
|
{
|
|
.name = COMPOUND_STRING("Seed Bomb"),
|
|
.description = COMPOUND_STRING(
|
|
"A barrage of hard seeds\n"
|
|
"is fired at the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ballisticMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SeedBomb,
|
|
},
|
|
|
|
[MOVE_AIR_SLASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Air Slash"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a blade of\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.slicingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AirSlash,
|
|
},
|
|
|
|
[MOVE_X_SCISSOR] =
|
|
{
|
|
.name = COMPOUND_STRING("X-Scissor"),
|
|
.description = COMPOUND_STRING(
|
|
"Slashes the foe with crossed\n"
|
|
"scythes, claws, etc."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SWORDS_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_XScissor,
|
|
},
|
|
|
|
[MOVE_BUG_BUZZ] =
|
|
{
|
|
.name = COMPOUND_STRING("Bug Buzz"),
|
|
.description = COMPOUND_STRING(
|
|
"A damaging sound wave that\n"
|
|
"may lower Sp. Def."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.soundMove = TRUE,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BugBuzz,
|
|
},
|
|
|
|
[MOVE_DRAGON_PULSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Pulse"),
|
|
.description = COMPOUND_STRING(
|
|
"Generates a shock wave to\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.pulseMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DragonPulse,
|
|
},
|
|
|
|
[MOVE_DRAGON_RUSH] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Rush"),
|
|
.description = COMPOUND_STRING(
|
|
"Tackles the foe with menace.\n"
|
|
"May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 75,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_DRAGON_RUSH,
|
|
.contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_TAIL},
|
|
.battleAnimScript = gBattleAnimMove_DragonRush,
|
|
},
|
|
|
|
[MOVE_POWER_GEM] =
|
|
{
|
|
.name = COMPOUND_STRING("Power Gem"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with rays of light\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PowerGem,
|
|
},
|
|
|
|
[MOVE_DRAIN_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Drain Punch"),
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .absorbPercentage = 50 },
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.healingMove = B_HEAL_BLOCKING >= GEN_6,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY},
|
|
.battleAnimScript = gBattleAnimMove_DrainPunch,
|
|
},
|
|
|
|
[MOVE_VACUUM_WAVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Vacuum Wave"),
|
|
.description = COMPOUND_STRING(
|
|
"Whirls its fists to send\n"
|
|
"a wave that strikes first."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_VacuumWave,
|
|
},
|
|
|
|
[MOVE_FOCUS_BLAST] =
|
|
{
|
|
.name = COMPOUND_STRING("Focus Blast"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks at full power.\n"
|
|
"May lower Sp. Def."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 70,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY},
|
|
.battleAnimScript = gBattleAnimMove_FocusBlast,
|
|
},
|
|
|
|
[MOVE_ENERGY_BALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Energy Ball"),
|
|
.description = COMPOUND_STRING(
|
|
"Draws power from nature to\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_EnergyBall,
|
|
},
|
|
|
|
[MOVE_BRAVE_BIRD] =
|
|
{
|
|
.name = COMPOUND_STRING("Brave Bird"),
|
|
.description = COMPOUND_STRING(
|
|
"A low altitude charge that\n"
|
|
"also hurts the user."),
|
|
.effect = EFFECT_RECOIL,
|
|
.power = 120,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .recoilPercentage = 33 },
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_BRAVE_BIRD,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BraveBird,
|
|
},
|
|
|
|
[MOVE_EARTH_POWER] =
|
|
{
|
|
.name = COMPOUND_STRING("Earth Power"),
|
|
.description = COMPOUND_STRING(
|
|
"Makes the ground erupt with\n"
|
|
"power. May lower Sp. Def."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.skyBattleBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_EarthPower,
|
|
},
|
|
|
|
[MOVE_SWITCHEROO] =
|
|
{
|
|
.name = COMPOUND_STRING("Switcheroo"),
|
|
.description = COMPOUND_STRING(
|
|
"Swaps items with the foe\n"
|
|
"faster than the eye can see."),
|
|
.effect = EFFECT_TRICK,
|
|
.power = 0,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_2 },
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Switcheroo,
|
|
},
|
|
|
|
[MOVE_GIGA_IMPACT] =
|
|
{
|
|
.name = COMPOUND_STRING("Giga Impact"),
|
|
.description = sHyperBeamDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 150,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECHARGE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GigaImpact,
|
|
},
|
|
|
|
[MOVE_NASTY_PLOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Nasty Plot"),
|
|
.description = COMPOUND_STRING(
|
|
"Thinks bad thoughts to\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_NastyPlot,
|
|
},
|
|
|
|
[MOVE_BULLET_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Bullet Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"Punches as fast as a bul-\n"
|
|
"let. It always hits first."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BulletPunch,
|
|
},
|
|
|
|
[MOVE_AVALANCHE] =
|
|
{
|
|
.name = COMPOUND_STRING("Avalanche"),
|
|
.description = sRevengeDescription,
|
|
.effect = EFFECT_REVENGE,
|
|
.power = 60,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = -4,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Avalanche,
|
|
},
|
|
|
|
[MOVE_ICE_SHARD] =
|
|
{
|
|
.name = COMPOUND_STRING("Ice Shard"),
|
|
.description = COMPOUND_STRING(
|
|
"Hurls a chunk of ice that\n"
|
|
"always strikes first."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_IceShard,
|
|
},
|
|
|
|
[MOVE_SHADOW_CLAW] =
|
|
{
|
|
.name = COMPOUND_STRING("Shadow Claw"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes with a shadow claw.\n"
|
|
"High critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.criticalHitStage = 1,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ShadowClaw,
|
|
},
|
|
|
|
[MOVE_THUNDER_FANG] =
|
|
{
|
|
.name = COMPOUND_STRING("Thunder Fang"),
|
|
.description = COMPOUND_STRING(
|
|
"May cause flinching or\n"
|
|
"leave the foe paralyzed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 95,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.bitingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 10,
|
|
},
|
|
{
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_THUNDER_FANG,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_FANG, COMBO_STARTER_ICE_FANG},
|
|
.battleAnimScript = gBattleAnimMove_ThunderFang,
|
|
},
|
|
|
|
[MOVE_ICE_FANG] =
|
|
{
|
|
.name = COMPOUND_STRING("Ice Fang"),
|
|
.description = COMPOUND_STRING(
|
|
"May cause flinching or\n"
|
|
#if B_USE_FROSTBITE == TRUE
|
|
"leave the foe with frostbite."),
|
|
#else
|
|
"leave the foe frozen."),
|
|
#endif
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 95,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.bitingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE,
|
|
.chance = 10,
|
|
},
|
|
{
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_ICE_FANG,
|
|
.contestComboMoves = {COMBO_STARTER_FIRE_FANG, COMBO_STARTER_THUNDER_FANG},
|
|
.battleAnimScript = gBattleAnimMove_IceFang,
|
|
},
|
|
|
|
[MOVE_FIRE_FANG] =
|
|
{
|
|
.name = COMPOUND_STRING("Fire Fang"),
|
|
.description = COMPOUND_STRING(
|
|
"May cause flinching or\n"
|
|
"leave the foe with a burn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 95,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.bitingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 10,
|
|
},
|
|
{
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_FIRE_FANG,
|
|
.contestComboMoves = {COMBO_STARTER_ICE_FANG, COMBO_STARTER_THUNDER_FANG},
|
|
.battleAnimScript = gBattleAnimMove_FireFang,
|
|
},
|
|
|
|
[MOVE_SHADOW_SNEAK] =
|
|
{
|
|
.name = COMPOUND_STRING("Shadow Sneak"),
|
|
.description = COMPOUND_STRING(
|
|
"Extends the user's shadow\n"
|
|
"to strike first."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ShadowSneak,
|
|
},
|
|
|
|
[MOVE_MUD_BOMB] =
|
|
{
|
|
.name = COMPOUND_STRING("Mud Bomb"),
|
|
.description = COMPOUND_STRING(
|
|
"Throws a blob of mud to\n"
|
|
"damage and cut accuracy."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 85,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ACC_MINUS_1,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MudBomb,
|
|
},
|
|
|
|
[MOVE_PSYCHO_CUT] =
|
|
{
|
|
.name = COMPOUND_STRING("Psycho Cut"),
|
|
.description = COMPOUND_STRING(
|
|
"Tears with psychic blades.\n"
|
|
"High critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.criticalHitStage = 1,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.slicingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PsychoCut,
|
|
},
|
|
|
|
[MOVE_ZEN_HEADBUTT] =
|
|
{
|
|
.name = COMPOUND_STRING("Zen Headbutt"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits with a strong head-\n"
|
|
"butt. May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 90,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ZenHeadbutt,
|
|
},
|
|
|
|
[MOVE_MIRROR_SHOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Mirror Shot"),
|
|
.description = COMPOUND_STRING(
|
|
"Emits a flash of energy to\n"
|
|
"damage and cut accuracy."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 85,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ACC_MINUS_1,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MirrorShot,
|
|
},
|
|
|
|
[MOVE_FLASH_CANNON] =
|
|
{
|
|
.name = COMPOUND_STRING("Flash Cannon"),
|
|
.description = COMPOUND_STRING(
|
|
"Releases a blast of light\n"
|
|
"that may lower Sp. Def."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FlashCannon,
|
|
},
|
|
|
|
[MOVE_ROCK_CLIMB] =
|
|
{
|
|
.name = COMPOUND_STRING("Rock Climb"),
|
|
.description = COMPOUND_STRING(
|
|
"A charging attack that may\n"
|
|
"confuse the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 85,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RockClimb,
|
|
},
|
|
|
|
[MOVE_DEFOG] =
|
|
{
|
|
.name = COMPOUND_STRING("Defog"),
|
|
.description = COMPOUND_STRING(
|
|
"Removes obstacles and\n"
|
|
"lowers evasion."),
|
|
.effect = EFFECT_DEFOG,
|
|
.power = 0,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ACC_UP_1 },
|
|
//.ignoresSubstitute = TRUE, In Gen5+, the evasion drop will no longer bypass Substitute. However, this is tricky to code
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Defog,
|
|
},
|
|
|
|
[MOVE_TRICK_ROOM] =
|
|
{
|
|
.name = COMPOUND_STRING("Trick Room"),
|
|
.description = COMPOUND_STRING(
|
|
"Slower Pokémon get to move\n"
|
|
"first for 5 turns."),
|
|
.effect = EFFECT_TRICK_ROOM,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = -7,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ACC_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TrickRoom,
|
|
},
|
|
|
|
[MOVE_DRACO_METEOR] =
|
|
{
|
|
.name = COMPOUND_STRING("Draco Meteor"),
|
|
.description = COMPOUND_STRING(
|
|
"Casts comets onto the foe.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_2,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DracoMeteor,
|
|
},
|
|
|
|
[MOVE_DISCHARGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Discharge"),
|
|
.description = COMPOUND_STRING(
|
|
"Zaps all other {PKMN} with\n"
|
|
"electricity. May paralyze."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE},
|
|
.battleAnimScript = gBattleAnimMove_Discharge,
|
|
},
|
|
|
|
[MOVE_LAVA_PLUME] =
|
|
{
|
|
.name = COMPOUND_STRING("Lava Plume"),
|
|
.description = sLavaPlumeDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_LavaPlume,
|
|
},
|
|
|
|
[MOVE_LEAF_STORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Leaf Storm"),
|
|
.description = COMPOUND_STRING(
|
|
"Whips up a storm of leaves.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_2,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LeafStorm,
|
|
},
|
|
|
|
[MOVE_POWER_WHIP] =
|
|
{
|
|
.name = COMPOUND_STRING("Power Whip"),
|
|
.description = COMPOUND_STRING(
|
|
"Violently lashes the foe\n"
|
|
"with vines or tentacles."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 85,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_PowerWhip,
|
|
},
|
|
|
|
[MOVE_ROCK_WRECKER] =
|
|
{
|
|
.name = COMPOUND_STRING("Rock Wrecker"),
|
|
.description = sHyperBeamDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 150,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ballisticMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECHARGE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RockWrecker,
|
|
},
|
|
|
|
[MOVE_CROSS_POISON] =
|
|
{
|
|
.name = COMPOUND_STRING("Cross Poison"),
|
|
.description = COMPOUND_STRING(
|
|
"A slash that may poison a\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CrossPoison,
|
|
},
|
|
|
|
[MOVE_GUNK_SHOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Gunk Shot"),
|
|
.description = COMPOUND_STRING(
|
|
"Shoots filthy garbage at\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GunkShot,
|
|
},
|
|
|
|
[MOVE_IRON_HEAD] =
|
|
{
|
|
.name = COMPOUND_STRING("Iron Head"),
|
|
.description = COMPOUND_STRING(
|
|
"Slams the foe with a hard\n"
|
|
"head. May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_IronHead,
|
|
},
|
|
|
|
[MOVE_MAGNET_BOMB] =
|
|
{
|
|
.name = COMPOUND_STRING("Magnet Bomb"),
|
|
.description = COMPOUND_STRING(
|
|
"Launches a magnet that\n"
|
|
"strikes without fail."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ballisticMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MagnetBomb,
|
|
},
|
|
|
|
[MOVE_STONE_EDGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Stone Edge"),
|
|
.description = COMPOUND_STRING(
|
|
"Stabs the foe with stones.\n"
|
|
"High critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 80,
|
|
.criticalHitStage = 1,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_StoneEdge,
|
|
},
|
|
|
|
[MOVE_CAPTIVATE] =
|
|
{
|
|
.name = COMPOUND_STRING("Captivate"),
|
|
.description = COMPOUND_STRING(
|
|
"Makes the opposite gender\n"
|
|
"sharply reduce its Sp. Atk."),
|
|
.effect = EFFECT_CAPTIVATE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_2 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARM},
|
|
.battleAnimScript = gBattleAnimMove_Captivate,
|
|
},
|
|
|
|
[MOVE_STEALTH_ROCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Stealth Rock"),
|
|
.description = COMPOUND_STRING(
|
|
"Sets floating stones that\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.forcePressure = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_StealthRock,
|
|
},
|
|
|
|
[MOVE_GRASS_KNOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Grass Knot"),
|
|
.description = COMPOUND_STRING(
|
|
"A snare attack that does\n"
|
|
"more damage to heavier foes."),
|
|
.effect = EFFECT_LOW_KICK,
|
|
.power = 1,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.makesContact = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GrassKnot,
|
|
},
|
|
|
|
[MOVE_CHATTER] =
|
|
{
|
|
.name = COMPOUND_STRING("Chatter"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a sound wave\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_6,
|
|
.mimicBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
#if B_UPDATED_MOVE_DATA >= GEN_6
|
|
.chance = 100,
|
|
#elif B_UPDATED_MOVE_DATA >= GEN_5
|
|
.chance = 10,
|
|
#else
|
|
.chance = 31,
|
|
#endif
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Chatter,
|
|
},
|
|
|
|
[MOVE_JUDGMENT] =
|
|
{
|
|
.name = COMPOUND_STRING("Judgment"),
|
|
.description = COMPOUND_STRING(
|
|
"The type varies with the\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .holdEffect = HOLD_EFFECT_PLATE },
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Judgment,
|
|
},
|
|
|
|
[MOVE_BUG_BITE] =
|
|
{
|
|
.name = COMPOUND_STRING("Bug Bite"),
|
|
.description = sPluckDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BUG_BITE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BugBite,
|
|
},
|
|
|
|
[MOVE_CHARGE_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Charge Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"Fires a beam of electricity.\n"
|
|
"May raise Sp. Atk."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 70,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE},
|
|
.battleAnimScript = gBattleAnimMove_ChargeBeam,
|
|
},
|
|
|
|
[MOVE_WOOD_HAMMER] =
|
|
{
|
|
.name = COMPOUND_STRING("Wood Hammer"),
|
|
.description = COMPOUND_STRING(
|
|
"Slams the body into a foe.\n"
|
|
"The user gets hurt too."),
|
|
.effect = EFFECT_RECOIL,
|
|
.power = 120,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .recoilPercentage = 33 },
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_WoodHammer,
|
|
},
|
|
|
|
[MOVE_AQUA_JET] =
|
|
{
|
|
.name = COMPOUND_STRING("Aqua Jet"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes first by dashing\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_AquaJet,
|
|
},
|
|
|
|
[MOVE_ATTACK_ORDER] =
|
|
{
|
|
.name = COMPOUND_STRING("Attack Order"),
|
|
.description = COMPOUND_STRING(
|
|
"Underlings pummel the foe.\n"
|
|
"High critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.criticalHitStage = 1,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_ATTACK_ORDER,
|
|
.contestComboMoves = {COMBO_STARTER_DEFEND_ORDER, COMBO_STARTER_HEAL_ORDER},
|
|
.battleAnimScript = gBattleAnimMove_AttackOrder,
|
|
},
|
|
|
|
[MOVE_DEFEND_ORDER] =
|
|
{
|
|
.name = COMPOUND_STRING("Defend Order"),
|
|
.description = COMPOUND_STRING(
|
|
"Raises Defense and Sp. Def\n"
|
|
"with a living shield."),
|
|
.effect = EFFECT_COSMIC_POWER,
|
|
.power = 0,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_DEFEND_ORDER,
|
|
.contestComboMoves = {COMBO_STARTER_ATTACK_ORDER, COMBO_STARTER_HEAL_ORDER},
|
|
.battleAnimScript = gBattleAnimMove_DefendOrder,
|
|
},
|
|
|
|
[MOVE_HEAL_ORDER] =
|
|
{
|
|
.name = COMPOUND_STRING("Heal Order"),
|
|
.description = COMPOUND_STRING(
|
|
"The user's underlings show\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.healingMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_HEAL_ORDER,
|
|
.contestComboMoves = {COMBO_STARTER_ATTACK_ORDER, COMBO_STARTER_DEFEND_ORDER},
|
|
.battleAnimScript = gBattleAnimMove_HealOrder,
|
|
},
|
|
|
|
[MOVE_HEAD_SMASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Head Smash"),
|
|
.description = COMPOUND_STRING(
|
|
"A life-risking headbutt that\n"
|
|
"seriously hurts the user."),
|
|
.effect = EFFECT_RECOIL,
|
|
.power = 150,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 80,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .recoilPercentage = 50 },
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HeadSmash,
|
|
},
|
|
|
|
[MOVE_DOUBLE_HIT] =
|
|
{
|
|
.name = COMPOUND_STRING("Double Hit"),
|
|
.description = COMPOUND_STRING(
|
|
"Slams the foe with a tail\n"
|
|
"etc. Strikes twice."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 35,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.strikeCount = 2,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DoubleHit,
|
|
},
|
|
|
|
[MOVE_ROAR_OF_TIME] =
|
|
{
|
|
.name = COMPOUND_STRING("Roar of Time"),
|
|
.description = COMPOUND_STRING(
|
|
"Powerful, but leaves the\n"
|
|
"user immobile the next turn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 150,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECHARGE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RoarOfTime,
|
|
},
|
|
|
|
[MOVE_SPACIAL_REND] =
|
|
{
|
|
.name = COMPOUND_STRING("Spacial Rend"),
|
|
.description = COMPOUND_STRING(
|
|
"Tears the foe, and space.\n"
|
|
"High critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 95,
|
|
.criticalHitStage = 1,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SpacialRend,
|
|
},
|
|
|
|
[MOVE_LUNAR_DANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Lunar Dance"),
|
|
.description = sHealingWishDescription,
|
|
.effect = EFFECT_HEALING_WISH,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.healingMove = TRUE,
|
|
.danceMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LunarDance,
|
|
},
|
|
|
|
[MOVE_CRUSH_GRIP] =
|
|
{
|
|
.name = COMPOUND_STRING("Crush Grip"),
|
|
.description = sWringOutDescription,
|
|
.effect = EFFECT_POWER_BASED_ON_TARGET_HP,
|
|
.power = 120,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CrushGrip,
|
|
},
|
|
|
|
[MOVE_MAGMA_STORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Magma Storm"),
|
|
.description = COMPOUND_STRING(
|
|
"Traps the foe in a vortex\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_WRAP,
|
|
.multistring.wrapped = B_MSG_WRAPPED_MAGMA_STORM,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_MagmaStorm,
|
|
},
|
|
|
|
[MOVE_DARK_VOID] =
|
|
{
|
|
.name = COMPOUND_STRING("Dark Void"),
|
|
.description = COMPOUND_STRING(
|
|
"Drags the foes into total\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .nonVolatileStatus = MOVE_EFFECT_SLEEP },
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.magicCoatAffected = TRUE,
|
|
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DarkVoid,
|
|
},
|
|
|
|
[MOVE_SEED_FLARE] =
|
|
{
|
|
.name = COMPOUND_STRING("Seed Flare"),
|
|
.description = COMPOUND_STRING(
|
|
"Generates a shock wave that\n"
|
|
"sharply reduces Sp. Def."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 85,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_2,
|
|
.chance = 40,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SeedFlare,
|
|
},
|
|
|
|
[MOVE_OMINOUS_WIND] =
|
|
{
|
|
.name = COMPOUND_STRING("Ominous Wind"),
|
|
.description = COMPOUND_STRING(
|
|
"A repulsive attack that may\n"
|
|
"raise all stats."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ALL_STATS_UP,
|
|
.self = TRUE,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_OminousWind,
|
|
},
|
|
|
|
[MOVE_SHADOW_FORCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Shadow Force"),
|
|
.description = sShadowForceDescription,
|
|
.effect = EFFECT_SEMI_INVULNERABLE,
|
|
.power = 120,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS == GEN_6,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_VANISHEDINSTANTLY, .status = STATE_PHANTOM_FORCE },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FEINT,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ShadowForce,
|
|
},
|
|
|
|
[MOVE_HONE_CLAWS] =
|
|
{
|
|
.name = COMPOUND_STRING("Hone Claws"),
|
|
.description = COMPOUND_STRING(
|
|
"Sharpens its claws to raise\n"
|
|
"Attack and Accuracy."),
|
|
.effect = EFFECT_ATTACK_ACCURACY_UP,
|
|
.power = 0,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HoneClaws,
|
|
},
|
|
|
|
[MOVE_WIDE_GUARD] =
|
|
{
|
|
.name = COMPOUND_STRING("Wide Guard"),
|
|
.description = COMPOUND_STRING(
|
|
"Evades wide-ranging attacks\n"
|
|
"for one turn."),
|
|
.effect = EFFECT_PROTECT,
|
|
.power = 0,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 3,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_WIDE_GUARD },
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_WideGuard,
|
|
},
|
|
|
|
[MOVE_GUARD_SPLIT] =
|
|
{
|
|
.name = COMPOUND_STRING("Guard Split"),
|
|
.description = COMPOUND_STRING(
|
|
"Averages changes to Defense\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GuardSplit,
|
|
},
|
|
|
|
[MOVE_POWER_SPLIT] =
|
|
{
|
|
.name = COMPOUND_STRING("Power Split"),
|
|
.description = COMPOUND_STRING(
|
|
"Averages changes to Attack\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PowerSplit,
|
|
},
|
|
|
|
[MOVE_WONDER_ROOM] =
|
|
{
|
|
.name = COMPOUND_STRING("Wonder Room"),
|
|
.description = COMPOUND_STRING(
|
|
"Defense and Sp. Def stats\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_WonderRoom,
|
|
},
|
|
|
|
[MOVE_PSYSHOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Psyshock"),
|
|
.description = sPsyshockDescription,
|
|
.effect = EFFECT_PSYSHOCK,
|
|
.power = 80,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Psyshock,
|
|
},
|
|
|
|
[MOVE_VENOSHOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Venoshock"),
|
|
.description = COMPOUND_STRING(
|
|
"Does double damage if the\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .status = STATUS1_PSN_ANY },
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_TOXIC},
|
|
.battleAnimScript = gBattleAnimMove_Venoshock,
|
|
},
|
|
|
|
[MOVE_AUTOTOMIZE] =
|
|
{
|
|
.name = COMPOUND_STRING("Autotomize"),
|
|
.description = COMPOUND_STRING(
|
|
"Sheds additional weight to\n"
|
|
"sharply boost Speed."),
|
|
.effect = EFFECT_AUTOTOMIZE,
|
|
.power = 0,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Autotomize,
|
|
},
|
|
|
|
[MOVE_RAGE_POWDER] =
|
|
{
|
|
.name = COMPOUND_STRING("Rage Powder"),
|
|
.description = COMPOUND_STRING(
|
|
"Scatters powder to make\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.powderMove = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RagePowder,
|
|
},
|
|
|
|
[MOVE_TELEKINESIS] =
|
|
{
|
|
.name = COMPOUND_STRING("Telekinesis"),
|
|
.description = COMPOUND_STRING(
|
|
"Makes the foe float. It is\n"
|
|
"easier to hit for 3 turns."),
|
|
.effect = EFFECT_TELEKINESIS,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.gravityBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Telekinesis,
|
|
},
|
|
|
|
[MOVE_MAGIC_ROOM] =
|
|
{
|
|
.name = COMPOUND_STRING("Magic Room"),
|
|
.description = COMPOUND_STRING(
|
|
"Hold items lose their\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MagicRoom,
|
|
},
|
|
|
|
[MOVE_SMACK_DOWN] =
|
|
{
|
|
.name = COMPOUND_STRING("Smack Down"),
|
|
.description = COMPOUND_STRING(
|
|
"Throws a rock to knock the\n"
|
|
"foe down to the ground."),
|
|
.effect = EFFECT_SMACK_DOWN,
|
|
.power = 50,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.damagesAirborne = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SmackDown,
|
|
},
|
|
|
|
[MOVE_STORM_THROW] =
|
|
{
|
|
.name = COMPOUND_STRING("Storm Throw"),
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.alwaysCriticalHit = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_StormThrow,
|
|
},
|
|
|
|
[MOVE_FLAME_BURST] =
|
|
{
|
|
.name = COMPOUND_STRING("Flame Burst"),
|
|
.description = COMPOUND_STRING(
|
|
"A bursting flame that does\n"
|
|
"damage to all foes."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLAME_BURST,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FlameBurst,
|
|
},
|
|
|
|
[MOVE_SLUDGE_WAVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Sludge Wave"),
|
|
.description = COMPOUND_STRING(
|
|
"Swamps all others with a wave\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SludgeWave,
|
|
},
|
|
|
|
[MOVE_QUIVER_DANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Quiver Dance"),
|
|
.description = COMPOUND_STRING(
|
|
"Dances to raise Sp. Atk\n"
|
|
"Sp. Def and Speed."),
|
|
.effect = EFFECT_QUIVER_DANCE,
|
|
.power = 0,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.danceMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_QuiverDance,
|
|
},
|
|
|
|
[MOVE_HEAVY_SLAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Heavy Slam"),
|
|
.description = sHeavySlamDescription,
|
|
.effect = EFFECT_HEAT_CRASH,
|
|
.power = 1,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_7,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HeavySlam,
|
|
},
|
|
|
|
[MOVE_SYNCHRONOISE] =
|
|
{
|
|
.name = COMPOUND_STRING("Synchronoise"),
|
|
.description = COMPOUND_STRING(
|
|
"An odd shock wave that only\n"
|
|
"damages same-type {PKMN}."),
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Synchronoise,
|
|
},
|
|
|
|
[MOVE_ELECTRO_BALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Electro Ball"),
|
|
.description = COMPOUND_STRING(
|
|
"Hurls an orb that does more\n"
|
|
"damage to slower foes."),
|
|
.effect = EFFECT_ELECTRO_BALL,
|
|
.power = 1,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ElectroBall,
|
|
},
|
|
|
|
[MOVE_SOAK] =
|
|
{
|
|
.name = COMPOUND_STRING("Soak"),
|
|
.description = COMPOUND_STRING(
|
|
"Sprays water at the foe,\n"
|
|
"changing it to Water type."),
|
|
.effect = EFFECT_SOAK,
|
|
.power = 0,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .type = TYPE_WATER },
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Soak,
|
|
},
|
|
|
|
[MOVE_FLAME_CHARGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Flame Charge"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks in a cloak of\n"
|
|
"flames. Raises Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FlameCharge,
|
|
},
|
|
|
|
[MOVE_COIL] =
|
|
{
|
|
.name = COMPOUND_STRING("Coil"),
|
|
.description = COMPOUND_STRING(
|
|
"Coils up to raise Attack,\n"
|
|
"Defense and Accuracy."),
|
|
.effect = EFFECT_COIL,
|
|
.power = 0,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Coil,
|
|
},
|
|
|
|
[MOVE_LOW_SWEEP] =
|
|
{
|
|
.name = COMPOUND_STRING("Low Sweep"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks the foe's legs\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LowSweep,
|
|
},
|
|
|
|
[MOVE_ACID_SPRAY] =
|
|
{
|
|
.name = COMPOUND_STRING("Acid Spray"),
|
|
.description = COMPOUND_STRING(
|
|
"Sprays a hide-melting acid.\n"
|
|
"Sharply reduces Sp. Def."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_2,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AcidSpray,
|
|
},
|
|
|
|
[MOVE_FOUL_PLAY] =
|
|
{
|
|
.name = COMPOUND_STRING("Foul Play"),
|
|
.description = COMPOUND_STRING(
|
|
"The higher the foe's Attack\n"
|
|
"the more damage caused."),
|
|
.effect = EFFECT_FOUL_PLAY,
|
|
.power = 95,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FoulPlay,
|
|
},
|
|
|
|
[MOVE_SIMPLE_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Simple Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"A beam that changes the\n"
|
|
"foe's Ability to Simple."),
|
|
.effect = EFFECT_SIMPLE_BEAM,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SimpleBeam,
|
|
},
|
|
|
|
[MOVE_ENTRAINMENT] =
|
|
{
|
|
.name = COMPOUND_STRING("Entrainment"),
|
|
.description = COMPOUND_STRING(
|
|
"Makes the foe mimic the\n"
|
|
"user, gaining its Ability."),
|
|
.effect = EFFECT_ENTRAINMENT,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Entrainment,
|
|
},
|
|
|
|
[MOVE_AFTER_YOU] =
|
|
{
|
|
.name = COMPOUND_STRING("After You"),
|
|
.description = COMPOUND_STRING(
|
|
"Helps out the target, letting\n"
|
|
"it move next."),
|
|
.effect = EFFECT_AFTER_YOU,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AfterYou,
|
|
},
|
|
|
|
[MOVE_ROUND] =
|
|
{
|
|
.name = COMPOUND_STRING("Round"),
|
|
.description = COMPOUND_STRING(
|
|
"A song that inflicts damage.\n"
|
|
"Others can join in too."),
|
|
.effect = EFFECT_ROUND,
|
|
.power = 60,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ROUND,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Round,
|
|
},
|
|
|
|
[MOVE_ECHOED_VOICE] =
|
|
{
|
|
.name = COMPOUND_STRING("Echoed Voice"),
|
|
.description = COMPOUND_STRING(
|
|
"Does more damage every turn\n"
|
|
"it is used."),
|
|
.effect = EFFECT_ECHOED_VOICE,
|
|
.power = 40,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_EchoedVoice,
|
|
},
|
|
|
|
[MOVE_CHIP_AWAY] =
|
|
{
|
|
.name = COMPOUND_STRING("Chip Away"),
|
|
.description = sChipAwayDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresTargetDefenseEvasionStages = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ChipAway,
|
|
},
|
|
|
|
[MOVE_CLEAR_SMOG] =
|
|
{
|
|
.name = COMPOUND_STRING("Clear Smog"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with white haze that\n"
|
|
"eliminates all stat changes."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CLEAR_SMOG,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ClearSmog,
|
|
},
|
|
|
|
[MOVE_STORED_POWER] =
|
|
{
|
|
.name = COMPOUND_STRING("Stored Power"),
|
|
.description = COMPOUND_STRING(
|
|
"The higher the user's stats\n"
|
|
"the more damage caused."),
|
|
.effect = EFFECT_STORED_POWER,
|
|
.power = 20,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_StoredPower,
|
|
},
|
|
|
|
[MOVE_QUICK_GUARD] =
|
|
{
|
|
.name = COMPOUND_STRING("Quick Guard"),
|
|
.description = COMPOUND_STRING(
|
|
"Evades priority attacks\n"
|
|
"for one turn."),
|
|
.effect = EFFECT_PROTECT,
|
|
.power = 0,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 3,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_QUICK_GUARD, },
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_QuickGuard,
|
|
},
|
|
|
|
[MOVE_ALLY_SWITCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Ally Switch"),
|
|
.description = COMPOUND_STRING(
|
|
"The user switches places\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_2 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AllySwitch,
|
|
},
|
|
|
|
[MOVE_SCALD] =
|
|
{
|
|
.name = COMPOUND_STRING("Scald"),
|
|
.description = COMPOUND_STRING(
|
|
"Shoots boiling water at the\n"
|
|
"foe. May inflict a burn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.thawsUser = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_SCALD,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Scald,
|
|
},
|
|
|
|
[MOVE_SHELL_SMASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Shell Smash"),
|
|
.description = COMPOUND_STRING(
|
|
"Sharply raises Atk/Sp.Atk/\n"
|
|
"Speed, but drops Def/Sp.Def."),
|
|
.effect = EFFECT_SHELL_SMASH,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ShellSmash,
|
|
},
|
|
|
|
[MOVE_HEAL_PULSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Heal Pulse"),
|
|
.description = COMPOUND_STRING(
|
|
"Recovers up to half the\n"
|
|
"target's maximum HP."),
|
|
.effect = EFFECT_HEAL_PULSE,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.magicCoatAffected = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.healingMove = TRUE,
|
|
.pulseMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HealPulse,
|
|
},
|
|
|
|
[MOVE_HEX] =
|
|
{
|
|
.name = COMPOUND_STRING("Hex"),
|
|
.description = COMPOUND_STRING(
|
|
"Does double damage if the\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.zMove = { .powerOverride = 160 },
|
|
.argument = { .status = STATUS1_ANY },
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_TOXIC},
|
|
.battleAnimScript = gBattleAnimMove_Hex,
|
|
},
|
|
|
|
[MOVE_SKY_DROP] =
|
|
{
|
|
.name = COMPOUND_STRING("Sky Drop"),
|
|
.description = COMPOUND_STRING(
|
|
"Takes the foe into the sky\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.gravityBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_PKMNTOOKTARGETHIGH, .status = STATE_ON_AIR },
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SkyDrop,
|
|
},
|
|
|
|
[MOVE_SHIFT_GEAR] =
|
|
{
|
|
.name = COMPOUND_STRING("Shift Gear"),
|
|
.description = COMPOUND_STRING(
|
|
"Rotates its gears to raise\n"
|
|
"Attack and Speed."),
|
|
.effect = EFFECT_SHIFT_GEAR,
|
|
.power = 0,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ShiftGear,
|
|
},
|
|
|
|
[MOVE_CIRCLE_THROW] =
|
|
{
|
|
.name = COMPOUND_STRING("Circle Throw"),
|
|
.description = sCircleThrowDescription,
|
|
.effect = EFFECT_HIT_SWITCH_TARGET,
|
|
.power = 60,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = -6,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CircleThrow,
|
|
},
|
|
|
|
[MOVE_INCINERATE] =
|
|
{
|
|
.name = COMPOUND_STRING("Incinerate"),
|
|
.description = COMPOUND_STRING(
|
|
"Burns up Berries and Gems\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_INCINERATE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Incinerate,
|
|
},
|
|
|
|
[MOVE_QUASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Quash"),
|
|
.description = COMPOUND_STRING(
|
|
"Suppresses the foe, making\n"
|
|
"it move last."),
|
|
.effect = EFFECT_QUASH,
|
|
.power = 0,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Quash,
|
|
},
|
|
|
|
[MOVE_ACROBATICS] =
|
|
{
|
|
.name = COMPOUND_STRING("Acrobatics"),
|
|
.description = COMPOUND_STRING(
|
|
"Does double damage if the\n"
|
|
"user has no item."),
|
|
.effect = EFFECT_ACROBATICS,
|
|
.power = 55,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Acrobatics,
|
|
},
|
|
|
|
[MOVE_REFLECT_TYPE] =
|
|
{
|
|
.name = COMPOUND_STRING("Reflect Type"),
|
|
.description = COMPOUND_STRING(
|
|
"The user reflects the foe's\n"
|
|
"type, copying it."),
|
|
.effect = EFFECT_REFLECT_TYPE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ReflectType,
|
|
},
|
|
|
|
[MOVE_RETALIATE] =
|
|
{
|
|
.name = COMPOUND_STRING("Retaliate"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that does more\n"
|
|
"damage if an ally fainted."),
|
|
.effect = EFFECT_RETALIATE,
|
|
.power = 70,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Retaliate,
|
|
},
|
|
|
|
[MOVE_FINAL_GAMBIT] =
|
|
{
|
|
.name = COMPOUND_STRING("Final Gambit"),
|
|
.description = COMPOUND_STRING(
|
|
"The user faints to damage\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.parentalBondBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FinalGambit,
|
|
},
|
|
|
|
[MOVE_BESTOW] =
|
|
{
|
|
.name = COMPOUND_STRING("Bestow"),
|
|
.description = COMPOUND_STRING(
|
|
"The user gives its held\n"
|
|
"item to the foe."),
|
|
.effect = EFFECT_BESTOW,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_2 },
|
|
.ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Bestow,
|
|
},
|
|
|
|
[MOVE_INFERNO] =
|
|
{
|
|
.name = COMPOUND_STRING("Inferno"),
|
|
.description = COMPOUND_STRING(
|
|
"Powerful and sure to inflict\n"
|
|
"a burn, but inaccurate."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 50,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Inferno,
|
|
},
|
|
|
|
[MOVE_WATER_PLEDGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Water Pledge"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a column of\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_WaterPledge,
|
|
},
|
|
|
|
[MOVE_FIRE_PLEDGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Fire Pledge"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a column of\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FirePledge,
|
|
},
|
|
|
|
[MOVE_GRASS_PLEDGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Grass Pledge"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a column of\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GrassPledge,
|
|
},
|
|
|
|
[MOVE_VOLT_SWITCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Volt Switch"),
|
|
.description = sUTurnDescription,
|
|
.effect = EFFECT_HIT_ESCAPE,
|
|
.power = 70,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_VoltSwitch,
|
|
},
|
|
|
|
[MOVE_STRUGGLE_BUG] =
|
|
{
|
|
.name = COMPOUND_STRING("Struggle Bug"),
|
|
.description = COMPOUND_STRING(
|
|
"Resisting, the user attacks\n"
|
|
"the foes. 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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_StruggleBug,
|
|
},
|
|
|
|
[MOVE_BULLDOZE] =
|
|
{
|
|
.name = COMPOUND_STRING("Bulldoze"),
|
|
.description = COMPOUND_STRING(
|
|
"Stomps down on the ground.\n"
|
|
"Hits all and lowers Speed."),
|
|
.effect = EFFECT_EARTHQUAKE,
|
|
.power = 60,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.skyBattleBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Bulldoze,
|
|
},
|
|
|
|
[MOVE_FROST_BREATH] =
|
|
{
|
|
.name = COMPOUND_STRING("Frost Breath"),
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.alwaysCriticalHit = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FrostBreath,
|
|
},
|
|
|
|
[MOVE_DRAGON_TAIL] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Tail"),
|
|
.description = sCircleThrowDescription,
|
|
.effect = EFFECT_HIT_SWITCH_TARGET,
|
|
.power = 60,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = -6,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = COMBO_STARTER_DRAGON_TAIL,
|
|
.contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH},
|
|
.battleAnimScript = gBattleAnimMove_DragonTail,
|
|
},
|
|
|
|
[MOVE_WORK_UP] =
|
|
{
|
|
.name = COMPOUND_STRING("Work Up"),
|
|
.description = COMPOUND_STRING(
|
|
"The user is roused.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_WorkUp,
|
|
},
|
|
|
|
[MOVE_ELECTROWEB] =
|
|
{
|
|
.name = COMPOUND_STRING("Electroweb"),
|
|
.description = COMPOUND_STRING(
|
|
"Snares the foes with an\n"
|
|
"electric net. Lowers Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 55,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 95,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Electroweb,
|
|
},
|
|
|
|
[MOVE_WILD_CHARGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Wild Charge"),
|
|
.description = COMPOUND_STRING(
|
|
"An electrical tackle that\n"
|
|
"also hurts the user."),
|
|
.effect = EFFECT_RECOIL,
|
|
.power = 90,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .recoilPercentage = 25 },
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_WildCharge,
|
|
},
|
|
|
|
[MOVE_DRILL_RUN] =
|
|
{
|
|
.name = COMPOUND_STRING("Drill Run"),
|
|
.description = COMPOUND_STRING(
|
|
"Spins its body like a drill.\n"
|
|
"High critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 95,
|
|
.criticalHitStage = 1,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DrillRun,
|
|
},
|
|
|
|
[MOVE_DUAL_CHOP] =
|
|
{
|
|
.name = COMPOUND_STRING("Dual Chop"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with brutal hits\n"
|
|
"that strike twice."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 90,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.strikeCount = 2,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DualChop,
|
|
},
|
|
|
|
[MOVE_HEART_STAMP] =
|
|
{
|
|
.name = COMPOUND_STRING("Heart Stamp"),
|
|
.description = COMPOUND_STRING(
|
|
"A sudden blow after a cute\n"
|
|
"act. May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HeartStamp,
|
|
},
|
|
|
|
[MOVE_HORN_LEECH] =
|
|
{
|
|
.name = COMPOUND_STRING("Horn Leech"),
|
|
.description = sMegaDrainDescription,
|
|
.effect = EFFECT_ABSORB,
|
|
.power = 75,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .absorbPercentage = 50 },
|
|
.makesContact = TRUE,
|
|
.healingMove = B_HEAL_BLOCKING >= GEN_6,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HornLeech,
|
|
},
|
|
|
|
[MOVE_SACRED_SWORD] =
|
|
{
|
|
.name = COMPOUND_STRING("Sacred Sword"),
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresTargetDefenseEvasionStages = TRUE,
|
|
.slicingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SacredSword,
|
|
},
|
|
|
|
[MOVE_RAZOR_SHELL] =
|
|
{
|
|
.name = COMPOUND_STRING("Razor Shell"),
|
|
.description = COMPOUND_STRING(
|
|
"Tears at the foe with sharp\n"
|
|
"shells. May lower Defense."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 75,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 95,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.chance = 50,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RazorShell,
|
|
},
|
|
|
|
[MOVE_HEAT_CRASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Heat Crash"),
|
|
.description = sHeavySlamDescription,
|
|
.effect = EFFECT_HEAT_CRASH,
|
|
.power = 1,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HeatCrash,
|
|
},
|
|
|
|
[MOVE_LEAF_TORNADO] =
|
|
{
|
|
.name = COMPOUND_STRING("Leaf Tornado"),
|
|
.description = COMPOUND_STRING(
|
|
"Circles the foe with leaves\n"
|
|
"to damage and cut accuracy."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ACC_MINUS_1,
|
|
.chance = 50,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LeafTornado,
|
|
},
|
|
|
|
[MOVE_STEAMROLLER] =
|
|
{
|
|
.name = COMPOUND_STRING("Steamroller"),
|
|
.description = COMPOUND_STRING(
|
|
"Crushes the foe with its\n"
|
|
"body. May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.minimizeDoubleDamage = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Steamroller,
|
|
},
|
|
|
|
[MOVE_COTTON_GUARD] =
|
|
{
|
|
.name = COMPOUND_STRING("Cotton Guard"),
|
|
.description = COMPOUND_STRING(
|
|
"Wraps its body in cotton.\n"
|
|
"Drastically raises Defense."),
|
|
.effect = EFFECT_DEFENSE_UP_3,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CottonGuard,
|
|
},
|
|
|
|
[MOVE_NIGHT_DAZE] =
|
|
{
|
|
.name = COMPOUND_STRING("Night Daze"),
|
|
.description = COMPOUND_STRING(
|
|
"Looses a pitch-black shock\n"
|
|
"wave. May lower accuracy."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 85,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 95,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ACC_MINUS_1,
|
|
.chance = 40,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_NightDaze,
|
|
},
|
|
|
|
[MOVE_PSYSTRIKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Psystrike"),
|
|
.description = sPsyshockDescription,
|
|
.effect = EFFECT_PSYSHOCK,
|
|
.power = 100,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Psystrike,
|
|
},
|
|
|
|
[MOVE_TAIL_SLAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Tail Slap"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes the foe with its\n"
|
|
"tail 2 to 5 times."),
|
|
.effect = EFFECT_MULTI_HIT,
|
|
.power = 25,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 85,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TailSlap,
|
|
},
|
|
|
|
[MOVE_HURRICANE] =
|
|
{
|
|
.name = COMPOUND_STRING("Hurricane"),
|
|
.description = COMPOUND_STRING(
|
|
"Traps the foe in a fierce\n"
|
|
"wind. May cause confusion."),
|
|
.effect = EFFECT_HIT,
|
|
.power = B_UPDATED_MOVE_DATA >= GEN_6 ? 110 : 120,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 70,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = TRUE,
|
|
.damagesAirborne = TRUE,
|
|
.alwaysHitsInRain = TRUE,
|
|
.accuracy50InSun = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Hurricane,
|
|
},
|
|
|
|
[MOVE_HEAD_CHARGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Head Charge"),
|
|
.description = COMPOUND_STRING(
|
|
"A charge using guard hair.\n"
|
|
"It hurts the user a little."),
|
|
.effect = EFFECT_RECOIL,
|
|
.power = 120,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .recoilPercentage = 25 },
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HeadCharge,
|
|
},
|
|
|
|
[MOVE_GEAR_GRIND] =
|
|
{
|
|
.name = COMPOUND_STRING("Gear Grind"),
|
|
.description = COMPOUND_STRING(
|
|
"Throws two steel gears\n"
|
|
"that strike twice."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 85,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.zMove = { .powerOverride = 180 },
|
|
.makesContact = TRUE,
|
|
.strikeCount = 2,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GearGrind,
|
|
},
|
|
|
|
[MOVE_SEARING_SHOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Searing Shot"),
|
|
.description = sLavaPlumeDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SearingShot,
|
|
},
|
|
|
|
[MOVE_TECHNO_BLAST] =
|
|
{
|
|
.name = COMPOUND_STRING("Techno Blast"),
|
|
.description = COMPOUND_STRING(
|
|
"The type varies with the\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .holdEffect = HOLD_EFFECT_DRIVE },
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TechnoBlast,
|
|
},
|
|
|
|
[MOVE_RELIC_SONG] =
|
|
{
|
|
.name = COMPOUND_STRING("Relic Song"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with an ancient\n"
|
|
"song. May induce sleep."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 75,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .status = STATUS1_SLEEP },
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SLEEP,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RelicSong,
|
|
},
|
|
|
|
[MOVE_SECRET_SWORD] =
|
|
{
|
|
.name = COMPOUND_STRING("Secret Sword"),
|
|
.description = COMPOUND_STRING(
|
|
"Cuts with a long horn that\n"
|
|
"does physical damage."),
|
|
.effect = EFFECT_PSYSHOCK,
|
|
.power = 85,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.slicingMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SecretSword,
|
|
},
|
|
|
|
[MOVE_GLACIATE] =
|
|
{
|
|
.name = COMPOUND_STRING("Glaciate"),
|
|
.description = COMPOUND_STRING(
|
|
"Blows very cold air at the\n"
|
|
"foes. It lowers their Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 65,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 95,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Glaciate,
|
|
},
|
|
|
|
[MOVE_BOLT_STRIKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Bolt Strike"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes with a great amount\n"
|
|
"of lightning. May paralyze."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 130,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 85,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BoltStrike,
|
|
},
|
|
|
|
[MOVE_BLUE_FLARE] =
|
|
{
|
|
.name = COMPOUND_STRING("Blue Flare"),
|
|
.description = COMPOUND_STRING(
|
|
"Engulfs the foe in a blue\n"
|
|
"flame. May inflict a burn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 130,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 85,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BlueFlare,
|
|
},
|
|
|
|
[MOVE_FIERY_DANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Fiery Dance"),
|
|
.description = COMPOUND_STRING(
|
|
"Dances cloaked in flames.\n"
|
|
"May raise Sp. Atk."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.danceMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 50,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FieryDance,
|
|
},
|
|
|
|
[MOVE_FREEZE_SHOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Freeze Shock"),
|
|
.description = COMPOUND_STRING(
|
|
"A powerful 2-turn move that\n"
|
|
"may paralyze the foe."),
|
|
.effect = EFFECT_TWO_TURNS_ATTACK,
|
|
.power = 140,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_CLOAKEDINAFREEZINGLIGHT },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FreezeShock,
|
|
},
|
|
|
|
[MOVE_ICE_BURN] =
|
|
{
|
|
.name = COMPOUND_STRING("Ice Burn"),
|
|
.description = COMPOUND_STRING(
|
|
"A powerful 2-turn move that\n"
|
|
"may inflict a burn."),
|
|
.effect = EFFECT_TWO_TURNS_ATTACK,
|
|
.power = 140,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_CLOAKEDINAFREEZINGLIGHT },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_IceBurn,
|
|
},
|
|
|
|
[MOVE_SNARL] =
|
|
{
|
|
.name = COMPOUND_STRING("Snarl"),
|
|
.description = COMPOUND_STRING(
|
|
"Yells and rants at the foe\n"
|
|
"lowering its Sp. Atk."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 55,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 95,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Snarl,
|
|
},
|
|
|
|
[MOVE_ICICLE_CRASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Icicle Crash"),
|
|
.description = COMPOUND_STRING(
|
|
"Drops large icicles on the\n"
|
|
"foe. May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 85,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_IcicleCrash,
|
|
},
|
|
|
|
[MOVE_V_CREATE] =
|
|
{
|
|
.name = COMPOUND_STRING("V-create"),
|
|
.description = COMPOUND_STRING(
|
|
"Very powerful, but lowers\n"
|
|
"Defense, Sp. Def and Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 180,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 95,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.zMove = { .powerOverride = 220 },
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_V_CREATE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_VCreate,
|
|
},
|
|
|
|
[MOVE_FUSION_FLARE] =
|
|
{
|
|
.name = COMPOUND_STRING("Fusion Flare"),
|
|
.description = COMPOUND_STRING(
|
|
"Summons a fireball. Works\n"
|
|
"well with a thunderbolt."),
|
|
.effect = EFFECT_FUSION_COMBO,
|
|
.power = 100,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.thawsUser = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FusionFlare,
|
|
},
|
|
|
|
[MOVE_FUSION_BOLT] =
|
|
{
|
|
.name = COMPOUND_STRING("Fusion Bolt"),
|
|
.description = COMPOUND_STRING(
|
|
"Summons a thunderbolt.\n"
|
|
"Works well with a fireball."),
|
|
.effect = EFFECT_FUSION_COMBO,
|
|
.power = 100,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FusionBolt,
|
|
},
|
|
|
|
[MOVE_FLYING_PRESS] =
|
|
{
|
|
.name = COMPOUND_STRING("Flying Press"),
|
|
.description = COMPOUND_STRING(
|
|
"This attack does Fighting\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.zMove = { .powerOverride = 170 },
|
|
.argument = { .type = TYPE_FLYING },
|
|
.makesContact = TRUE,
|
|
.minimizeDoubleDamage = TRUE,
|
|
.gravityBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FlyingPress,
|
|
},
|
|
|
|
[MOVE_MAT_BLOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Mat Block"),
|
|
.description = COMPOUND_STRING(
|
|
"Evades damaging moves.\n"
|
|
"Only works on 1st turn."),
|
|
.effect = EFFECT_MAT_BLOCK,
|
|
.power = 0,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_MAT_BLOCK, },
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MatBlock,
|
|
},
|
|
|
|
[MOVE_BELCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Belch"),
|
|
.description = COMPOUND_STRING(
|
|
"Lets out a loud belch.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.meFirstBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Belch,
|
|
},
|
|
|
|
[MOVE_ROTOTILLER] =
|
|
{
|
|
.name = COMPOUND_STRING("Rototiller"),
|
|
.description = COMPOUND_STRING(
|
|
"Ups the Attack and Sp. Atk\n"
|
|
"of Grass-type Pokémon."),
|
|
.effect = EFFECT_ROTOTILLER,
|
|
.power = 0,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Rototiller,
|
|
},
|
|
|
|
[MOVE_STICKY_WEB] =
|
|
{
|
|
.name = COMPOUND_STRING("Sticky Web"),
|
|
.description = COMPOUND_STRING(
|
|
"Weaves a sticky net that\n"
|
|
"slows foes switching in."),
|
|
.effect = EFFECT_STICKY_WEB,
|
|
.power = 0,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_OPPONENTS_FIELD,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.magicCoatAffected = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_StickyWeb,
|
|
},
|
|
|
|
[MOVE_FELL_STINGER] =
|
|
{
|
|
.name = COMPOUND_STRING("Fell Stinger"),
|
|
.description = COMPOUND_STRING(
|
|
"If it knocks out a foe\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FellStinger,
|
|
},
|
|
|
|
[MOVE_PHANTOM_FORCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Phantom Force"),
|
|
.description = sShadowForceDescription,
|
|
.effect = EFFECT_SEMI_INVULNERABLE,
|
|
.power = 90,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresProtect = TRUE,
|
|
.makesContact = TRUE,
|
|
.minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS == GEN_6,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_VANISHEDINSTANTLY, .status = STATE_PHANTOM_FORCE },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FEINT,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PhantomForce,
|
|
},
|
|
|
|
[MOVE_TRICK_OR_TREAT] =
|
|
{
|
|
.name = COMPOUND_STRING("Trick-or-Treat"),
|
|
.description = COMPOUND_STRING(
|
|
"Goes trick-or-treating,\n"
|
|
"adding Ghost type to foe."),
|
|
.effect = EFFECT_THIRD_TYPE,
|
|
.power = 0,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .type = TYPE_GHOST },
|
|
.zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TrickOrTreat,
|
|
},
|
|
|
|
[MOVE_NOBLE_ROAR] =
|
|
{
|
|
.name = COMPOUND_STRING("Noble Roar"),
|
|
.description = COMPOUND_STRING(
|
|
"Intimidates the foe, to cut\n"
|
|
"Attack and Sp. Atk."),
|
|
.effect = EFFECT_NOBLE_ROAR,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.magicCoatAffected = TRUE,
|
|
.soundMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_NobleRoar,
|
|
},
|
|
|
|
[MOVE_ION_DELUGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Ion Deluge"),
|
|
.description = COMPOUND_STRING(
|
|
"Electrifies Normal-type\n"
|
|
"moves with charged atoms."),
|
|
.effect = EFFECT_ION_DELUGE,
|
|
.power = 0,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 25,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_IonDeluge,
|
|
},
|
|
|
|
[MOVE_PARABOLIC_CHARGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Parabolic Charge"),
|
|
.description = COMPOUND_STRING(
|
|
"Damages adjacent Pokémon\n"
|
|
"and 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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .absorbPercentage = 50 },
|
|
.healingMove = B_HEAL_BLOCKING >= GEN_6,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ParabolicCharge,
|
|
},
|
|
|
|
[MOVE_FORESTS_CURSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Forest's Curse"),
|
|
.description = COMPOUND_STRING(
|
|
"Puts a curse on the foe,\n"
|
|
"adding the Grass type."),
|
|
.effect = EFFECT_THIRD_TYPE,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .type = TYPE_GRASS },
|
|
.zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ForestsCurse,
|
|
},
|
|
|
|
[MOVE_PETAL_BLIZZARD] =
|
|
{
|
|
.name = COMPOUND_STRING("Petal Blizzard"),
|
|
.description = COMPOUND_STRING(
|
|
"Stirs up a violent storm\n"
|
|
"of petals to attack all."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.windMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PetalBlizzard,
|
|
},
|
|
|
|
[MOVE_FREEZE_DRY] =
|
|
{
|
|
.name = COMPOUND_STRING("Freeze-Dry"),
|
|
.description = COMPOUND_STRING(
|
|
"Super effective on Water-\n"
|
|
#if B_USE_FROSTBITE == TRUE
|
|
"types. May cause frostbite."),
|
|
#else
|
|
"types. May cause freezing."),
|
|
#endif
|
|
.effect = EFFECT_SUPER_EFFECTIVE_ON_ARG,
|
|
.power = 70,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .type = TYPE_WATER },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FreezeDry,
|
|
},
|
|
|
|
[MOVE_DISARMING_VOICE] =
|
|
{
|
|
.name = COMPOUND_STRING("Disarming Voice"),
|
|
.description = COMPOUND_STRING(
|
|
"Lets out a charming cry\n"
|
|
"that cannot be evaded."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DisarmingVoice,
|
|
},
|
|
|
|
[MOVE_PARTING_SHOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Parting Shot"),
|
|
.description = COMPOUND_STRING(
|
|
"Lowers the foe's Attack and\n"
|
|
"Sp. Atk, then switches out."),
|
|
.effect = EFFECT_PARTING_SHOT,
|
|
.power = 0,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESTORE_REPLACEMENT_HP },
|
|
.magicCoatAffected = TRUE,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PartingShot,
|
|
},
|
|
|
|
[MOVE_TOPSY_TURVY] =
|
|
{
|
|
.name = COMPOUND_STRING("Topsy-Turvy"),
|
|
.description = COMPOUND_STRING(
|
|
"Swaps all stat changes that\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TopsyTurvy,
|
|
},
|
|
|
|
[MOVE_DRAINING_KISS] =
|
|
{
|
|
.name = COMPOUND_STRING("Draining Kiss"),
|
|
.description = sDrainingKissDescription,
|
|
.effect = EFFECT_ABSORB,
|
|
.power = 50,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .absorbPercentage = 75 },
|
|
.makesContact = TRUE,
|
|
.healingMove = B_HEAL_BLOCKING >= GEN_6,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DrainingKiss,
|
|
},
|
|
|
|
[MOVE_CRAFTY_SHIELD] =
|
|
{
|
|
.name = COMPOUND_STRING("Crafty Shield"),
|
|
.description = COMPOUND_STRING(
|
|
"Evades status moves for\n"
|
|
"one turn."),
|
|
.effect = EFFECT_PROTECT,
|
|
.power = 0,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 3,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_CRAFTY_SHIELD },
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CraftyShield,
|
|
},
|
|
|
|
[MOVE_FLOWER_SHIELD] =
|
|
{
|
|
.name = COMPOUND_STRING("Flower Shield"),
|
|
.description = COMPOUND_STRING(
|
|
"Raises the Defense of\n"
|
|
"Grass-type Pokémon."),
|
|
.effect = EFFECT_FLOWER_SHIELD,
|
|
.power = 0,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER, // The targeting of Flower Shield is handled through a script
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FlowerShield,
|
|
},
|
|
|
|
[MOVE_GRASSY_TERRAIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Grassy Terrain"),
|
|
.description = COMPOUND_STRING(
|
|
"The ground turns to grass\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_GRASSY_TERRAIN,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GrassyTerrain,
|
|
},
|
|
|
|
[MOVE_MISTY_TERRAIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Misty Terrain"),
|
|
.description = COMPOUND_STRING(
|
|
"Covers the ground with mist\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = COMBO_STARTER_MISTY_TERRAIN,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MistyTerrain,
|
|
},
|
|
|
|
[MOVE_ELECTRIFY] =
|
|
{
|
|
.name = COMPOUND_STRING("Electrify"),
|
|
.description = COMPOUND_STRING(
|
|
"Electrifies the foe, making\n"
|
|
"its next move Electric-type."),
|
|
.effect = EFFECT_ELECTRIFY,
|
|
.power = 0,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Electrify,
|
|
},
|
|
|
|
[MOVE_PLAY_ROUGH] =
|
|
{
|
|
.name = COMPOUND_STRING("Play Rough"),
|
|
.description = COMPOUND_STRING(
|
|
"Plays rough with the foe.\n"
|
|
"May lower Attack."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_MINUS_1,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PlayRough,
|
|
},
|
|
|
|
[MOVE_FAIRY_WIND] =
|
|
{
|
|
.name = COMPOUND_STRING("Fairy Wind"),
|
|
.description = COMPOUND_STRING(
|
|
"Stirs up a fairy wind to\n"
|
|
"strike the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FairyWind,
|
|
},
|
|
|
|
[MOVE_MOONBLAST] =
|
|
{
|
|
.name = COMPOUND_STRING("Moonblast"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with the power of\n"
|
|
"the moon. May lower Sp. Atk."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 95,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Moonblast,
|
|
},
|
|
|
|
[MOVE_BOOMBURST] =
|
|
{
|
|
.name = COMPOUND_STRING("Boomburst"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks everything with a\n"
|
|
"destructive sound wave."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 140,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Boomburst,
|
|
},
|
|
|
|
[MOVE_FAIRY_LOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Fairy Lock"),
|
|
.description = COMPOUND_STRING(
|
|
"Locks down the battlefield\n"
|
|
"preventing escape next turn."),
|
|
.effect = EFFECT_FAIRY_LOCK,
|
|
.power = 0,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FairyLock,
|
|
},
|
|
|
|
[MOVE_KINGS_SHIELD] =
|
|
{
|
|
.name = COMPOUND_STRING("King's Shield"),
|
|
.description = COMPOUND_STRING(
|
|
"Evades damage, and sharply\n"
|
|
"reduces Attack if struck."),
|
|
.effect = EFFECT_PROTECT,
|
|
.power = 0,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 4,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_KINGS_SHIELD },
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_KingsShield,
|
|
},
|
|
|
|
[MOVE_PLAY_NICE] =
|
|
{
|
|
.name = COMPOUND_STRING("Play Nice"),
|
|
.description = COMPOUND_STRING(
|
|
"Befriend the foe, lowering\n"
|
|
"its Attack without fail."),
|
|
.effect = EFFECT_ATTACK_DOWN,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PlayNice,
|
|
},
|
|
|
|
[MOVE_CONFIDE] =
|
|
{
|
|
.name = COMPOUND_STRING("Confide"),
|
|
.description = COMPOUND_STRING(
|
|
"Shares a secret with the\n"
|
|
"foe, lowering Sp. Atk."),
|
|
.effect = EFFECT_SPECIAL_ATTACK_DOWN,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.magicCoatAffected = TRUE,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Confide,
|
|
},
|
|
|
|
[MOVE_DIAMOND_STORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Diamond Storm"),
|
|
.description = COMPOUND_STRING(
|
|
"Whips up a storm of\n"
|
|
"diamonds. May up Defense."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 95,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = B_UPDATED_MOVE_DATA >= GEN_7 ? MOVE_EFFECT_DEF_PLUS_2: MOVE_EFFECT_DEF_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 50,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DiamondStorm,
|
|
},
|
|
|
|
[MOVE_STEAM_ERUPTION] =
|
|
{
|
|
.name = COMPOUND_STRING("Steam Eruption"),
|
|
.description = COMPOUND_STRING(
|
|
"Immerses the foe in heated\n"
|
|
"steam. May inflict a burn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 110,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 95,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.thawsUser = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SCALD},
|
|
.battleAnimScript = gBattleAnimMove_SteamEruption,
|
|
},
|
|
|
|
[MOVE_HYPERSPACE_HOLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Hyperspace Hole"),
|
|
.description = sHyperspaceHoleDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FEINT,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_HYPERSPACE_HOLE,
|
|
.contestComboMoves = {COMBO_STARTER_HYPERSPACE_FURY},
|
|
.battleAnimScript = gBattleAnimMove_HyperspaceHole,
|
|
},
|
|
|
|
[MOVE_WATER_SHURIKEN] =
|
|
{
|
|
.name = COMPOUND_STRING("Water Shuriken"),
|
|
.description = COMPOUND_STRING(
|
|
"Throws 2 to 5 stars that\n"
|
|
"are sure to strike first."),
|
|
.effect = EFFECT_MULTI_HIT,
|
|
.power = 15,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = B_UPDATED_MOVE_DATA >= GEN_7 ? DAMAGE_CATEGORY_SPECIAL : DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_WaterShuriken,
|
|
},
|
|
|
|
[MOVE_MYSTICAL_FIRE] =
|
|
{
|
|
.name = COMPOUND_STRING("Mystical Fire"),
|
|
.description = COMPOUND_STRING(
|
|
"Breathes a special, hot\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MysticalFire,
|
|
},
|
|
|
|
[MOVE_SPIKY_SHIELD] =
|
|
{
|
|
.name = COMPOUND_STRING("Spiky Shield"),
|
|
.description = COMPOUND_STRING(
|
|
"Evades attack, and damages\n"
|
|
"the foe if struck."),
|
|
.effect = EFFECT_PROTECT,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 4,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_SPIKY_SHIELD },
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SpikyShield,
|
|
},
|
|
|
|
[MOVE_AROMATIC_MIST] =
|
|
{
|
|
.name = COMPOUND_STRING("Aromatic Mist"),
|
|
.description = COMPOUND_STRING(
|
|
"Raises the Sp. Def of a\n"
|
|
"partner Pokémon."),
|
|
.effect = EFFECT_AROMATIC_MIST,
|
|
.power = 0,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_2 },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AromaticMist,
|
|
},
|
|
|
|
[MOVE_EERIE_IMPULSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Eerie Impulse"),
|
|
.description = COMPOUND_STRING(
|
|
"Exposes the foe to a pulse\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_EerieImpulse,
|
|
},
|
|
|
|
[MOVE_VENOM_DRENCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Venom Drench"),
|
|
.description = COMPOUND_STRING(
|
|
"Lowers the Attack, Sp. Atk\n"
|
|
"and Speed of poisoned foes."),
|
|
.effect = EFFECT_VENOM_DRENCH,
|
|
.power = 0,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_TOXIC},
|
|
.battleAnimScript = gBattleAnimMove_VenomDrench,
|
|
},
|
|
|
|
[MOVE_POWDER] =
|
|
{
|
|
.name = COMPOUND_STRING("Powder"),
|
|
.description = COMPOUND_STRING(
|
|
"Damages the foe if it uses\n"
|
|
"a Fire-type move."),
|
|
.effect = EFFECT_POWDER,
|
|
.power = 0,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_2 },
|
|
.powderMove = TRUE,
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Powder,
|
|
},
|
|
|
|
[MOVE_GEOMANCY] =
|
|
{
|
|
.name = COMPOUND_STRING("Geomancy"),
|
|
.description = COMPOUND_STRING(
|
|
"Raises Sp. Atk, Sp. Def and\n"
|
|
"Speed on the 2nd turn."),
|
|
.effect = EFFECT_GEOMANCY,
|
|
.power = 0,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 },
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_PKNMABSORBINGPOWER },
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Geomancy,
|
|
},
|
|
|
|
[MOVE_MAGNETIC_FLUX] =
|
|
{
|
|
.name = COMPOUND_STRING("Magnetic Flux"),
|
|
.description = COMPOUND_STRING(
|
|
"Boosts the defenses of\n"
|
|
"those with Plus or Minus."),
|
|
.effect = EFFECT_MAGNETIC_FLUX,
|
|
.power = 0,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MagneticFlux,
|
|
},
|
|
|
|
[MOVE_HAPPY_HOUR] =
|
|
{
|
|
.name = COMPOUND_STRING("Happy Hour"),
|
|
.description = COMPOUND_STRING(
|
|
"Doubles the amount of\n"
|
|
"Prize Money received."),
|
|
.effect = EFFECT_HAPPY_HOUR,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HappyHour,
|
|
},
|
|
|
|
[MOVE_ELECTRIC_TERRAIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Electric Terrain"),
|
|
.description = COMPOUND_STRING(
|
|
"Electrifies the ground for\n"
|
|
"5 turns. Prevents sleep."),
|
|
.effect = EFFECT_ELECTRIC_TERRAIN,
|
|
.power = 0,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = COMBO_STARTER_ELECTRIC_TERRAIN,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ElectricTerrain,
|
|
},
|
|
|
|
[MOVE_DAZZLING_GLEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Dazzling Gleam"),
|
|
.description = COMPOUND_STRING(
|
|
"Damages foes by emitting\n"
|
|
"a bright flash."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DazzlingGleam,
|
|
},
|
|
|
|
[MOVE_CELEBRATE] =
|
|
{
|
|
.name = COMPOUND_STRING("Celebrate"),
|
|
.description = COMPOUND_STRING(
|
|
"Congratulates you on your\n"
|
|
"special day."),
|
|
.effect = EFFECT_CELEBRATE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Celebrate,
|
|
},
|
|
|
|
[MOVE_HOLD_HANDS] =
|
|
{
|
|
.name = COMPOUND_STRING("Hold Hands"),
|
|
.description = COMPOUND_STRING(
|
|
"The user and ally hold hands\n"
|
|
"making them happy."),
|
|
.effect = EFFECT_HOLD_HANDS,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HoldHands,
|
|
},
|
|
|
|
[MOVE_BABY_DOLL_EYES] =
|
|
{
|
|
.name = COMPOUND_STRING("Baby-Doll Eyes"),
|
|
.description = COMPOUND_STRING(
|
|
"Lowers the foe's Attack\n"
|
|
"before it can move."),
|
|
.effect = EFFECT_ATTACK_DOWN,
|
|
.power = 0,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 100,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BabyDollEyes,
|
|
},
|
|
|
|
[MOVE_NUZZLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Nuzzle"),
|
|
.description = COMPOUND_STRING(
|
|
"Rubs its cheeks against\n"
|
|
"the foe, paralyzing it."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 20,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Nuzzle,
|
|
},
|
|
|
|
[MOVE_HOLD_BACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Hold Back"),
|
|
.description = sFalseSwipeDescription,
|
|
.effect = EFFECT_FALSE_SWIPE,
|
|
.power = 40,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HoldBack,
|
|
},
|
|
|
|
[MOVE_INFESTATION] =
|
|
{
|
|
.name = COMPOUND_STRING("Infestation"),
|
|
.description = COMPOUND_STRING(
|
|
"The foe is infested and\n"
|
|
"attacked for "BINDING_TURNS" turns."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 20,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_WRAP,
|
|
.multistring.wrapped = B_MSG_WRAPPED_INFESTATION,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Infestation,
|
|
},
|
|
|
|
[MOVE_POWER_UP_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Power-Up Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"A hard punch that raises\n"
|
|
"the user's Attack."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PowerUpPunch,
|
|
},
|
|
|
|
[MOVE_OBLIVION_WING] =
|
|
{
|
|
.name = COMPOUND_STRING("Oblivion Wing"),
|
|
.description = sDrainingKissDescription,
|
|
.effect = EFFECT_ABSORB,
|
|
.power = 80,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .absorbPercentage = 75 },
|
|
.healingMove = B_HEAL_BLOCKING >= GEN_6,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_OblivionWing,
|
|
},
|
|
|
|
[MOVE_THOUSAND_ARROWS] =
|
|
{
|
|
.name = COMPOUND_STRING("Thousand Arrows"),
|
|
.description = COMPOUND_STRING(
|
|
"Can hit Flying foes, then\n"
|
|
"knocks them to the ground."),
|
|
.effect = EFFECT_SMACK_DOWN,
|
|
.power = 90,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.damagesAirborne = TRUE,
|
|
.ignoreTypeIfFlyingAndUngrounded = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_THOUSAND_ARROWS,
|
|
.contestComboMoves = {COMBO_STARTER_THOUSAND_WAVES},
|
|
.battleAnimScript = gBattleAnimMove_ThousandArrows,
|
|
},
|
|
|
|
[MOVE_THOUSAND_WAVES] =
|
|
{
|
|
.name = COMPOUND_STRING("Thousand Waves"),
|
|
.description = COMPOUND_STRING(
|
|
"Those hit by the wave can\n"
|
|
"no longer escape."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PREVENT_ESCAPE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_THOUSAND_WAVES,
|
|
.contestComboMoves = {COMBO_STARTER_THOUSAND_ARROWS},
|
|
.battleAnimScript = gBattleAnimMove_ThousandWaves,
|
|
},
|
|
|
|
[MOVE_LANDS_WRATH] =
|
|
{
|
|
.name = COMPOUND_STRING("Land's Wrath"),
|
|
.description = COMPOUND_STRING(
|
|
"Gathers the energy of the\n"
|
|
"land to attack every foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LandsWrath,
|
|
},
|
|
|
|
[MOVE_LIGHT_OF_RUIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Light Of Ruin"),
|
|
.description = COMPOUND_STRING(
|
|
"Fires a great beam of light\n"
|
|
"that also hurts the user."),
|
|
.effect = EFFECT_RECOIL,
|
|
.power = 140,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .recoilPercentage = 50 },
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_LightOfRuin,
|
|
},
|
|
|
|
[MOVE_ORIGIN_PULSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Origin Pulse"),
|
|
.description = COMPOUND_STRING(
|
|
"Beams of glowing blue light\n"
|
|
"blast both foes."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 110,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 85,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.pulseMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_OriginPulse,
|
|
},
|
|
|
|
[MOVE_PRECIPICE_BLADES] =
|
|
{
|
|
.name = COMPOUND_STRING("Precipice Blades"),
|
|
.description = COMPOUND_STRING(
|
|
"Fearsome blades of stone\n"
|
|
"attack both foes."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 85,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PrecipiceBlades,
|
|
},
|
|
|
|
[MOVE_DRAGON_ASCENT] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Ascent"),
|
|
.description = sCloseCombatDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_SPDEF_DOWN,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DragonAscent,
|
|
},
|
|
|
|
[MOVE_HYPERSPACE_FURY] =
|
|
{
|
|
.name = COMPOUND_STRING("Hyperspace Fury"),
|
|
.description = sHyperspaceHoleDescription,
|
|
.effect = EFFECT_HYPERSPACE_FURY,
|
|
.power = 100,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
// Feint move effect handled in script as it goes before animation
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_HYPERSPACE_FURY,
|
|
.contestComboMoves = {COMBO_STARTER_HYPERSPACE_HOLE},
|
|
.battleAnimScript = gBattleAnimMove_HyperspaceFury,
|
|
},
|
|
|
|
[MOVE_SHORE_UP] =
|
|
{
|
|
.name = COMPOUND_STRING("Shore Up"),
|
|
.description = COMPOUND_STRING(
|
|
"Restores the user's HP.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.healingMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SANDSTORM},
|
|
.battleAnimScript = gBattleAnimMove_ShoreUp,
|
|
},
|
|
|
|
[MOVE_FIRST_IMPRESSION] =
|
|
{
|
|
.name = COMPOUND_STRING("First Impression"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits hard and first.\n"
|
|
"Only works first turn."),
|
|
.effect = EFFECT_FIRST_TURN_ONLY,
|
|
.power = 90,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 2,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .moveProperty = MOVE_FIRST_IMPRESSION },
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FirstImpression,
|
|
},
|
|
|
|
[MOVE_BANEFUL_BUNKER] =
|
|
{
|
|
.name = COMPOUND_STRING("Baneful Bunker"),
|
|
.description = COMPOUND_STRING(
|
|
"Protects user and poisons\n"
|
|
"foes on contact."),
|
|
.effect = EFFECT_PROTECT,
|
|
.power = 0,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 4,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_BANEFUL_BUNKER },
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BanefulBunker,
|
|
},
|
|
|
|
[MOVE_SPIRIT_SHACKLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Spirit Shackle"),
|
|
.description = COMPOUND_STRING(
|
|
"After being hit, foes can\n"
|
|
"no longer escape."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PREVENT_ESCAPE,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SpiritShackle,
|
|
},
|
|
|
|
[MOVE_DARKEST_LARIAT] =
|
|
{
|
|
.name = COMPOUND_STRING("Darkest Lariat"),
|
|
.description = COMPOUND_STRING(
|
|
"Swings the arms to strike\n"
|
|
"It ignores stat changes."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 85,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresTargetDefenseEvasionStages = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DarkestLariat,
|
|
},
|
|
|
|
[MOVE_SPARKLING_ARIA] =
|
|
{
|
|
.name = COMPOUND_STRING("Sparkling Aria"),
|
|
.description = COMPOUND_STRING(
|
|
"Sings with bubbles. Cures\n"
|
|
"burns on contact."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .status = STATUS1_BURN },
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_REMOVE_STATUS,
|
|
.sheerForceOverride = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SCALD},
|
|
.battleAnimScript = gBattleAnimMove_SparklingAria,
|
|
},
|
|
|
|
[MOVE_ICE_HAMMER] =
|
|
{
|
|
.name = COMPOUND_STRING("Ice Hammer"),
|
|
.description = COMPOUND_STRING(
|
|
"Swings the fist to strike.\n"
|
|
"Lowers the user's Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HAIL},
|
|
.battleAnimScript = gBattleAnimMove_IceHammer,
|
|
},
|
|
|
|
[MOVE_FLORAL_HEALING] =
|
|
{
|
|
.name = COMPOUND_STRING("Floral Healing"),
|
|
.description = COMPOUND_STRING(
|
|
"Restores an ally's HP.\n"
|
|
"Heals more on grass."),
|
|
.effect = EFFECT_HEAL_PULSE,
|
|
.power = 0,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.argument = { .moveProperty = MOVE_EFFECT_FLORAL_HEALING },
|
|
.mirrorMoveBanned = TRUE,
|
|
.healingMove = TRUE,
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FloralHealing,
|
|
},
|
|
|
|
[MOVE_HIGH_HORSEPOWER] =
|
|
{
|
|
.name = COMPOUND_STRING("High Horsepower"),
|
|
.description = COMPOUND_STRING(
|
|
"Slams hard into the foe with\n"
|
|
"its entire body."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 95,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 95,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_HighHorsepower,
|
|
},
|
|
|
|
[MOVE_STRENGTH_SAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Strength Sap"),
|
|
.description = COMPOUND_STRING(
|
|
"Saps the foe's Attack to\n"
|
|
"heal HP, then drops Attack."),
|
|
.effect = EFFECT_STRENGTH_SAP,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.healingMove = B_HEAL_BLOCKING >= GEN_6,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_StrengthSap,
|
|
},
|
|
|
|
[MOVE_SOLAR_BLADE] =
|
|
{
|
|
.name = COMPOUND_STRING("Solar Blade"),
|
|
.description = COMPOUND_STRING(
|
|
"Charges first turn, then\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_PKMNTOOKSUNLIGHT, .status = B_WEATHER_SUN },
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_SolarBlade,
|
|
},
|
|
|
|
[MOVE_LEAFAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Leafage"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a flurry of\n"
|
|
"small leaves."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GROWTH},
|
|
.battleAnimScript = gBattleAnimMove_Leafage,
|
|
},
|
|
|
|
[MOVE_SPOTLIGHT] =
|
|
{
|
|
.name = COMPOUND_STRING("Spotlight"),
|
|
.description = COMPOUND_STRING(
|
|
"Makes the foe attack the\n"
|
|
"spotlighted Pokémon."),
|
|
.effect = EFFECT_FOLLOW_ME,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 3,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPDEF_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Spotlight,
|
|
},
|
|
|
|
[MOVE_TOXIC_THREAD] =
|
|
{
|
|
.name = COMPOUND_STRING("Toxic Thread"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a thread that\n"
|
|
"poisons and drops Speed."),
|
|
.effect = EFFECT_TOXIC_THREAD,
|
|
.power = 0,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_TOXIC},
|
|
.battleAnimScript = gBattleAnimMove_ToxicThread,
|
|
},
|
|
|
|
[MOVE_LASER_FOCUS] =
|
|
{
|
|
.name = COMPOUND_STRING("Laser Focus"),
|
|
.description = COMPOUND_STRING(
|
|
"Guarantees the next move\n"
|
|
"will be a critical hit."),
|
|
.effect = EFFECT_LASER_FOCUS,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 30,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ATK_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LaserFocus,
|
|
},
|
|
|
|
[MOVE_GEAR_UP] =
|
|
{
|
|
.name = COMPOUND_STRING("Gear Up"),
|
|
.description = COMPOUND_STRING(
|
|
"Boosts the attacks of\n"
|
|
"those with Plus or Minus."),
|
|
.effect = EFFECT_GEAR_UP,
|
|
.power = 0,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GearUp,
|
|
},
|
|
|
|
[MOVE_THROAT_CHOP] =
|
|
{
|
|
.name = COMPOUND_STRING("Throat Chop"),
|
|
.description = COMPOUND_STRING(
|
|
"Chops the throat to disable\n"
|
|
"sound moves for 2 turns."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_THROAT_CHOP,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ThroatChop,
|
|
},
|
|
|
|
[MOVE_POLLEN_PUFF] =
|
|
{
|
|
.name = COMPOUND_STRING("Pollen Puff"),
|
|
.description = COMPOUND_STRING(
|
|
"Explodes on foes, but\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PollenPuff,
|
|
},
|
|
|
|
[MOVE_ANCHOR_SHOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Anchor Shot"),
|
|
.description = COMPOUND_STRING(
|
|
"Strangles the foe with a\n"
|
|
"chain. The foe can't escape."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PREVENT_ESCAPE,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AnchorShot,
|
|
},
|
|
|
|
[MOVE_PSYCHIC_TERRAIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Psychic Terrain"),
|
|
.description = COMPOUND_STRING(
|
|
"The ground turns weird for\n"
|
|
"5 turns. Blocks priority."),
|
|
.effect = EFFECT_PSYCHIC_TERRAIN,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = COMBO_STARTER_PSYCHIC_TERRAIN,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PsychicTerrain,
|
|
},
|
|
|
|
[MOVE_LUNGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Lunge"),
|
|
.description = COMPOUND_STRING(
|
|
"Lunges at the foe to lower\n"
|
|
"its Attack stat."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Lunge,
|
|
},
|
|
|
|
[MOVE_FIRE_LASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Fire Lash"),
|
|
.description = COMPOUND_STRING(
|
|
"Whips the foe with fire\n"
|
|
"lowering its Defense."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_FireLash,
|
|
},
|
|
|
|
[MOVE_POWER_TRIP] =
|
|
{
|
|
.name = COMPOUND_STRING("Power Trip"),
|
|
.description = COMPOUND_STRING(
|
|
"It hits harder the more\n"
|
|
"stat boosts the user has."),
|
|
.effect = EFFECT_STORED_POWER,
|
|
.power = 20,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PowerTrip,
|
|
},
|
|
|
|
[MOVE_BURN_UP] =
|
|
{
|
|
.name = COMPOUND_STRING("Burn Up"),
|
|
.description = COMPOUND_STRING(
|
|
"Burns out the user fully\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.thawsUser = TRUE,
|
|
.argument = { .type = TYPE_FIRE },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_REMOVE_ARG_TYPE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_SUNNY_DAY},
|
|
.battleAnimScript = gBattleAnimMove_BurnUp,
|
|
},
|
|
|
|
[MOVE_SPEED_SWAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Speed Swap"),
|
|
.description = COMPOUND_STRING(
|
|
"Swaps user's Speed with\n"
|
|
"the target's."),
|
|
.effect = EFFECT_SPEED_SWAP,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresSubstitute = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SpeedSwap,
|
|
},
|
|
|
|
[MOVE_SMART_STRIKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Smart Strike"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits with an accurate\n"
|
|
"horn that never misses."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SmartStrike,
|
|
},
|
|
|
|
[MOVE_PURIFY] =
|
|
{
|
|
.name = COMPOUND_STRING("Purify"),
|
|
.description = COMPOUND_STRING(
|
|
"Cures the foe's status\n"
|
|
"to restore HP."),
|
|
.effect = EFFECT_PURIFY,
|
|
.power = 0,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_ALL_STATS_UP_1 },
|
|
.mirrorMoveBanned = TRUE,
|
|
.healingMove = TRUE,
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Purify,
|
|
},
|
|
|
|
[MOVE_REVELATION_DANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Revelation Dance"),
|
|
.description = COMPOUND_STRING(
|
|
"Dances with mystical power.\n"
|
|
"Matches user's first type."),
|
|
.effect = EFFECT_REVELATION_DANCE,
|
|
.power = 90,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.danceMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_RevelationDance,
|
|
},
|
|
|
|
[MOVE_CORE_ENFORCER] =
|
|
{
|
|
.name = COMPOUND_STRING("Core Enforcer"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits with a ray that\n"
|
|
"nullifies the foe's Ability."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.zMove = { .powerOverride = 140 },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CORE_ENFORCER,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CoreEnforcer,
|
|
},
|
|
|
|
[MOVE_TROP_KICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Trop Kick"),
|
|
.description = COMPOUND_STRING(
|
|
"An intense kick from the\n"
|
|
"tropics. Lowers Attack."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TropKick,
|
|
},
|
|
|
|
[MOVE_INSTRUCT] =
|
|
{
|
|
.name = COMPOUND_STRING("Instruct"),
|
|
.description = COMPOUND_STRING(
|
|
"Orders the target to use\n"
|
|
"its last move again."),
|
|
.effect = EFFECT_INSTRUCT,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPATK_UP_1 },
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Instruct,
|
|
},
|
|
|
|
[MOVE_BEAK_BLAST] =
|
|
{
|
|
.name = COMPOUND_STRING("Beak Blast"),
|
|
.description = COMPOUND_STRING(
|
|
"Heats beak to attack last.\n"
|
|
"Burns foe on contact."),
|
|
.effect = EFFECT_BEAK_BLAST,
|
|
.power = 100,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = -3,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.ballisticMove = TRUE,
|
|
.meFirstBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BeakBlast,
|
|
},
|
|
|
|
[MOVE_CLANGING_SCALES] =
|
|
{
|
|
.name = COMPOUND_STRING("Clanging Scales"),
|
|
.description = COMPOUND_STRING(
|
|
"Makes a big noise with\n"
|
|
"its scales. Drops Defense."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 110,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.soundMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ClangingScales,
|
|
},
|
|
|
|
[MOVE_DRAGON_HAMMER] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Hammer"),
|
|
.description = COMPOUND_STRING(
|
|
"Swings its whole body\n"
|
|
"like a hammer to damage."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL},
|
|
.battleAnimScript = gBattleAnimMove_DragonHammer,
|
|
},
|
|
|
|
[MOVE_BRUTAL_SWING] =
|
|
{
|
|
.name = COMPOUND_STRING("Brutal Swing"),
|
|
.description = COMPOUND_STRING(
|
|
"Violently swings around\n"
|
|
"to hurt everyone nearby."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BrutalSwing,
|
|
},
|
|
|
|
[MOVE_AURORA_VEIL] =
|
|
{
|
|
.name = COMPOUND_STRING("Aurora Veil"),
|
|
#if B_PREFERRED_ICE_WEATHER == B_ICE_WEATHER_SNOW
|
|
.description = COMPOUND_STRING(
|
|
"Weakens all attacks, but\n"
|
|
"only usable with snow."),
|
|
#elif B_PREFERRED_ICE_WEATHER == B_ICE_WEATHER_BOTH
|
|
.description = COMPOUND_STRING(
|
|
"Weakens all attacks if\n"
|
|
"used in hail or snow."),
|
|
#else
|
|
.description = COMPOUND_STRING(
|
|
"Weakens all attacks, but\n"
|
|
"only usable with hail."),
|
|
#endif
|
|
.effect = EFFECT_AURORA_VEIL,
|
|
.power = 0,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_HAIL},
|
|
.battleAnimScript = gBattleAnimMove_AuroraVeil,
|
|
},
|
|
|
|
[MOVE_SHELL_TRAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Shell Trap"),
|
|
.description = COMPOUND_STRING(
|
|
"Sets a shell trap that\n"
|
|
"damages on contact."),
|
|
.effect = EFFECT_SHELL_TRAP,
|
|
.power = 150,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = -3,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.meFirstBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ShellTrap,
|
|
},
|
|
|
|
[MOVE_FLEUR_CANNON] =
|
|
{
|
|
.name = COMPOUND_STRING("Fleur Cannon"),
|
|
.description = COMPOUND_STRING(
|
|
"A strong ray that harshly\n"
|
|
"lowers Sp. Attack."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 130,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_2,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FleurCannon,
|
|
},
|
|
|
|
[MOVE_PSYCHIC_FANGS] =
|
|
{
|
|
.name = COMPOUND_STRING("Psychic Fangs"),
|
|
.description = COMPOUND_STRING(
|
|
"Chomps with psychic fangs.\n"
|
|
"Destroys any barriers."),
|
|
.effect = EFFECT_BRICK_BREAK,
|
|
.power = 85,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.bitingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PsychicFangs,
|
|
},
|
|
|
|
[MOVE_STOMPING_TANTRUM] =
|
|
{
|
|
.name = COMPOUND_STRING("Stomping Tantrum"),
|
|
.description = COMPOUND_STRING(
|
|
"Stomps around angrily.\n"
|
|
"Stronger after a failure."),
|
|
.effect = EFFECT_STOMPING_TANTRUM,
|
|
.power = 75,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_StompingTantrum,
|
|
},
|
|
|
|
[MOVE_SHADOW_BONE] =
|
|
{
|
|
.name = COMPOUND_STRING("Shadow Bone"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes with a haunted\n"
|
|
"bone. Might drop Defense."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 85,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = COMBO_STARTER_SHADOW_BONE,
|
|
.contestComboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH},
|
|
.battleAnimScript = gBattleAnimMove_ShadowBone,
|
|
},
|
|
|
|
[MOVE_ACCELEROCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Accelerock"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits with a high-speed\n"
|
|
"rock that always goes first."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Accelerock,
|
|
},
|
|
|
|
[MOVE_LIQUIDATION] =
|
|
{
|
|
.name = COMPOUND_STRING("Liquidation"),
|
|
.description = COMPOUND_STRING(
|
|
"Slams the foe with water.\n"
|
|
"Can lower Defense."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 85,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_RAIN_DANCE},
|
|
.battleAnimScript = gBattleAnimMove_Liquidation,
|
|
},
|
|
|
|
[MOVE_PRISMATIC_LASER] =
|
|
{
|
|
.name = COMPOUND_STRING("Prismatic Laser"),
|
|
.description = COMPOUND_STRING(
|
|
"A high power laser that\n"
|
|
"forces recharge next turn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 160,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECHARGE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PrismaticLaser,
|
|
},
|
|
|
|
[MOVE_SPECTRAL_THIEF] =
|
|
{
|
|
.name = COMPOUND_STRING("Spectral Thief"),
|
|
.description = COMPOUND_STRING(
|
|
"Steals the target's stat\n"
|
|
"boosts, then attacks."),
|
|
.effect = EFFECT_SPECTRAL_THIEF,
|
|
.power = 90,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresSubstitute = TRUE,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SpectralThief,
|
|
},
|
|
|
|
[MOVE_SUNSTEEL_STRIKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Sunsteel Strike"),
|
|
.description = COMPOUND_STRING(
|
|
"A sun-fueled strike that\n"
|
|
"ignores abilities."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresTargetAbility = TRUE,
|
|
.metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_8,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SunsteelStrike,
|
|
},
|
|
|
|
[MOVE_MOONGEIST_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Moongeist Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"A moon-powered beam that\n"
|
|
"ignores abilities."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresTargetAbility = TRUE,
|
|
.metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_8,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MoongeistBeam,
|
|
},
|
|
|
|
[MOVE_TEARFUL_LOOK] =
|
|
{
|
|
.name = COMPOUND_STRING("Tearful Look"),
|
|
.description = COMPOUND_STRING(
|
|
"The user tears up, dropping\n"
|
|
"Attack and Sp. Attack."),
|
|
.effect = EFFECT_NOBLE_ROAR,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_DEF_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TearfulLook,
|
|
},
|
|
|
|
[MOVE_ZING_ZAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Zing Zap"),
|
|
.description = COMPOUND_STRING(
|
|
"An electrified impact that\n"
|
|
"can cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_CHARGE},
|
|
.battleAnimScript = gBattleAnimMove_ZingZap,
|
|
},
|
|
|
|
[MOVE_NATURES_MADNESS] =
|
|
{
|
|
.name = COMPOUND_STRING("Nature's Madness"),
|
|
.description = COMPOUND_STRING(
|
|
"Halves the foe's HP with\n"
|
|
"the power of nature."),
|
|
.effect = EFFECT_FIXED_PERCENT_DAMAGE,
|
|
.power = 1,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_8,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_NaturesMadness,
|
|
},
|
|
|
|
[MOVE_MULTI_ATTACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Multi-Attack"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that changes\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .holdEffect = HOLD_EFFECT_MEMORY },
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MultiAttack,
|
|
},
|
|
|
|
[MOVE_MIND_BLOWN] =
|
|
{
|
|
.name = COMPOUND_STRING("Mind Blown"),
|
|
.description = COMPOUND_STRING(
|
|
"It explodes the user's head\n"
|
|
"to damage everything around."),
|
|
.effect = EFFECT_MAX_HP_50_RECOIL,
|
|
.power = 150,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.dampBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MindBlown,
|
|
},
|
|
|
|
[MOVE_PLASMA_FISTS] =
|
|
{
|
|
.name = COMPOUND_STRING("Plasma Fists"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits with electrical fists.\n"
|
|
"Normal moves turn Electric."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ION_DELUGE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_PlasmaFists,
|
|
},
|
|
|
|
[MOVE_PHOTON_GEYSER] =
|
|
{
|
|
.name = COMPOUND_STRING("Photon Geyser"),
|
|
.description = COMPOUND_STRING(
|
|
"User's highest attack stat\n"
|
|
"determines its category."),
|
|
.effect = EFFECT_PHOTON_GEYSER,
|
|
.power = 100,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresTargetAbility = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PhotonGeyser,
|
|
},
|
|
|
|
[MOVE_ZIPPY_ZAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Zippy Zap"),
|
|
.description = COMPOUND_STRING(
|
|
"Electric bursts always go\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.alwaysCriticalHit = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
#if B_UPDATED_MOVE_DATA >= GEN_8
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_EVS_PLUS_1,
|
|
.self = TRUE,
|
|
}),
|
|
#endif
|
|
.battleAnimScript = gBattleAnimMove_ZippyZap,
|
|
},
|
|
|
|
[MOVE_SPLISHY_SPLASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Splishy Splash"),
|
|
.description = COMPOUND_STRING(
|
|
"A huge electrified wave that\n"
|
|
"may paralyze the foes."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 30,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_SplishySplash,
|
|
},
|
|
|
|
[MOVE_FLOATY_FALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Floaty Fall"),
|
|
.description = COMPOUND_STRING(
|
|
"Floats in air and dives at\n"
|
|
"angle. May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 95,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.gravityBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
.sheerForceOverride = TRUE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_FloatyFall,
|
|
},
|
|
|
|
[MOVE_PIKA_PAPOW] =
|
|
{
|
|
.name = COMPOUND_STRING("Pika Papow"),
|
|
.description = COMPOUND_STRING(
|
|
"Pikachu's love increases its\n"
|
|
"power. It never misses."),
|
|
.effect = EFFECT_RETURN,
|
|
.power = 1,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_PikaPapow,
|
|
},
|
|
|
|
[MOVE_BOUNCY_BUBBLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Bouncy Bubble"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that absorbs\n"
|
|
#if B_UPDATED_MOVE_DATA >= GEN_8
|
|
"all the damage inflicted."),
|
|
#else
|
|
"half the damage inflicted."),
|
|
#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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .absorbPercentage = B_UPDATED_MOVE_DATA >= GEN_8 ? 100 : 50 },
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.metronomeBanned = TRUE,
|
|
.healingMove = B_HEAL_BLOCKING >= GEN_6,
|
|
.battleAnimScript = gBattleAnimMove_BouncyBubble,
|
|
},
|
|
|
|
[MOVE_BUZZY_BUZZ] =
|
|
{
|
|
.name = COMPOUND_STRING("Buzzy Buzz"),
|
|
.description = COMPOUND_STRING(
|
|
"Shoots a jolt of electricity\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_BuzzyBuzz,
|
|
},
|
|
|
|
[MOVE_SIZZLY_SLIDE] =
|
|
{
|
|
.name = COMPOUND_STRING("Sizzly Slide"),
|
|
.description = COMPOUND_STRING(
|
|
"User cloaked in fire charges.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.thawsUser = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_SizzlySlide,
|
|
},
|
|
|
|
[MOVE_GLITZY_GLOW] =
|
|
{
|
|
.name = COMPOUND_STRING("Glitzy Glow"),
|
|
.description = COMPOUND_STRING(
|
|
"Telekinetic force that sets\n"
|
|
"wall, lowering Sp. Atk damage."),
|
|
.effect = EFFECT_HIT,
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_LIGHT_SCREEN,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_GlitzyGlow,
|
|
},
|
|
|
|
[MOVE_BADDY_BAD] =
|
|
{
|
|
.name = COMPOUND_STRING("Baddy Bad"),
|
|
.description = COMPOUND_STRING(
|
|
"Acting badly, attacks. Sets\n"
|
|
"wall, lowering Attack damage."),
|
|
.effect = EFFECT_HIT,
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_REFLECT,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_BaddyBad,
|
|
},
|
|
|
|
[MOVE_SAPPY_SEED] =
|
|
{
|
|
.name = COMPOUND_STRING("Sappy Seed"),
|
|
.description = COMPOUND_STRING(
|
|
"Giant stalk scatters seeds\n"
|
|
"that drain HP every turn."),
|
|
.effect = EFFECT_HIT,
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.magicCoatAffected = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_LEECH_SEED,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_SappySeed,
|
|
},
|
|
|
|
[MOVE_FREEZY_FROST] =
|
|
{
|
|
.name = COMPOUND_STRING("Freezy Frost"),
|
|
.description = COMPOUND_STRING(
|
|
"Crystal from cold haze hits.\n"
|
|
"Eliminates all stat changes."),
|
|
.effect = EFFECT_HIT,
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_HAZE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_FreezyFrost,
|
|
},
|
|
|
|
[MOVE_SPARKLY_SWIRL] =
|
|
{
|
|
.name = COMPOUND_STRING("Sparkly Swirl"),
|
|
.description = COMPOUND_STRING(
|
|
"Wrap foe with whirlwind of\n"
|
|
"scent. Heals party's status."),
|
|
.effect = EFFECT_HIT,
|
|
.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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_AROMATHERAPY,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_SparklySwirl,
|
|
},
|
|
|
|
[MOVE_VEEVEE_VOLLEY] =
|
|
{
|
|
.name = COMPOUND_STRING("Veevee Volley"),
|
|
.description = COMPOUND_STRING(
|
|
"Eevee's love increases its\n"
|
|
"power. It never misses."),
|
|
.effect = EFFECT_RETURN,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_VeeveeVolley,
|
|
},
|
|
|
|
[MOVE_DOUBLE_IRON_BASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Double Iron Bash"),
|
|
.description = COMPOUND_STRING(
|
|
"The user spins and hits with\n"
|
|
"its arms. May cause flinch."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.strikeCount = 2,
|
|
.minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_8,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DoubleIronBash,
|
|
},
|
|
|
|
[MOVE_DYNAMAX_CANNON] =
|
|
{
|
|
.name = COMPOUND_STRING("Dynamax Cannon"),
|
|
.description = COMPOUND_STRING(
|
|
"Unleashes core energy.\n"
|
|
"2x against Dynamaxed foes."),
|
|
.effect = EFFECT_DYNAMAX_DOUBLE_DMG,
|
|
.power = 100,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.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,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DynamaxCannon,
|
|
},
|
|
|
|
[MOVE_SNIPE_SHOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Snipe Shot"),
|
|
.description = COMPOUND_STRING(
|
|
"The user ignores effects\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SnipeShot,
|
|
},
|
|
|
|
[MOVE_JAW_LOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Jaw Lock"),
|
|
.description = COMPOUND_STRING(
|
|
"Prevents the user and\n"
|
|
"the target from escaping."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.bitingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_TRAP_BOTH,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_JawLock,
|
|
},
|
|
|
|
[MOVE_STUFF_CHEEKS] =
|
|
{
|
|
.name = COMPOUND_STRING("Stuff Cheeks"),
|
|
.description = COMPOUND_STRING(
|
|
"Consumes the user's Berry,\n"
|
|
"then sharply raises Def."),
|
|
.effect = EFFECT_STUFF_CHEEKS,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_StuffCheeks,
|
|
},
|
|
|
|
[MOVE_NO_RETREAT] =
|
|
{
|
|
.name = COMPOUND_STRING("No Retreat"),
|
|
.description = COMPOUND_STRING(
|
|
"Raises all of the user's\n"
|
|
"stats but prevents escape."),
|
|
.effect = EFFECT_NO_RETREAT,
|
|
.power = 0,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 0,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_NoRetreat,
|
|
},
|
|
|
|
[MOVE_TAR_SHOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Tar Shot"),
|
|
.description = COMPOUND_STRING(
|
|
"Lowers the foe's Speed and\n"
|
|
"makes it weak to Fire."),
|
|
.effect = EFFECT_TAR_SHOT,
|
|
.power = 0,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TarShot,
|
|
},
|
|
|
|
[MOVE_MAGIC_POWDER] =
|
|
{
|
|
.name = COMPOUND_STRING("Magic Powder"),
|
|
.description = COMPOUND_STRING(
|
|
"Magic powder changes the\n"
|
|
"target into a Psychic type."),
|
|
.effect = EFFECT_SOAK,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .type = TYPE_PSYCHIC },
|
|
.magicCoatAffected = TRUE,
|
|
.powderMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MagicPowder,
|
|
},
|
|
|
|
[MOVE_DRAGON_DARTS] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Darts"),
|
|
.description = COMPOUND_STRING(
|
|
"The user attacks twice. Two\n"
|
|
"targets are hit once each."),
|
|
.effect = EFFECT_DRAGON_DARTS,
|
|
.power = 50,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.strikeCount = 2,
|
|
.parentalBondBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DragonDarts,
|
|
},
|
|
|
|
[MOVE_TEATIME] =
|
|
{
|
|
.name = COMPOUND_STRING("Teatime"),
|
|
.description = COMPOUND_STRING(
|
|
"All Pokémon have teatime\n"
|
|
"and eat their Berries."),
|
|
.effect = EFFECT_TEATIME,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Teatime,
|
|
},
|
|
|
|
[MOVE_OCTOLOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Octolock"),
|
|
.description = COMPOUND_STRING(
|
|
"Traps the foe to lower Def\n"
|
|
"and Sp. Def each turn."),
|
|
.effect = EFFECT_OCTOLOCK,
|
|
.power = 0,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Octolock,
|
|
},
|
|
|
|
[MOVE_BOLT_BEAK] =
|
|
{
|
|
.name = COMPOUND_STRING("Bolt Beak"),
|
|
.description = COMPOUND_STRING(
|
|
"Double power if the user\n"
|
|
"moves before the target."),
|
|
.effect = EFFECT_BOLT_BEAK,
|
|
.power = 85,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BoltBeak,
|
|
},
|
|
|
|
[MOVE_FISHIOUS_REND] =
|
|
{
|
|
.name = COMPOUND_STRING("Fishious Rend"),
|
|
.description = COMPOUND_STRING(
|
|
"Double power if the user\n"
|
|
"moves before the target."),
|
|
.effect = EFFECT_BOLT_BEAK,
|
|
.power = 85,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.bitingMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FishiousRend,
|
|
},
|
|
|
|
[MOVE_COURT_CHANGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Court Change"),
|
|
.description = COMPOUND_STRING(
|
|
"The user swaps effects on\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.ignoresProtect = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CourtChange,
|
|
},
|
|
|
|
[MOVE_CLANGOROUS_SOUL] =
|
|
{
|
|
.name = COMPOUND_STRING("Clangorous Soul"),
|
|
.description = COMPOUND_STRING(
|
|
"The user uses some of its\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.soundMove = TRUE,
|
|
.danceMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ClangorousSoul,
|
|
},
|
|
|
|
[MOVE_BODY_PRESS] =
|
|
{
|
|
.name = COMPOUND_STRING("Body Press"),
|
|
.description = COMPOUND_STRING(
|
|
"Does more damage the\n"
|
|
"higher the user's Def."),
|
|
.effect = EFFECT_BODY_PRESS,
|
|
.power = 80,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BodyPress,
|
|
},
|
|
|
|
[MOVE_DECORATE] =
|
|
{
|
|
.name = COMPOUND_STRING("Decorate"),
|
|
.description = COMPOUND_STRING(
|
|
"The user sharply raises\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Decorate,
|
|
},
|
|
|
|
[MOVE_DRUM_BEATING] =
|
|
{
|
|
.name = COMPOUND_STRING("Drum Beating"),
|
|
.description = COMPOUND_STRING(
|
|
"Plays a drum to attack.\n"
|
|
"The foe's Speed is lowered."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DrumBeating,
|
|
},
|
|
|
|
[MOVE_SNAP_TRAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Snap Trap"),
|
|
.description = COMPOUND_STRING(
|
|
"Snares the target in a snap\n"
|
|
"trap for four to five turns."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 35,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_WRAP,
|
|
.multistring.wrapped = B_MSG_WRAPPED_SNAP_TRAP,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SnapTrap,
|
|
},
|
|
|
|
[MOVE_PYRO_BALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Pyro Ball"),
|
|
.description = COMPOUND_STRING(
|
|
"Launches a fiery ball at the\n"
|
|
"target. It may cause a burn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.thawsUser = TRUE,
|
|
.ballisticMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_PyroBall,
|
|
},
|
|
|
|
[MOVE_BEHEMOTH_BLADE] =
|
|
{
|
|
.name = COMPOUND_STRING("Behemoth Blade"),
|
|
.description = COMPOUND_STRING(
|
|
"Strikes as a sword. Deals 2x\n"
|
|
"damage to Dynamaxed foes."),
|
|
.effect = EFFECT_DYNAMAX_DOUBLE_DMG,
|
|
.power = 100,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.assistBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BehemothBlade,
|
|
},
|
|
|
|
[MOVE_BEHEMOTH_BASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Behemoth Bash"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks as a shield. Deals 2x\n"
|
|
"damage to Dynamaxed foes."),
|
|
.effect = EFFECT_DYNAMAX_DOUBLE_DMG,
|
|
.power = 100,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.assistBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BehemothBash,
|
|
},
|
|
|
|
[MOVE_AURA_WHEEL] =
|
|
{
|
|
.name = COMPOUND_STRING("Aura Wheel"),
|
|
.description = COMPOUND_STRING(
|
|
"Raises Speed to attack. The\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AuraWheel,
|
|
},
|
|
|
|
[MOVE_BREAKING_SWIPE] =
|
|
{
|
|
.name = COMPOUND_STRING("Breaking Swipe"),
|
|
.description = COMPOUND_STRING(
|
|
"Swings its tail to attack.\n"
|
|
"Lowers the Atk of those hit."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BreakingSwipe,
|
|
},
|
|
|
|
[MOVE_BRANCH_POKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Branch Poke"),
|
|
.description = COMPOUND_STRING(
|
|
"The user pokes the target\n"
|
|
"with a pointed branch."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 40,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BranchPoke,
|
|
},
|
|
|
|
[MOVE_OVERDRIVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Overdrive"),
|
|
.description = COMPOUND_STRING(
|
|
"The user twangs its guitar,\n"
|
|
"causing strong vibrations."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.soundMove = TRUE,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Overdrive,
|
|
},
|
|
|
|
[MOVE_APPLE_ACID] =
|
|
{
|
|
.name = COMPOUND_STRING("Apple Acid"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with tart apple acid\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AppleAcid,
|
|
},
|
|
|
|
[MOVE_GRAV_APPLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Grav Apple"),
|
|
.description = COMPOUND_STRING(
|
|
"Drops an apple from above.\n"
|
|
"Lowers the foe's Defense."),
|
|
.effect = EFFECT_GRAV_APPLE,
|
|
.power = 80,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GravApple,
|
|
},
|
|
|
|
[MOVE_SPIRIT_BREAK] =
|
|
{
|
|
.name = COMPOUND_STRING("Spirit Break"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with spirit-breaking\n"
|
|
"force. Lowers Sp. Atk."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 75,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SpiritBreak,
|
|
},
|
|
|
|
[MOVE_STRANGE_STEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Strange Steam"),
|
|
.description = COMPOUND_STRING(
|
|
"Emits a strange steam to\n"
|
|
"potentially confuse the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 95,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_StrangeSteam,
|
|
},
|
|
|
|
[MOVE_LIFE_DEW] =
|
|
{
|
|
.name = COMPOUND_STRING("Life Dew"),
|
|
.description = COMPOUND_STRING(
|
|
"Scatters water to restore\n"
|
|
"the HP of itself and allies."),
|
|
.effect = EFFECT_LIFE_DEW,
|
|
.power = 0,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.healingMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LifeDew,
|
|
},
|
|
|
|
[MOVE_OBSTRUCT] =
|
|
{
|
|
.name = COMPOUND_STRING("Obstruct"),
|
|
.description = COMPOUND_STRING(
|
|
"Protects itself, harshly\n"
|
|
"lowering Def on contact."),
|
|
.effect = EFFECT_PROTECT,
|
|
.power = 0,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 4,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_OBSTRUCT },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Obstruct,
|
|
},
|
|
|
|
[MOVE_FALSE_SURRENDER] =
|
|
{
|
|
.name = COMPOUND_STRING("False Surrender"),
|
|
.description = COMPOUND_STRING(
|
|
"Bows to stab the foe\n"
|
|
"with hair. It never misses."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FalseSurrender,
|
|
},
|
|
|
|
[MOVE_METEOR_ASSAULT] =
|
|
{
|
|
.name = COMPOUND_STRING("Meteor Assault"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with a thick leek.\n"
|
|
"The user must then rest."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 150,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECHARGE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MeteorAssault,
|
|
},
|
|
|
|
[MOVE_ETERNABEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Eternabeam"),
|
|
.description = COMPOUND_STRING(
|
|
"Eternatus' strongest move.\n"
|
|
"The user rests next turn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 160,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECHARGE,
|
|
.self = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Eternabeam,
|
|
},
|
|
|
|
[MOVE_STEEL_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Steel Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"Fires a beam of steel from\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SteelBeam,
|
|
},
|
|
|
|
[MOVE_EXPANDING_FORCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Expanding Force"),
|
|
.description = COMPOUND_STRING(
|
|
"Power goes up and damages\n"
|
|
"all foes on Psychic Terrain."),
|
|
.effect = EFFECT_EXPANDING_FORCE,
|
|
.power = 80,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_PSYCHIC_TERRAIN},
|
|
.battleAnimScript = gBattleAnimMove_ExpandingForce,
|
|
},
|
|
|
|
[MOVE_STEEL_ROLLER] =
|
|
{
|
|
.name = COMPOUND_STRING("Steel Roller"),
|
|
.description = COMPOUND_STRING(
|
|
"Destroys terrain. Fails if\n"
|
|
"ground isn't terrain."),
|
|
.effect = EFFECT_STEEL_ROLLER,
|
|
.power = 130,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.skyBattleBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SteelRoller,
|
|
},
|
|
|
|
[MOVE_SCALE_SHOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Scale Shot"),
|
|
.description = COMPOUND_STRING(
|
|
"Shoots scales 2 to 5 times.\n"
|
|
"Ups Speed, lowers defense."),
|
|
.effect = EFFECT_MULTI_HIT,
|
|
.power = 25,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 90,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .moveProperty = MOVE_EFFECT_SCALE_SHOT },
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ScaleShot,
|
|
},
|
|
|
|
[MOVE_METEOR_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Meteor Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"A 2-turn move that raises\n"
|
|
"Sp. Attack before attacking."),
|
|
.effect = EFFECT_TWO_TURNS_ATTACK,
|
|
.power = 120,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.instructBanned = TRUE,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_METEORBEAMCHARGING },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_PLUS_1,
|
|
.self = TRUE,
|
|
.onChargeTurnOnly = TRUE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_MeteorBeam,
|
|
},
|
|
|
|
[MOVE_SHELL_SIDE_ARM] =
|
|
{
|
|
.name = COMPOUND_STRING("Shell Side Arm"),
|
|
.description = COMPOUND_STRING(
|
|
"Deals better of physical and\n"
|
|
"special damage. May poison."),
|
|
.effect = EFFECT_SHELL_SIDE_ARM,
|
|
.power = 90,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ShellSideArm,
|
|
},
|
|
|
|
[MOVE_MISTY_EXPLOSION] =
|
|
{
|
|
.name = COMPOUND_STRING("Misty Explosion"),
|
|
.description = COMPOUND_STRING(
|
|
"Hit everything and faint.\n"
|
|
"Powers up on Misty Terrain."),
|
|
.effect = EFFECT_MISTY_EXPLOSION,
|
|
.power = 100,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_FOES_AND_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.dampBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_MISTY_TERRAIN},
|
|
.battleAnimScript = gBattleAnimMove_MistyExplosion,
|
|
},
|
|
|
|
[MOVE_GRASSY_GLIDE] =
|
|
{
|
|
.name = COMPOUND_STRING("Grassy Glide"),
|
|
.description = COMPOUND_STRING(
|
|
"Gliding on ground, hits. Goes\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.contestEffect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_GRASSY_TERRAIN},
|
|
.battleAnimScript = gBattleAnimMove_GrassyGlide,
|
|
},
|
|
|
|
[MOVE_RISING_VOLTAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Rising Voltage"),
|
|
.description = COMPOUND_STRING(
|
|
"This move's power doubles\n"
|
|
"when on Electric Terrain."),
|
|
.effect = EFFECT_RISING_VOLTAGE,
|
|
.power = 70,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_ELECTRIC_TERRAIN},
|
|
.battleAnimScript = gBattleAnimMove_RisingVoltage,
|
|
},
|
|
|
|
[MOVE_TERRAIN_PULSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Terrain Pulse"),
|
|
.description = COMPOUND_STRING(
|
|
"Type and power changes\n"
|
|
"depending on the terrain."),
|
|
.effect = EFFECT_TERRAIN_PULSE,
|
|
.power = 50,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.pulseMove = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {COMBO_STARTER_ELECTRIC_TERRAIN, COMBO_STARTER_MISTY_TERRAIN, COMBO_STARTER_GRASSY_TERRAIN, COMBO_STARTER_PSYCHIC_TERRAIN},
|
|
.battleAnimScript = gBattleAnimMove_TerrainPulse,
|
|
},
|
|
|
|
[MOVE_SKITTER_SMACK] =
|
|
{
|
|
.name = COMPOUND_STRING("Skitter Smack"),
|
|
.description = COMPOUND_STRING(
|
|
"User skitters behind foe to\n"
|
|
"attack. Lowers foe's Sp. Atk."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SkitterSmack,
|
|
},
|
|
|
|
[MOVE_BURNING_JEALOUSY] =
|
|
{
|
|
.name = COMPOUND_STRING("Burning Jealousy"),
|
|
.description = COMPOUND_STRING(
|
|
"Foes that have stats upped\n"
|
|
"during the turn get burned."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.onlyIfTargetRaisedStats = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_BurningJealousy,
|
|
},
|
|
|
|
[MOVE_LASH_OUT] =
|
|
{
|
|
.name = COMPOUND_STRING("Lash Out"),
|
|
.description = COMPOUND_STRING(
|
|
"If stats lowered during this\n"
|
|
"turn, power is doubled."),
|
|
.effect = EFFECT_LASH_OUT,
|
|
.power = 75,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_LashOut,
|
|
},
|
|
|
|
[MOVE_POLTERGEIST] =
|
|
{
|
|
.name = COMPOUND_STRING("Poltergeist"),
|
|
.description = COMPOUND_STRING(
|
|
"Control foe's item to attack.\n"
|
|
"Fails if foe has no item."),
|
|
.effect = EFFECT_POLTERGEIST,
|
|
.power = 110,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 90,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Poltergeist,
|
|
},
|
|
|
|
[MOVE_CORROSIVE_GAS] =
|
|
{
|
|
.name = COMPOUND_STRING("Corrosive Gas"),
|
|
.description = COMPOUND_STRING(
|
|
"Highly acidic gas melts items\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.magicCoatAffected = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_CorrosiveGas,
|
|
},
|
|
|
|
[MOVE_COACHING] =
|
|
{
|
|
.name = COMPOUND_STRING("Coaching"),
|
|
.description = COMPOUND_STRING(
|
|
"Properly coaches allies to\n"
|
|
"up their Attack and Defense."),
|
|
.effect = EFFECT_COACHING,
|
|
.power = 0,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_Coaching,
|
|
},
|
|
|
|
[MOVE_FLIP_TURN] =
|
|
{
|
|
.name = COMPOUND_STRING("Flip Turn"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks and rushes back to\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_AVOID_STARTLE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FlipTurn,
|
|
},
|
|
|
|
[MOVE_TRIPLE_AXEL] =
|
|
{
|
|
.name = COMPOUND_STRING("Triple Axel"),
|
|
.description = COMPOUND_STRING(
|
|
"A 3-kick attack that gets\n"
|
|
"more powerful with each hit."),
|
|
.effect = EFFECT_TRIPLE_KICK,
|
|
.power = 20,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.strikeCount = 3,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_TripleAxel,
|
|
},
|
|
|
|
[MOVE_DUAL_WINGBEAT] =
|
|
{
|
|
.name = COMPOUND_STRING("Dual Wingbeat"),
|
|
.description = COMPOUND_STRING(
|
|
"User slams the target with\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.strikeCount = 2,
|
|
.contestEffect = CONTEST_EFFECT_REPETITION_NOT_BORING,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DualWingbeat,
|
|
},
|
|
|
|
[MOVE_SCORCHING_SANDS] =
|
|
{
|
|
.name = COMPOUND_STRING("Scorching Sands"),
|
|
.description = COMPOUND_STRING(
|
|
"Throws scorching sand at\n"
|
|
"the target. May leave a burn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.thawsUser = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 30,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ScorchingSands,
|
|
},
|
|
|
|
[MOVE_JUNGLE_HEALING] =
|
|
{
|
|
.name = COMPOUND_STRING("Jungle Healing"),
|
|
.description = COMPOUND_STRING(
|
|
"Heals HP and status of\n"
|
|
"itself and allies in battle."),
|
|
.effect = EFFECT_JUNGLE_HEALING,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.ignoresProtect = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.healingMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_JungleHealing,
|
|
},
|
|
|
|
[MOVE_WICKED_BLOW] =
|
|
{
|
|
.name = COMPOUND_STRING("Wicked Blow"),
|
|
.description = COMPOUND_STRING(
|
|
"Mastering the Dark style,\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.alwaysCriticalHit = TRUE,
|
|
.punchingMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_WickedBlow,
|
|
},
|
|
|
|
[MOVE_SURGING_STRIKES] =
|
|
{
|
|
.name = COMPOUND_STRING("Surging Strikes"),
|
|
.description = COMPOUND_STRING(
|
|
"Mastering the Water style,\n"
|
|
"strikes with 3 critical hits."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 25,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.alwaysCriticalHit = TRUE,
|
|
.punchingMove = TRUE,
|
|
.strikeCount = 3,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_SurgingStrikes,
|
|
},
|
|
|
|
[MOVE_THUNDER_CAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Thunder Cage"),
|
|
.description = COMPOUND_STRING(
|
|
"Traps the foe in a cage of\n"
|
|
"electricity for "BINDING_TURNS" turns."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 90,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_WRAP,
|
|
.multistring.wrapped = B_MSG_WRAPPED_THUNDER_CAGE,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ThunderCage,
|
|
},
|
|
|
|
[MOVE_DRAGON_ENERGY] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Energy"),
|
|
.description = COMPOUND_STRING(
|
|
"The higher the user's HP\n"
|
|
"the more damage caused."),
|
|
.effect = EFFECT_POWER_BASED_ON_USER_HP,
|
|
.power = 150,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_COOL,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_DragonEnergy,
|
|
},
|
|
|
|
[MOVE_FREEZING_GLARE] =
|
|
{
|
|
.name = COMPOUND_STRING("Freezing Glare"),
|
|
.description = COMPOUND_STRING(
|
|
"Shoots psychic power from\n"
|
|
#if B_USE_FROSTBITE == TRUE
|
|
"the eyes. May frostbite."),
|
|
#else
|
|
"the eyes. May freeze the foe."),
|
|
#endif
|
|
.power = 90,
|
|
.effect = EFFECT_HIT,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE,
|
|
.chance = 10,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_CUTE,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FreezingGlare,
|
|
},
|
|
|
|
[MOVE_FIERY_WRATH] =
|
|
{
|
|
.name = COMPOUND_STRING("Fiery Wrath"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack fueled by your\n"
|
|
"wrath. May cause flinching."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 20,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_FieryWrath,
|
|
},
|
|
|
|
[MOVE_THUNDEROUS_KICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Thunderous Kick"),
|
|
.description = COMPOUND_STRING(
|
|
"Uses a lightning-like kick\n"
|
|
"to hit. Lowers foe's Defense."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 90,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.contestEffect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
|
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_ThunderousKick,
|
|
},
|
|
|
|
[MOVE_GLACIAL_LANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Glacial Lance"),
|
|
.description = COMPOUND_STRING(
|
|
"Hurls a blizzard-cloaked\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_LAST,
|
|
.contestCategory = CONTEST_CATEGORY_BEAUTY,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_GlacialLance,
|
|
},
|
|
|
|
[MOVE_ASTRAL_BARRAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Astral Barrage"),
|
|
.description = COMPOUND_STRING(
|
|
"Sends a frightful amount\n"
|
|
"of small ghosts at foes."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.battleAnimScript = gBattleAnimMove_AstralBarrage,
|
|
},
|
|
|
|
[MOVE_EERIE_SPELL] =
|
|
{
|
|
.name = COMPOUND_STRING("Eerie Spell"),
|
|
.description = COMPOUND_STRING(
|
|
"Attacks with psychic power.\n"
|
|
"Foe's last move has 3 PP cut."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.soundMove = TRUE,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.contestEffect = CONTEST_EFFECT_BETTER_WHEN_LATER,
|
|
.contestCategory = CONTEST_CATEGORY_SMART,
|
|
.contestComboStarterId = 0,
|
|
.contestComboMoves = {0},
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_EERIE_SPELL,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_EerieSpell,
|
|
},
|
|
|
|
[MOVE_DIRE_CLAW] =
|
|
{
|
|
.name = COMPOUND_STRING("Dire Claw"),
|
|
.description = COMPOUND_STRING(
|
|
"High critical hit chance. May\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DIRE_CLAW,
|
|
.chance = 50,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_DireClaw,
|
|
},
|
|
|
|
[MOVE_PSYSHIELD_BASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Psyshield Bash"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits a foe with psychic\n"
|
|
"energy. May raise Defense."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_PsyshieldBash,
|
|
},
|
|
|
|
[MOVE_POWER_SHIFT] =
|
|
{
|
|
.name = COMPOUND_STRING("Power Shift"),
|
|
.description = COMPOUND_STRING(
|
|
"The user swaps its Attack\n"
|
|
"and Defense stats."),
|
|
.effect = EFFECT_POWER_TRICK,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_PowerShift,
|
|
},
|
|
|
|
[MOVE_STONE_AXE] =
|
|
{
|
|
.name = COMPOUND_STRING("Stone Axe"),
|
|
.description = COMPOUND_STRING(
|
|
"High critical hit ratio. Sets\n"
|
|
"Splinters that hurt the foe."),
|
|
.effect = EFFECT_STONE_AXE,
|
|
.power = 65,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 90,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.sheerForceOverride = TRUE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_StoneAxe,
|
|
},
|
|
|
|
[MOVE_SPRINGTIDE_STORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Springtide Storm"),
|
|
.description = COMPOUND_STRING(
|
|
"Wraps a foe in fierce winds.\n"
|
|
"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_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_MINUS_1,
|
|
.chance = 30,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_SpringtideStorm,
|
|
},
|
|
|
|
[MOVE_MYSTICAL_POWER] =
|
|
{
|
|
.name = COMPOUND_STRING("Mystical Power"),
|
|
.description = COMPOUND_STRING(
|
|
"A mysterious power strikes,\n"
|
|
"raising the user's Sp. Atk."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_MysticalPower,
|
|
},
|
|
|
|
[MOVE_RAGING_FURY] =
|
|
{
|
|
.name = COMPOUND_STRING("Raging Fury"),
|
|
.description = COMPOUND_STRING(
|
|
"A rampage of 2 to 3 turns\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_THRASH,
|
|
.self = TRUE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_RagingFury,
|
|
},
|
|
|
|
[MOVE_WAVE_CRASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Wave Crash"),
|
|
.description = COMPOUND_STRING(
|
|
"A slam shrouded in water.\n"
|
|
"It also hurts the user."),
|
|
.effect = EFFECT_RECOIL,
|
|
.power = B_UPDATED_MOVE_DATA >= GEN_9 ? 120 : 75,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .recoilPercentage = 33 },
|
|
.makesContact = TRUE,
|
|
.skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.battleAnimScript = gBattleAnimMove_WaveCrash,
|
|
},
|
|
|
|
[MOVE_CHLOROBLAST] =
|
|
{
|
|
.name = COMPOUND_STRING("Chloroblast"),
|
|
.description = COMPOUND_STRING(
|
|
"A user-hurting blast of\n"
|
|
"amassed chlorophyll."),
|
|
.effect = EFFECT_CHLOROBLAST,
|
|
.power = B_UPDATED_MOVE_DATA >= GEN_9 ? 150 : 120,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 95,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.battleAnimScript = gBattleAnimMove_Chloroblast,
|
|
},
|
|
|
|
[MOVE_MOUNTAIN_GALE] =
|
|
{
|
|
.name = COMPOUND_STRING("Mountain Gale"),
|
|
.description = COMPOUND_STRING(
|
|
"Giant chunks of ice damage\n"
|
|
"the foe. It may flinch."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 85,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_MountainGale,
|
|
},
|
|
|
|
[MOVE_VICTORY_DANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Victory Dance"),
|
|
.description = COMPOUND_STRING(
|
|
"Dances to raise Attack,\n"
|
|
"Defense and Speed."),
|
|
.effect = EFFECT_VICTORY_DANCE,
|
|
.power = 0,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 0,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.danceMove = TRUE,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_VictoryDance,
|
|
},
|
|
|
|
[MOVE_HEADLONG_RUSH] =
|
|
{
|
|
.name = COMPOUND_STRING("Headlong Rush"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits with a full-body tackle.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_SPDEF_DOWN,
|
|
.self = TRUE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_HeadlongRush,
|
|
},
|
|
|
|
[MOVE_BARB_BARRAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Barb Barrage"),
|
|
.description = COMPOUND_STRING(
|
|
"Can poison on impact. Powers\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .status = STATUS1_PSN_ANY },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 50,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_BarbBarrage,
|
|
},
|
|
|
|
[MOVE_ESPER_WING] =
|
|
{
|
|
.name = COMPOUND_STRING("Esper Wing"),
|
|
.description = COMPOUND_STRING(
|
|
"High critical hit ratio.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_EsperWing,
|
|
},
|
|
|
|
[MOVE_BITTER_MALICE] =
|
|
{
|
|
.name = COMPOUND_STRING("Bitter Malice"),
|
|
.description = COMPOUND_STRING(
|
|
"A spine-chilling resentment.\n"
|
|
"Lowers 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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_BitterMalice,
|
|
},
|
|
|
|
[MOVE_SHELTER] =
|
|
{
|
|
.name = COMPOUND_STRING("Shelter"),
|
|
.description = COMPOUND_STRING(
|
|
"The user hardens their skin,\n"
|
|
"sharply raising its Defense."),
|
|
.effect = EFFECT_DEFENSE_UP_2,
|
|
.power = 0,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_Shelter,
|
|
},
|
|
|
|
[MOVE_TRIPLE_ARROWS] =
|
|
{
|
|
.name = COMPOUND_STRING("Triple Arrows"),
|
|
.description = COMPOUND_STRING(
|
|
"High critical hit ratio.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_MINUS_1,
|
|
.chance = 50,
|
|
},
|
|
{
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 30,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_TripleArrows,
|
|
},
|
|
|
|
[MOVE_INFERNAL_PARADE] =
|
|
{
|
|
.name = COMPOUND_STRING("Infernal Parade"),
|
|
.description = COMPOUND_STRING(
|
|
"Hurts a foe harder if it has\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .status = STATUS1_ANY },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 30,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_InfernalParade,
|
|
},
|
|
|
|
[MOVE_CEASELESS_EDGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Ceaseless Edge"),
|
|
.description = COMPOUND_STRING(
|
|
"High critical hit ratio. Sets\n"
|
|
"Splinters that hurt the foe."),
|
|
.effect = EFFECT_CEASELESS_EDGE,
|
|
.power = 65,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 90,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.sheerForceOverride = TRUE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_CeaselessEdge,
|
|
},
|
|
|
|
[MOVE_BLEAKWIND_STORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Bleakwind Storm"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits with brutal, cold winds.\n"
|
|
"May lower the foe's Speed."),
|
|
.effect = EFFECT_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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = TRUE,
|
|
.alwaysHitsInRain = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 30,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_BleakwindStorm,
|
|
},
|
|
|
|
[MOVE_WILDBOLT_STORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Wildbolt Storm"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits with a brutal tempest.\n"
|
|
"May inflict paralysis."),
|
|
.effect = EFFECT_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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = TRUE,
|
|
.alwaysHitsInRain = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 20,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_WildboltStorm,
|
|
},
|
|
|
|
[MOVE_SANDSEAR_STORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Sandsear Storm"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits with brutally hot sand.\n"
|
|
"May inflict a burn."),
|
|
.effect = EFFECT_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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.windMove = TRUE,
|
|
.alwaysHitsInRain = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 20,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_SandsearStorm,
|
|
},
|
|
|
|
[MOVE_LUNAR_BLESSING] =
|
|
{
|
|
.name = COMPOUND_STRING("Lunar Blessing"),
|
|
.description = COMPOUND_STRING(
|
|
"The user heals and cures\n"
|
|
"itself and its ally."),
|
|
.effect = EFFECT_JUNGLE_HEALING,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.healingMove = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_LunarBlessing,
|
|
},
|
|
|
|
[MOVE_TAKE_HEART] =
|
|
{
|
|
.name = COMPOUND_STRING("Take Heart"),
|
|
.description = COMPOUND_STRING(
|
|
"The user lifts its spirits to\n"
|
|
"heal and strengthen itself."),
|
|
.effect = EFFECT_TAKE_HEART,
|
|
.power = 0,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_TakeHeart,
|
|
},
|
|
|
|
[MOVE_TERA_BLAST] =
|
|
{
|
|
.name = COMPOUND_STRING("Tera Blast"),
|
|
.description = COMPOUND_STRING(
|
|
"If the user's Terastallized,\n"
|
|
"it hits with its Tera type."),
|
|
.effect = EFFECT_TERA_BLAST,
|
|
.power = 80,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.forcePressure = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_TERA_BLAST,
|
|
.self = TRUE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_TeraBlast,
|
|
},
|
|
|
|
[MOVE_SILK_TRAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Silk Trap"),
|
|
.description = COMPOUND_STRING(
|
|
"Protects itself, lowering\n"
|
|
"Speed on contact."),
|
|
.effect = EFFECT_PROTECT,
|
|
.power = 0,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 4,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_SILK_TRAP },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_SilkTrap,
|
|
},
|
|
|
|
[MOVE_AXE_KICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Axe Kick"),
|
|
.description = COMPOUND_STRING(
|
|
"May miss and hurt the kicker.\n"
|
|
"May cause confusion."),
|
|
.effect = EFFECT_RECOIL_IF_MISS,
|
|
.power = 120,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.chance = 30,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_AxeKick,
|
|
},
|
|
|
|
[MOVE_LAST_RESPECTS] =
|
|
{
|
|
.name = COMPOUND_STRING("Last Respects"),
|
|
.description = COMPOUND_STRING(
|
|
"This move deals more damage\n"
|
|
"for each defeated ally."),
|
|
.effect = EFFECT_LAST_RESPECTS,
|
|
.power = 50,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE, // Only since it isn't implemented yet
|
|
.battleAnimScript = gBattleAnimMove_LastRespects,
|
|
},
|
|
|
|
[MOVE_LUMINA_CRASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Lumina Crash"),
|
|
.description = COMPOUND_STRING(
|
|
"A mind-affecting light\n"
|
|
"harshly lowers Sp. Def."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_DEF_MINUS_2,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_LuminaCrash,
|
|
},
|
|
|
|
[MOVE_ORDER_UP] =
|
|
{
|
|
.name = COMPOUND_STRING("Order Up"),
|
|
.description = COMPOUND_STRING(
|
|
"Boosts a user's stats\n"
|
|
"depending on Tatsugiri."),
|
|
.effect = EFFECT_ORDER_UP,
|
|
.power = 80,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ORDER_UP,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_OrderUp,
|
|
},
|
|
|
|
[MOVE_JET_PUNCH] =
|
|
{
|
|
.name = COMPOUND_STRING("Jet Punch"),
|
|
.description = COMPOUND_STRING(
|
|
"A punch is thrown at blinding\n"
|
|
"speed to strike first."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_JetPunch,
|
|
},
|
|
|
|
[MOVE_SPICY_EXTRACT] =
|
|
{
|
|
.name = COMPOUND_STRING("Spicy Extract"),
|
|
.description = COMPOUND_STRING(
|
|
"Sharply ups target's Attack,\n"
|
|
"harshly lowers its Defense."),
|
|
.effect = EFFECT_SPICY_EXTRACT,
|
|
.power = 0,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.magicCoatAffected = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_SpicyExtract,
|
|
},
|
|
|
|
[MOVE_SPIN_OUT] =
|
|
{
|
|
.name = COMPOUND_STRING("Spin Out"),
|
|
.description = COMPOUND_STRING(
|
|
"Furiously strains its legs.\n"
|
|
"Harshly lowers user's Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_2,
|
|
.self = TRUE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_SpinOut,
|
|
},
|
|
|
|
[MOVE_POPULATION_BOMB] =
|
|
{
|
|
.name = COMPOUND_STRING("Population Bomb"),
|
|
.description = COMPOUND_STRING(
|
|
"The user's fellows hit one\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.strikeCount = 10,
|
|
.battleAnimScript = gBattleAnimMove_PopulationBomb,
|
|
},
|
|
|
|
[MOVE_ICE_SPINNER] =
|
|
{
|
|
.name = COMPOUND_STRING("Ice Spinner"),
|
|
.description = COMPOUND_STRING(
|
|
"Ice-covered feet hit a foe\n"
|
|
"and destroy the terrain."),
|
|
.effect = EFFECT_ICE_SPINNER,
|
|
.power = 80,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.battleAnimScript = gBattleAnimMove_IceSpinner,
|
|
},
|
|
|
|
[MOVE_GLAIVE_RUSH] =
|
|
{
|
|
.name = COMPOUND_STRING("Glaive Rush"),
|
|
.description = COMPOUND_STRING(
|
|
"Foe attacks next turn can't\n"
|
|
"miss and do double damage."),
|
|
.effect = EFFECT_GLAIVE_RUSH,
|
|
.power = 120,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_GlaiveRush,
|
|
},
|
|
|
|
[MOVE_REVIVAL_BLESSING] =
|
|
{
|
|
.name = COMPOUND_STRING("Revival Blessing"),
|
|
.description = COMPOUND_STRING(
|
|
"Revives a fainted party {PKMN}\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.healingMove = TRUE,
|
|
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
|
.battleAnimScript = gBattleAnimMove_RevivalBlessing,
|
|
},
|
|
|
|
[MOVE_SALT_CURE] =
|
|
{
|
|
.name = COMPOUND_STRING("Salt Cure"),
|
|
.description = COMPOUND_STRING(
|
|
"Hurts foe every turn. Double\n"
|
|
"damage to Steel and Water."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SALT_CURE,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_SaltCure,
|
|
},
|
|
|
|
[MOVE_TRIPLE_DIVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Triple Dive"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits target with splashes\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.strikeCount = 3,
|
|
.battleAnimScript = gBattleAnimMove_TripleDive,
|
|
},
|
|
|
|
[MOVE_MORTAL_SPIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Mortal Spin"),
|
|
.description = COMPOUND_STRING(
|
|
"Erases trap moves and Leech\n"
|
|
"Seed. Poisons adjacent foes."),
|
|
.effect = EFFECT_RAPID_SPIN,
|
|
.power = 30,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS(
|
|
{
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_MortalSpin,
|
|
},
|
|
|
|
[MOVE_DOODLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Doodle"),
|
|
.description = COMPOUND_STRING(
|
|
"Changes user's and ally's\n"
|
|
"Ability into the target's."),
|
|
.effect = EFFECT_DOODLE,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_Doodle,
|
|
},
|
|
|
|
[MOVE_FILLET_AWAY] =
|
|
{
|
|
.name = COMPOUND_STRING("Fillet Away"),
|
|
.description = COMPOUND_STRING(
|
|
"Sharply boosts offenses and\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RECOVER_HP },
|
|
.snatchAffected = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_FilletAway,
|
|
},
|
|
|
|
[MOVE_KOWTOW_CLEAVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Kowtow Cleave"),
|
|
.description = COMPOUND_STRING(
|
|
"User slashes the foe after\n"
|
|
"kowtowing. It never misses."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 85,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_KowtowCleave,
|
|
},
|
|
|
|
[MOVE_FLOWER_TRICK] =
|
|
{
|
|
.name = COMPOUND_STRING("Flower Trick"),
|
|
.description = COMPOUND_STRING(
|
|
"Rigged bouquet. Always gets\n"
|
|
"a critical hit, never missing."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.alwaysCriticalHit = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_FlowerTrick,
|
|
},
|
|
|
|
[MOVE_TORCH_SONG] =
|
|
{
|
|
.name = COMPOUND_STRING("Torch Song"),
|
|
.description = COMPOUND_STRING(
|
|
"Flames scorch the target.\n"
|
|
"Boosts the user's Sp. Atk."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.soundMove = TRUE,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_TorchSong,
|
|
},
|
|
|
|
[MOVE_AQUA_STEP] =
|
|
{
|
|
.name = COMPOUND_STRING("Aqua Step"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits with light, fluid dance\n"
|
|
"steps. Ups the user's Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.danceMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_AquaStep,
|
|
},
|
|
|
|
[MOVE_RAGING_BULL] =
|
|
{
|
|
.name = COMPOUND_STRING("Raging Bull"),
|
|
.description = COMPOUND_STRING(
|
|
"Tackle that breaks barriers.\n"
|
|
"User's form determines type."),
|
|
.effect = EFFECT_RAGING_BULL,
|
|
.power = 90,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_RagingBull,
|
|
},
|
|
|
|
[MOVE_MAKE_IT_RAIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Make It Rain"),
|
|
.description = COMPOUND_STRING(
|
|
"Lowers the user's Sp. Atk.\n"
|
|
"Money is recovered after."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PAYDAY,
|
|
},
|
|
{
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1,
|
|
.self = TRUE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_MakeItRain,
|
|
},
|
|
|
|
[MOVE_RUINATION] =
|
|
{
|
|
.name = COMPOUND_STRING("Ruination"),
|
|
.description = COMPOUND_STRING(
|
|
"Summons a ruinous disaster\n"
|
|
"and cuts half the foe's HP."),
|
|
.effect = EFFECT_FIXED_PERCENT_DAMAGE,
|
|
.power = 1,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 90,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_Ruination,
|
|
},
|
|
|
|
[MOVE_COLLISION_COURSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Collision Course"),
|
|
.description = COMPOUND_STRING(
|
|
"Prehistoric explosion that's\n"
|
|
"stronger if super effective."),
|
|
.effect = EFFECT_COLLISION_COURSE,
|
|
.power = 100,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_CollisionCourse,
|
|
},
|
|
|
|
[MOVE_ELECTRO_DRIFT] =
|
|
{
|
|
.name = COMPOUND_STRING("Electro Drift"),
|
|
.description = COMPOUND_STRING(
|
|
"Futuristic electricity. It's\n"
|
|
"stronger if super effective."),
|
|
.effect = EFFECT_COLLISION_COURSE,
|
|
.power = 100,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_ElectroDrift,
|
|
},
|
|
|
|
[MOVE_SHED_TAIL] =
|
|
{
|
|
.name = COMPOUND_STRING("Shed Tail"),
|
|
.description = COMPOUND_STRING(
|
|
"Creates a Substitute for\n"
|
|
"itself before switching out."),
|
|
.effect = EFFECT_SHED_TAIL,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_ShedTail,
|
|
},
|
|
|
|
[MOVE_CHILLY_RECEPTION] =
|
|
{
|
|
.name = COMPOUND_STRING("Chilly Reception"),
|
|
#if B_PREFERRED_ICE_WEATHER == B_ICE_WEATHER_HAIL
|
|
.description = COMPOUND_STRING(
|
|
"Bad joke summons hailstorm.\n"
|
|
"The user also switches out."),
|
|
#else
|
|
.description = COMPOUND_STRING(
|
|
"Bad joke summons snowstorm.\n"
|
|
"The user also switches out."),
|
|
#endif
|
|
.effect = EFFECT_CHILLY_RECEPTION,
|
|
.power = 0,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_ChillyReception,
|
|
},
|
|
|
|
[MOVE_TIDY_UP] =
|
|
{
|
|
.name = COMPOUND_STRING("Tidy Up"),
|
|
.description = COMPOUND_STRING(
|
|
"User tidies up hazards and\n"
|
|
"raises its Attack and Speed."),
|
|
.effect = EFFECT_TIDY_UP,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_TidyUp,
|
|
},
|
|
|
|
[MOVE_SNOWSCAPE] =
|
|
{
|
|
.name = COMPOUND_STRING("Snowscape"),
|
|
#if B_PREFERRED_ICE_WEATHER == B_ICE_WEATHER_HAIL
|
|
.description = COMPOUND_STRING(
|
|
"Summons a hailstorm that\n"
|
|
"strikes every turn."),
|
|
.effect = EFFECT_HAIL,
|
|
#else
|
|
.description = COMPOUND_STRING(
|
|
"Summons a snowstorm that\n"
|
|
"lasts for five turns."),
|
|
.effect = EFFECT_SNOWSCAPE,
|
|
#endif
|
|
.power = 0,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_ALL_BATTLERS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.zMove = { .effect = Z_EFFECT_SPD_UP_1 },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = (B_PREFERRED_ICE_WEATHER == B_ICE_WEATHER_HAIL) ? gBattleAnimMove_Hail : gBattleAnimMove_Snowscape,
|
|
},
|
|
|
|
[MOVE_POUNCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Pounce"),
|
|
.description = COMPOUND_STRING(
|
|
"The user pounces on the foe,\n"
|
|
"lowering its Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_Pounce,
|
|
},
|
|
|
|
[MOVE_TRAILBLAZE] =
|
|
{
|
|
.name = COMPOUND_STRING("Trailblaze"),
|
|
.description = COMPOUND_STRING(
|
|
"The user attacks suddenly,\n"
|
|
"raising its Speed."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPD_PLUS_1,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_Trailblaze,
|
|
},
|
|
|
|
[MOVE_CHILLING_WATER] =
|
|
{
|
|
.name = COMPOUND_STRING("Chilling Water"),
|
|
.description = COMPOUND_STRING(
|
|
"A shower with ice-cold water\n"
|
|
"lowers the target's Attack."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ATK_MINUS_1,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_ChillingWater,
|
|
},
|
|
|
|
[MOVE_HYPER_DRILL] =
|
|
{
|
|
.name = COMPOUND_STRING("Hyper Drill"),
|
|
.description = COMPOUND_STRING(
|
|
"A spinning pointed part\n"
|
|
"bypasses a foe's Protect."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_HyperDrill,
|
|
},
|
|
|
|
[MOVE_TWIN_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Twin Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"Mystical eye-beams that hit\n"
|
|
"the target twice in a row."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 40,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.strikeCount = 2,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_TwinBeam,
|
|
},
|
|
|
|
[MOVE_RAGE_FIST] =
|
|
{
|
|
.name = COMPOUND_STRING("Rage Fist"),
|
|
.description = COMPOUND_STRING(
|
|
"The more the user has been\n"
|
|
"hit, the stronger the move."),
|
|
.effect = EFFECT_RAGE_FIST,
|
|
.power = 50,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.punchingMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_RageFist,
|
|
},
|
|
|
|
[MOVE_ARMOR_CANNON] =
|
|
{
|
|
.name = COMPOUND_STRING("Armor Cannon"),
|
|
.description = COMPOUND_STRING(
|
|
"A strong attack but lowers\n"
|
|
"the defensive stats."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 120,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEF_SPDEF_DOWN,
|
|
.self = TRUE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_ArmorCannon,
|
|
},
|
|
|
|
[MOVE_BITTER_BLADE] =
|
|
{
|
|
.name = COMPOUND_STRING("Bitter Blade"),
|
|
.description = COMPOUND_STRING(
|
|
"An attack that absorbs\n"
|
|
"half the damage inflicted."),
|
|
.effect = EFFECT_ABSORB,
|
|
.power = 90,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.argument = { .absorbPercentage = 50 },
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.healingMove = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_BitterBlade,
|
|
},
|
|
|
|
[MOVE_DOUBLE_SHOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("Double Shock"),
|
|
.description = COMPOUND_STRING(
|
|
"Discharges all electricity,\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.argument = { .type = TYPE_ELECTRIC },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_REMOVE_ARG_TYPE,
|
|
.self = TRUE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_DoubleShock,
|
|
},
|
|
|
|
[MOVE_GIGATON_HAMMER] =
|
|
{
|
|
.name = COMPOUND_STRING("Gigaton Hammer"),
|
|
.description = COMPOUND_STRING(
|
|
"Swings a huge hammer. Can't\n"
|
|
"be used twice in a row."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 160,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.cantUseTwice = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_GigatonHammer,
|
|
},
|
|
|
|
[MOVE_COMEUPPANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("Comeuppance"),
|
|
.description = COMPOUND_STRING(
|
|
"Retaliates strongly against\n"
|
|
"who last hurt the user."),
|
|
.effect = EFFECT_METAL_BURST,
|
|
.power = 1,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_DEPENDS,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.meFirstBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_Comeuppance,
|
|
},
|
|
|
|
[MOVE_AQUA_CUTTER] =
|
|
{
|
|
.name = COMPOUND_STRING("Aqua Cutter"),
|
|
.description = COMPOUND_STRING(
|
|
"Pressurized water cut with a\n"
|
|
"high critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 70,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.criticalHitStage = 1,
|
|
.pp = 20,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.slicingMove = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_AquaCutter,
|
|
},
|
|
|
|
[MOVE_BLAZING_TORQUE] =
|
|
{
|
|
.name = COMPOUND_STRING("Blazing Torque"),
|
|
.description = COMPOUND_STRING("---"),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.meFirstBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.encoreBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 30,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_BlazingTorque,
|
|
},
|
|
|
|
[MOVE_WICKED_TORQUE] =
|
|
{
|
|
.name = COMPOUND_STRING("Wicked Torque"),
|
|
.description = COMPOUND_STRING("---"),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.meFirstBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.encoreBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SLEEP,
|
|
.chance = 10,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_WickedTorque,
|
|
},
|
|
|
|
[MOVE_NOXIOUS_TORQUE] =
|
|
{
|
|
.name = COMPOUND_STRING("Noxious Torque"),
|
|
.description = COMPOUND_STRING("---"),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.meFirstBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.encoreBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON,
|
|
.chance = 30,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_NoxiousTorque,
|
|
},
|
|
|
|
[MOVE_COMBAT_TORQUE] =
|
|
{
|
|
.name = COMPOUND_STRING("Combat Torque"),
|
|
.description = COMPOUND_STRING("---"),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.meFirstBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.encoreBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 30,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_CombatTorque,
|
|
},
|
|
|
|
[MOVE_MAGICAL_TORQUE] =
|
|
{
|
|
.name = COMPOUND_STRING("Magical Torque"),
|
|
.description = COMPOUND_STRING("---"),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.mirrorMoveBanned = TRUE,
|
|
.meFirstBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.sleepTalkBanned = TRUE,
|
|
.instructBanned = TRUE,
|
|
.encoreBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.chance = 30,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_MagicalTorque,
|
|
},
|
|
|
|
[MOVE_PSYBLADE] =
|
|
{
|
|
.name = COMPOUND_STRING("Psyblade"),
|
|
.description = COMPOUND_STRING(
|
|
"This move's power increases\n"
|
|
"when on Electric Terrain."),
|
|
.effect = EFFECT_PSYBLADE,
|
|
.power = 80,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.slicingMove = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_Psyblade,
|
|
},
|
|
|
|
[MOVE_HYDRO_STEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Hydro Steam"),
|
|
.description = COMPOUND_STRING(
|
|
"This move's power increases\n"
|
|
"under harsh sunlight."),
|
|
.effect = EFFECT_HYDRO_STEAM,
|
|
.power = 80,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.thawsUser = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_HydroSteam,
|
|
},
|
|
|
|
[MOVE_BLOOD_MOON] =
|
|
{
|
|
.name = COMPOUND_STRING("Blood Moon"),
|
|
.description = COMPOUND_STRING(
|
|
"Unleashes the blood moon.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.cantUseTwice = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_BloodMoon,
|
|
},
|
|
|
|
[MOVE_MATCHA_GOTCHA] =
|
|
{
|
|
.name = COMPOUND_STRING("Matcha Gotcha"),
|
|
.description = COMPOUND_STRING(
|
|
"Absorbs half the damage\n"
|
|
"inflicted. May cause a burn."),
|
|
.effect = EFFECT_ABSORB,
|
|
.power = 80,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 90,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .absorbPercentage = 50 },
|
|
.thawsUser = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.healingMove = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_BURN,
|
|
.chance = 20,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_MatchaGotcha,
|
|
},
|
|
|
|
[MOVE_SYRUP_BOMB] =
|
|
{
|
|
.name = COMPOUND_STRING("Syrup Bomb"),
|
|
.description = COMPOUND_STRING(
|
|
"Lowers the foe's speed\n"
|
|
"each turn for 3 turns."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 60,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 85,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ballisticMove = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SYRUP_BOMB,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_SyrupBomb,
|
|
},
|
|
|
|
[MOVE_IVY_CUDGEL] =
|
|
{
|
|
.name = COMPOUND_STRING("Ivy Cudgel"),
|
|
.description = COMPOUND_STRING(
|
|
"Type changes with held mask.\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.metronomeBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_IvyCudgel,
|
|
},
|
|
|
|
[MOVE_ELECTRO_SHOT] =
|
|
{
|
|
.name = COMPOUND_STRING("Electro Shot"),
|
|
.description = COMPOUND_STRING(
|
|
"Gathers electricity, then\n"
|
|
"fires a high-voltage shot."),
|
|
.effect = EFFECT_TWO_TURNS_ATTACK,
|
|
.power = 130,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument.twoTurnAttack = { .stringId = STRINGID_ELECTROSHOTCHARGING, .status = B_WEATHER_RAIN },
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SP_ATK_PLUS_1,
|
|
.self = TRUE,
|
|
.onChargeTurnOnly = TRUE,
|
|
.sheerForceOverride = TRUE,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_ElectroShot,
|
|
},
|
|
|
|
[MOVE_TERA_STARSTORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Tera Starstorm"),
|
|
.description = COMPOUND_STRING(
|
|
"In Terapagos's Stellar\n"
|
|
"Form, it hits all foes."),
|
|
.effect = EFFECT_TERA_STARSTORM,
|
|
.power = 120,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.assistBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.mimicBanned = TRUE,
|
|
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
|
.battleAnimScript = gBattleAnimMove_TeraStarstorm,
|
|
},
|
|
|
|
[MOVE_FICKLE_BEAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Fickle Beam"),
|
|
.description = COMPOUND_STRING(
|
|
"Shoots a beam of light.\n"
|
|
"Sometimes twice as strong."),
|
|
.effect = EFFECT_FICKLE_BEAM,
|
|
.power = 80,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.battleAnimScript = gBattleAnimMove_FickleBeam,
|
|
},
|
|
|
|
[MOVE_BURNING_BULWARK] =
|
|
{
|
|
.name = COMPOUND_STRING("Burning Bulwark"),
|
|
.description = COMPOUND_STRING(
|
|
"Evades attack, and burns\n"
|
|
"the foe if struck."),
|
|
.effect = EFFECT_PROTECT,
|
|
.power = 0,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 4,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_BURNING_BULWARK },
|
|
.zMove = { .effect = Z_EFFECT_RESET_STATS },
|
|
.ignoresProtect = TRUE,
|
|
.mirrorMoveBanned = TRUE,
|
|
.metronomeBanned = TRUE,
|
|
.copycatBanned = TRUE,
|
|
.assistBanned = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_BurningBulwark,
|
|
},
|
|
|
|
[MOVE_THUNDERCLAP] =
|
|
{
|
|
.name = COMPOUND_STRING("Thunderclap"),
|
|
.description = sSuckerPunchDescription,
|
|
.effect = EFFECT_SUCKER_PUNCH,
|
|
.power = 70,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 1,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.battleAnimScript = gBattleAnimMove_Thunderclap,
|
|
},
|
|
|
|
[MOVE_MIGHTY_CLEAVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Mighty Cleave"),
|
|
.description = sFeintDescription,
|
|
.effect = EFFECT_HIT,
|
|
.power = 95,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.ignoresProtect = TRUE,
|
|
.slicingMove = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_MightyCleave,
|
|
},
|
|
|
|
[MOVE_TACHYON_CUTTER] =
|
|
{
|
|
.name = COMPOUND_STRING("Tachyon Cutter"),
|
|
.description = COMPOUND_STRING(
|
|
"Launches particle blades at\n"
|
|
"the target. Strikes twice."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 50,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.strikeCount = 2,
|
|
.slicingMove = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_TachyonCutter,
|
|
},
|
|
|
|
[MOVE_HARD_PRESS] =
|
|
{
|
|
.name = COMPOUND_STRING("Hard Press"),
|
|
.description = sWringOutDescription,
|
|
.effect = EFFECT_POWER_BASED_ON_TARGET_HP,
|
|
.power = 100,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_HardPress,
|
|
},
|
|
|
|
[MOVE_DRAGON_CHEER] =
|
|
{
|
|
.name = COMPOUND_STRING("Dragon Cheer"),
|
|
.description = COMPOUND_STRING(
|
|
"Increases allies' critical hit\n"
|
|
"ratio, especially if Dragons."),
|
|
.effect = EFFECT_DRAGON_CHEER,
|
|
.power = 0,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 0,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_ALLY,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.ignoresSubstitute = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_DragonCheer,
|
|
},
|
|
|
|
[MOVE_ALLURING_VOICE] =
|
|
{
|
|
.name = COMPOUND_STRING("Alluring Voice"),
|
|
.description = COMPOUND_STRING(
|
|
"Confuses foe if its stats\n"
|
|
"were boosted this turn."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 80,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.soundMove = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSION,
|
|
.onlyIfTargetRaisedStats = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_AlluringVoice,
|
|
},
|
|
|
|
[MOVE_TEMPER_FLARE] =
|
|
{
|
|
.name = COMPOUND_STRING("Temper Flare"),
|
|
.description = COMPOUND_STRING(
|
|
"A desperation attack. Power\n"
|
|
"doubles if last move failed."),
|
|
.effect = EFFECT_STOMPING_TANTRUM,
|
|
.power = 75,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_TemperFlare,
|
|
},
|
|
|
|
[MOVE_SUPERCELL_SLAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Supercell Slam"),
|
|
.description = COMPOUND_STRING(
|
|
"An electrified slam. If it\n"
|
|
"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,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.minimizeDoubleDamage = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_SupercellSlam,
|
|
},
|
|
|
|
[MOVE_PSYCHIC_NOISE] =
|
|
{
|
|
.name = COMPOUND_STRING("Psychic Noise"),
|
|
.description = COMPOUND_STRING(
|
|
"Sound waves that damage and\n"
|
|
"prevent healing for 2 turns."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 75,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 100,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.soundMove = TRUE,
|
|
.ignoresSubstitute = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PSYCHIC_NOISE,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_PsychicNoise,
|
|
},
|
|
|
|
[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."),
|
|
.power = 65,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 100,
|
|
.pp = 15,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 3,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.makesContact = TRUE,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FLINCH,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_UpperHand,
|
|
},
|
|
|
|
[MOVE_MALIGNANT_CHAIN] =
|
|
{
|
|
.name = COMPOUND_STRING("Malignant Chain"),
|
|
.description = COMPOUND_STRING(
|
|
"A corrosive chain attack\n"
|
|
"that may badly poison."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 100,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 100,
|
|
.pp = 5,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_TOXIC,
|
|
.chance = 50,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_MalignantChain,
|
|
},
|
|
|
|
// Z-Moves
|
|
[MOVE_BREAKNECK_BLITZ] =
|
|
{
|
|
.name = COMPOUND_STRING("Breakneck Blitz"),
|
|
.description = COMPOUND_STRING(
|
|
"Builds momentum and crashes\n"
|
|
"into the foe. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL, //determined from move type
|
|
.battleAnimScript = gBattleAnimMove_BreakneckBlitz,
|
|
},
|
|
[MOVE_ALL_OUT_PUMMELING] =
|
|
{
|
|
.name = COMPOUND_STRING("All-Out Pummeling"),
|
|
.description = COMPOUND_STRING(
|
|
"Rams an energy orb into\n"
|
|
"the target. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_AllOutPummeling,
|
|
},
|
|
[MOVE_SUPERSONIC_SKYSTRIKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Supersonic Skystrike"),
|
|
.description = COMPOUND_STRING(
|
|
"Soars up and plummets toward\n"
|
|
"the target. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_SupersonicSkystrike,
|
|
},
|
|
[MOVE_ACID_DOWNPOUR] =
|
|
{
|
|
.name = COMPOUND_STRING("Acid Downpour"),
|
|
.description = COMPOUND_STRING(
|
|
"Sinks the target in a poison\n"
|
|
"swamp. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_AcidDownpour,
|
|
},
|
|
[MOVE_TECTONIC_RAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("Tectonic Rage"),
|
|
.description = COMPOUND_STRING(
|
|
"Burrows deep and slams into\n"
|
|
"the target. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.battleAnimScript = gBattleAnimMove_TectonicRage,
|
|
},
|
|
[MOVE_CONTINENTAL_CRUSH] =
|
|
{
|
|
.name = COMPOUND_STRING("Continental Crush"),
|
|
.description = COMPOUND_STRING(
|
|
"Drops a huge rock mountain\n"
|
|
"on the foe. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_ContinentalCrush,
|
|
},
|
|
[MOVE_SAVAGE_SPIN_OUT] =
|
|
{
|
|
.name = COMPOUND_STRING("Savage Spin-Out"),
|
|
.description = COMPOUND_STRING(
|
|
"Spits threads of silk to\n"
|
|
"bind the foe. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_SavageSpinOut,
|
|
},
|
|
[MOVE_NEVER_ENDING_NIGHTMARE] =
|
|
{
|
|
.name = COMPOUND_STRING("Never-Ending Nightmare"),
|
|
.description = COMPOUND_STRING(
|
|
"Deep-seated grudges trap\n"
|
|
"the target. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_NeverEndingNightmare,
|
|
},
|
|
[MOVE_CORKSCREW_CRASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Corkscrew Crash"),
|
|
.description = COMPOUND_STRING(
|
|
"Spins very fast and rams\n"
|
|
"the target. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_CorkscrewCrash,
|
|
},
|
|
[MOVE_INFERNO_OVERDRIVE] =
|
|
{
|
|
.name = COMPOUND_STRING("Inferno Overdrive"),
|
|
.description = COMPOUND_STRING(
|
|
"Breathes intense fire at\n"
|
|
"the target. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_InfernoOverdrive,
|
|
},
|
|
[MOVE_HYDRO_VORTEX] =
|
|
{
|
|
.name = COMPOUND_STRING("Hydro Vortex"),
|
|
.description = COMPOUND_STRING(
|
|
"A huge whirlpool swallows\n"
|
|
"the target. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_HydroVortex,
|
|
},
|
|
[MOVE_BLOOM_DOOM] =
|
|
{
|
|
.name = COMPOUND_STRING("Bloom Doom"),
|
|
.description = COMPOUND_STRING(
|
|
"Uses plant energy to attack\n"
|
|
"the target. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_BloomDoom,
|
|
},
|
|
[MOVE_GIGAVOLT_HAVOC] =
|
|
{
|
|
.name = COMPOUND_STRING("Gigavolt Havoc"),
|
|
.description = COMPOUND_STRING(
|
|
"Hits the foe with powerful\n"
|
|
"electricity. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GigavoltHavoc,
|
|
},
|
|
[MOVE_SHATTERED_PSYCHE] =
|
|
{
|
|
.name = COMPOUND_STRING("Shattered Psyche"),
|
|
.description = COMPOUND_STRING(
|
|
"Controls the target to\n"
|
|
"hurt it. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_ShatteredPsyche,
|
|
},
|
|
[MOVE_SUBZERO_SLAMMER] =
|
|
{
|
|
.name = COMPOUND_STRING("Subzero Slammer"),
|
|
.description = COMPOUND_STRING(
|
|
"Drops the temp and freezes\n"
|
|
"the target. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_SubzeroSlammer,
|
|
},
|
|
[MOVE_DEVASTATING_DRAKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Devastating Drake"),
|
|
.description = COMPOUND_STRING(
|
|
"Develops aura and attacks\n"
|
|
"the target. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_DevastatingDrake,
|
|
},
|
|
[MOVE_BLACK_HOLE_ECLIPSE] =
|
|
{
|
|
.name = COMPOUND_STRING("Black Hole Eclipse"),
|
|
.description = COMPOUND_STRING(
|
|
"Sucks the target into dark\n"
|
|
"energy. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_BlackHoleEclipse,
|
|
},
|
|
[MOVE_TWINKLE_TACKLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Twinkle Tackle"),
|
|
.description = COMPOUND_STRING(
|
|
"Toys with the target in a\n"
|
|
"charming space. Power varies."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 1,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_TwinkleTackle,
|
|
},
|
|
[MOVE_CATASTROPIKA] =
|
|
{
|
|
.name = COMPOUND_STRING("Catastropika"),
|
|
.description = COMPOUND_STRING(
|
|
"Pikachu uses the max amount\n"
|
|
"of electricity and pounces."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 210,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_Catastropika,
|
|
},
|
|
[MOVE_10000000_VOLT_THUNDERBOLT] =
|
|
{
|
|
.name = COMPOUND_STRING("10,000,000 Volt Thunderbolt"),
|
|
.description = COMPOUND_STRING(
|
|
"Cap Pikachu unleashes jolt.\n"
|
|
"High critical-hit ratio."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 195,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.criticalHitStage = 2,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.battleAnimScript = gBattleAnimMove_10000000VoltThunderbolt,
|
|
},
|
|
[MOVE_STOKED_SPARKSURFER] =
|
|
{
|
|
.name = COMPOUND_STRING("Stoked Sparksurfer"),
|
|
.description = COMPOUND_STRING(
|
|
"Alolan Raichu attacks with\n"
|
|
"full force. Causes paralysis."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 175,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYSIS,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_StokedSparksurfer,
|
|
},
|
|
[MOVE_EXTREME_EVOBOOST] =
|
|
{
|
|
.name = COMPOUND_STRING("Extreme Evoboost"),
|
|
.description = COMPOUND_STRING(
|
|
"Eevee gets energy from\n"
|
|
"its friends. Boosts stats."),
|
|
.effect = EFFECT_EXTREME_EVOBOOST,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.battleAnimScript = gBattleAnimMove_ExtremeEvoboost,
|
|
},
|
|
[MOVE_PULVERIZING_PANCAKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Pulverizing Pancake"),
|
|
.description = COMPOUND_STRING(
|
|
"Snorlax energetically moves\n"
|
|
"and attacks with full force."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 210,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_PulverizingPancake,
|
|
},
|
|
[MOVE_GENESIS_SUPERNOVA] =
|
|
{
|
|
.name = COMPOUND_STRING("Genesis Supernova"),
|
|
.description = COMPOUND_STRING(
|
|
"Mew attacks with full force.\n"
|
|
"Psychically charges terrain."),
|
|
.effect = EFFECT_HIT_SET_TERRAIN,
|
|
.power = 185,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .moveProperty = STATUS_FIELD_PSYCHIC_TERRAIN },
|
|
.battleAnimScript = gBattleAnimMove_GenesisSupernova,
|
|
},
|
|
[MOVE_SINISTER_ARROW_RAID] =
|
|
{
|
|
.name = COMPOUND_STRING("Sinister Arrow Raid"),
|
|
.description = COMPOUND_STRING(
|
|
"Decidueye shoots countless\n"
|
|
"arrows with full force."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 180,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_SinisterArrowRaid,
|
|
},
|
|
[MOVE_MALICIOUS_MOONSAULT] =
|
|
{
|
|
.name = COMPOUND_STRING("Malicious Moonsault"),
|
|
.description = COMPOUND_STRING(
|
|
"Incineroar crashes into\n"
|
|
"the target with full force."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 180,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaliciousMoonsault,
|
|
},
|
|
[MOVE_OCEANIC_OPERETTA] =
|
|
{
|
|
.name = COMPOUND_STRING("Oceanic Operetta"),
|
|
.description = COMPOUND_STRING(
|
|
"Primarina summons a massive\n"
|
|
"amount of water at the foe."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 195,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.battleAnimScript = gBattleAnimMove_OceanicOperetta,
|
|
},
|
|
[MOVE_SPLINTERED_STORMSHARDS] =
|
|
{
|
|
.name = COMPOUND_STRING("Splintered Stormshards"),
|
|
.description = COMPOUND_STRING(
|
|
"Lycanroc attacks with full\n"
|
|
"force. Removes all terrain."),
|
|
.effect = EFFECT_ICE_SPINNER,
|
|
.power = 190,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_SplinteredStormshards,
|
|
},
|
|
[MOVE_LETS_SNUGGLE_FOREVER] =
|
|
{
|
|
.name = COMPOUND_STRING("Let's Snuggle Forever"),
|
|
.description = COMPOUND_STRING(
|
|
"Mimikyu punches the target\n"
|
|
"with full force."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 190,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_LetsSnuggleForever,
|
|
},
|
|
[MOVE_CLANGOROUS_SOULBLAZE] =
|
|
{
|
|
.name = COMPOUND_STRING("Clangorous Soulblaze"),
|
|
.description = COMPOUND_STRING(
|
|
"Kommo-o attacks with full\n"
|
|
"force. Boosts all stats."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 185,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_BOTH,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.soundMove = TRUE,
|
|
.ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ALL_STATS_UP,
|
|
.self = TRUE,
|
|
.chance = 100,
|
|
}),
|
|
.battleAnimScript = gBattleAnimMove_ClangorousSoulblaze,
|
|
},
|
|
[MOVE_GUARDIAN_OF_ALOLA] =
|
|
{
|
|
.name = COMPOUND_STRING("Guardian of Alola"),
|
|
.description = COMPOUND_STRING(
|
|
"The Land Spirit Pokémon\n"
|
|
"greatly reduces the foe's HP."),
|
|
.effect = EFFECT_FIXED_PERCENT_DAMAGE,
|
|
.power = 1,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.argument = { .damagePercentage = 75 },
|
|
.battleAnimScript = gBattleAnimMove_GuardianOfAlola,
|
|
},
|
|
[MOVE_SEARING_SUNRAZE_SMASH] =
|
|
{
|
|
.name = COMPOUND_STRING("Searing Sunraze Smash"),
|
|
.description = COMPOUND_STRING(
|
|
"Solgaleo attacks with full\n"
|
|
"force. Ignores abilities."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 200,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresTargetAbility = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_SearingSunrazeSmash,
|
|
},
|
|
[MOVE_MENACING_MOONRAZE_MAELSTROM] =
|
|
{
|
|
.name = COMPOUND_STRING("Menacing Moonraze Maelstrom"),
|
|
.description = COMPOUND_STRING(
|
|
"Lunala attacks with full\n"
|
|
"force. Ignores abilities."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 200,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresTargetAbility = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_MenacingMoonrazeMaelstrom,
|
|
},
|
|
[MOVE_LIGHT_THAT_BURNS_THE_SKY] =
|
|
{
|
|
.name = COMPOUND_STRING("Light That Burns the Sky"),
|
|
.description = COMPOUND_STRING(
|
|
"Uses Necrozma's highest\n"
|
|
"attack. Ignores abilities."),
|
|
.effect = EFFECT_PHOTON_GEYSER,
|
|
.power = 200,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_SPECIAL,
|
|
.ignoresTargetAbility = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_LightThatBurnsTheSky,
|
|
},
|
|
[MOVE_SOUL_STEALING_7_STAR_STRIKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Soul-Stealing 7-Star Strike"),
|
|
.description = COMPOUND_STRING(
|
|
"Marshadow punches and\n"
|
|
"kicks with full force."),
|
|
.effect = EFFECT_HIT,
|
|
.power = 195,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 0,
|
|
.pp = 1,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_SoulStealing7StarStrike,
|
|
},
|
|
|
|
[MOVE_MAX_GUARD] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Guard"),
|
|
.description = sProtectDescription,
|
|
.effect = EFFECT_PROTECT,
|
|
.power = 0,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_USER,
|
|
.priority = 4,
|
|
.category = DAMAGE_CATEGORY_STATUS,
|
|
.argument = { .protectMethod = PROTECT_MAX_GUARD },
|
|
.battleAnimScript = gBattleAnimMove_MaxGuard,
|
|
},
|
|
|
|
[MOVE_MAX_FLARE] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Flare"),
|
|
.description = COMPOUND_STRING(
|
|
"Fire Dynamax attack.\n"
|
|
"Intensifies sun for 5 turns."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxFlare,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SUN,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_FLUTTERBY] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Flutterby"),
|
|
.description = COMPOUND_STRING(
|
|
"Bug Dynamax attack.\n"
|
|
"Lowers foe's Sp. Atk stat."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxFlutterby,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_LOWER_SP_ATK_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_LIGHTNING] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Lightning"),
|
|
.description = COMPOUND_STRING(
|
|
"Electric Dynamax attack.\n"
|
|
"Turns the terrain electric."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxLightning,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_ELECTRIC_TERRAIN,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_STRIKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Strike"),
|
|
.description = COMPOUND_STRING(
|
|
"Normal Dynamax attack.\n"
|
|
"Lowers foe's Speed stat."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxStrike,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_LOWER_SPEED_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_KNUCKLE] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Knuckle"),
|
|
.description = COMPOUND_STRING(
|
|
"Fighting Dynamax attack.\n"
|
|
"Boosts ally Attack stats."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxKnuckle,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RAISE_TEAM_ATTACK,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_PHANTASM] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Phantasm"),
|
|
.description = COMPOUND_STRING(
|
|
"Ghost Dynamax attack.\n"
|
|
"Lowers foe's Defense stat."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxPhantasm,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_LOWER_DEFENSE_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_HAILSTORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Hailstorm"),
|
|
.description = COMPOUND_STRING(
|
|
"Ice Dynamax attack.\n"
|
|
"Summons hail for 5 turns."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxHailstorm,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_HAIL,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_OOZE] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Ooze"),
|
|
.description = COMPOUND_STRING(
|
|
"Poison Dynamax attack.\n"
|
|
"Boosts ally Sp. Atk stats."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxOoze,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RAISE_TEAM_SP_ATK,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_GEYSER] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Geyser"),
|
|
.description = COMPOUND_STRING(
|
|
"Water Dynamax attack.\n"
|
|
"Summons rain for 5 turns."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxGeyser,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RAIN,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_AIRSTREAM] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Airstream"),
|
|
.description = COMPOUND_STRING(
|
|
"Flying Dynamax attack.\n"
|
|
"Boosts ally Speed stats."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxAirstream,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RAISE_TEAM_SPEED,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_STARFALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Starfall"),
|
|
.description = COMPOUND_STRING(
|
|
"Fairy Dynamax attack.\n"
|
|
"Turns the terrain misty."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxStarfall,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_MISTY_TERRAIN,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_WYRMWIND] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Wyrmwind"),
|
|
.description = COMPOUND_STRING(
|
|
"Dragon Dynamax attack.\n"
|
|
"Lowers foe's Attack stat."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxWyrmwind,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_LOWER_ATTACK_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_MINDSTORM] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Mindstorm"),
|
|
.description = COMPOUND_STRING(
|
|
"Psychic Dynamax attack.\n"
|
|
"Turns the terrain psychic."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxMindstorm,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PSYCHIC_TERRAIN,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_ROCKFALL] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Rockfall"),
|
|
.description = COMPOUND_STRING(
|
|
"Rock Dynamax attack.\n"
|
|
"Summons a sandstorm."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxRockfall,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SANDSTORM,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_QUAKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Quake"),
|
|
.description = COMPOUND_STRING(
|
|
"Ground Dynamax attack.\n"
|
|
"Boosts ally Sp. Def stats."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
|
.battleAnimScript = gBattleAnimMove_MaxQuake,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RAISE_TEAM_SP_DEF,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_DARKNESS] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Darkness"),
|
|
.description = COMPOUND_STRING(
|
|
"Dark Dynamax attack.\n"
|
|
"Lowers foe's Sp. Def stat."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 1,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxDarkness,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_LOWER_SP_DEF_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_OVERGROWTH] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Overgrowth"),
|
|
.description = COMPOUND_STRING(
|
|
"Grass Dynamax attack.\n"
|
|
"Turns the terrain grassy."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxOvergrowth,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_GRASSY_TERRAIN,
|
|
}),
|
|
},
|
|
|
|
[MOVE_MAX_STEELSPIKE] =
|
|
{
|
|
.name = COMPOUND_STRING("Max Steelspike"),
|
|
.description = COMPOUND_STRING(
|
|
"Steel Dynamax attack.\n"
|
|
"Boosts ally Defense stats."),
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_MaxSteelspike,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RAISE_TEAM_DEFENSE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_VINE_LASH] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Vine Lash"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Venusaur attack.\n"
|
|
"Damages for 4 turns."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxVineLash,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_VINE_LASH,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_WILDFIRE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Wildfire"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Charizard attack.\n"
|
|
"Damages for 4 turns."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxWildfire,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_WILDFIRE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_CANNONADE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Cannonade"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Blastoise attack.\n"
|
|
"Damages for 4 turns."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxCannonade,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CANNONADE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_BEFUDDLE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Befuddle"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Butterfree attack.\n"
|
|
"Poison, paralysis, or sleep."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_BUG,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxBefuddle,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_EFFECT_SPORE_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_VOLT_CRASH] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Volt Crash"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Pikachu attack.\n"
|
|
"Paralyzes opponents."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxVoltCrash,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PARALYZE_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_GOLD_RUSH] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Gold Rush"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Meowth attack.\n"
|
|
"Confuses and earns money."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxGoldRush,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSE_PAY_DAY_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_CHI_STRIKE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Chi Strike"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Machamp attack.\n"
|
|
"Boosts critical-hit ratio."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_FIGHTING,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxChiStrike,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CRIT_PLUS_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_TERROR] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Terror"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Gengar attack.\n"
|
|
"Prevents foes from escaping."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_GHOST,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxTerror,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_PREVENT_ESCAPE_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_FOAM_BURST] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Foam Burst"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Kingler attack.\n"
|
|
"Harshly lowers foe's Speed."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxFoamBurst,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_LOWER_SPEED_2_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_RESONANCE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Resonance"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Lapras attack.\n"
|
|
"Reduces damage for 5 turns."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_ICE,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxResonance,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_AURORA_VEIL,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_CUDDLE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Cuddle"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Eevee attack.\n"
|
|
"Infatuates opponents."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxCuddle,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_INFATUATE_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_REPLENISH] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Replenish"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Snorlax attack.\n"
|
|
"Restores eaten Berries."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_NORMAL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxReplenish,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_RECYCLE_BERRIES,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_MALODOR] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Malodor"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Garbodor attack.\n"
|
|
"Poisons opponents."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_POISON,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxMalodor,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_MELTDOWN] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Meltdown"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Melmetal attack.\n"
|
|
"Prevents repeat move use."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxMeltdown,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_TORMENT_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_DRUM_SOLO] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Drum Solo"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Rillaboom attack.\n"
|
|
"Ignores target's abilities."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresTargetAbility = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_GMaxDrumSolo,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FIXED_POWER,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_FIREBALL] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Fireball"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Cinderace attack.\n"
|
|
"Ignores target's abilities."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresTargetAbility = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_GMaxFireball,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FIXED_POWER,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_HYDROSNIPE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Hydrosnipe"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Inteleon attack.\n"
|
|
"Ignores target's abilities."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresTargetAbility = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_GMaxHydrosnipe,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FIXED_POWER,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_WIND_RAGE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Wind Rage"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Corviknight attack.\n"
|
|
"Removes opponent screens."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_FLYING,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxWindRage,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_DEFOG,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_GRAVITAS] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Gravitas"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Orbeetle attack.\n"
|
|
"Changes gravity for 5 turns."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_PSYCHIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxGravitas,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_GRAVITY,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_STONESURGE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Stonesurge"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Drednaw attack.\n"
|
|
"Scatters sharp rocks."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxStonesurge,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_STEALTH_ROCK,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_VOLCALITH] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Volcalith"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Coalossal attack.\n"
|
|
"Damages for 4 turns."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_ROCK,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxVolcalith,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_VOLCALITH,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_TARTNESS] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Tartness"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Flapple attack.\n"
|
|
"Lowers foe's evasiveness."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxTartness,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_LOWER_EVASIVENESS_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_SWEETNESS] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Sweetness"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Appletun attack.\n"
|
|
"Heals ally status conditions."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_GRASS,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxSweetness,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_AROMATHERAPY,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_SANDBLAST] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Sandblast"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Sandaconda attack.\n"
|
|
"Traps foes in a sandstorm."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_GROUND,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxSandblast,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SANDBLAST_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_STUN_SHOCK] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Stun Shock"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Toxtricity attack.\n"
|
|
"Poisons or paralyzes foes."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_ELECTRIC,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxStunShock,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_POISON_PARALYZE_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_CENTIFERNO] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Centiferno"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Toxtricity attack.\n"
|
|
"Traps foes in flames."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_FIRE,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxCentiferno,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_FIRE_SPIN_SIDE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_SMITE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Smite"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Hatterene attack.\n"
|
|
"Confuses opponents."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxSmite,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_CONFUSE_SIDE,
|
|
}),
|
|
},
|
|
|
|
|
|
[MOVE_G_MAX_SNOOZE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Snooze"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Grimmsnarl attack.\n"
|
|
"Lulls foes into sleep."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxSnooze,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_YAWN_FOE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_FINALE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Finale"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Alcremie attack.\n"
|
|
"Heals ally HP."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_FAIRY,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxFinale,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_HEAL_TEAM,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_STEELSURGE] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Steelsurge"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Copperajah attack.\n"
|
|
"Scatters sharp spikes."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_STEEL,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxSteelsurge,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_STEELSURGE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_DEPLETION] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Depletion"),
|
|
.description = COMPOUND_STRING(
|
|
"G-max Duraludon attack.\n"
|
|
"Reduces target's PP."), //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_DRAGON,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.battleAnimScript = gBattleAnimMove_GMaxDepletion,
|
|
.additionalEffects = ADDITIONAL_EFFECTS({
|
|
.moveEffect = MOVE_EFFECT_SPITE,
|
|
}),
|
|
},
|
|
|
|
[MOVE_G_MAX_ONE_BLOW] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max One Blow"),
|
|
.description = sGMaxOneBlowDescription, //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_DARK,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresProtect = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_GMaxOneBlow,
|
|
},
|
|
|
|
[MOVE_G_MAX_RAPID_FLOW] =
|
|
{
|
|
.name = COMPOUND_STRING("G-Max Rapid Flow"),
|
|
.description = sGMaxOneBlowDescription, //ANIM TODO
|
|
.effect = EFFECT_MAX_MOVE,
|
|
.power = 10,
|
|
.type = TYPE_WATER,
|
|
.accuracy = 0,
|
|
.pp = 10,
|
|
.target = MOVE_TARGET_SELECTED,
|
|
.priority = 0,
|
|
.category = DAMAGE_CATEGORY_PHYSICAL,
|
|
.ignoresProtect = TRUE,
|
|
.battleAnimScript = gBattleAnimMove_GMaxRapidFlow,
|
|
},
|
|
};
|