-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Add Physical Special Split
This tutorial is for adding the per-move physical/special split that was implemented starting in Diamond/Pearl.
- Adding a byte to the move struct
- Modifying the category check macro
- Modifying the damage calculation logic
- Adding the category byte to moves
- A Note on AI Scripts
The struct that defines the properties of a move are located in include/pokemon.h, so we will be modifying that file to include a byte that determines whether the move is physical or special. We will also be adding some macros to make the values more descriptive. Before editing, the struct looks like this:
struct BattleMove
{
u8 effect;
u8 power;
u8 type;
u8 accuracy;
u8 pp;
u8 secondaryEffectChance;
u8 target;
s8 priority;
u8 flags;
};
All we need to do is add another field to determine if the move is physical, special, or status. I will be using the name "category" for this, but the name can be anything as long as it is consistent. We will also add some new macros for the possible values of this field. Again, the values can be anything as long as consistency is maintained, but I will be using 0 for physical, 1 for special, and 2 for status. After adding these, our modified struct looks like this:
#define MOVE_CATEGORY_PHYSICAL 0
#define MOVE_CATEGORY_SPECIAL 1
#define MOVE_CATEGORY_STATUS 2
struct BattleMove
{
u8 effect;
u8 power;
u8 type;
u8 accuracy;
u8 pp;
u8 secondaryEffectChance;
u8 target;
s8 priority;
u8 flags;
u8 category;
};
The game uses a function-style macro to check whether a move is physical or special based on its type. The macro lives in include/battle.h and looks like this:
#define IS_TYPE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY)
#define IS_TYPE_SPECIAL(moveType)(moveType > TYPE_MYSTERY)
The macro simply looks at the move and compares the index of its type to TYPE_MYSTERY, which is 0x9. Types are split down the middle by TYPE_MYSTERY; all physical types are before it, and all special types are after it, so a simple comparison does the job. We will change this to look at the category byte of the move instead of the move's type. For my definition, it looks like this:
#define IS_MOVE_PHYSICAL(move)(gBattleMoves[move].category == MOVE_CATEGORY_PHYSICAL)
#define IS_MOVE_SPECIAL(move)(gBattleMoves[move].category == MOVE_CATEGORY_SPECIAL)
#define IS_MOVE_STATUS(move)(gBattleMoves[move].category == MOVE_CATEGORY_STATUS)
Next, we need to update a few checks in the function for calculating the base damage of a move. First, we will look at src/pokemon.c. The function we want here is:
s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 battlerIdAtk, u8 battlerIdDef)
First, we need to look at the block of code that begins like:
for (i = 0; i < ARRAY_COUNT(sHoldEffectToType); i++)
{
if (attackerHoldEffect == sHoldEffectToType[i][0]
&& type == sHoldEffectToType[i][1])
This is the code used to apply bonuses from type-boosting items like Miracle Seed, Charcoal, Magnet, etc. The original function checks whether the type is physical or special and then only boosts the corresponding stat. Since we've made the physical/special split on a per-move basis, we'll just boost both stats to ensure the move gets boosted. This is as simple as removing a check, and when done, the block of code should look like this:
for (i = 0; i < ARRAY_COUNT(sHoldEffectToType); i++)
{
if (attackerHoldEffect == sHoldEffectToType[i][0]
&& type == sHoldEffectToType[i][1])
{
attack = (attack * (attackerHoldEffectParam + 100)) / 100;
spAttack = (spAttack * (attackerHoldEffectParam + 100)) / 100;
break;
}
}
We also need to make a similar change to the boosts that weather provides. In Gen 3, all types that can be boosted by weather are special types, so the code only checks for the boost if a special move is being used. All of the weather checks are conveniently bunched together, so we can just cut this section and paste it outside of the special check block:
if (WEATHER_HAS_EFFECT2)
{
if (gBattleWeather & B_WEATHER_RAIN_TEMPORARY)
{
switch (type)
{
case TYPE_FIRE:
damage /= 2;
break;
case TYPE_WATER:
damage = (15 * damage) / 10;
break;
}
}
// any weather except sun weakens solar beam
if ((gBattleWeather & (B_WEATHER_RAIN_ANY | B_WEATHER_SANDSTORM_ANY | B_WEATHER_HAIL_ANY)) && gCurrentMove == MOVE_SOLAR_BEAM)
damage /= 2;
// sunny
if (gBattleWeather & B_WEATHER_SUN_ANY)
{
switch (type)
{
case TYPE_FIRE:
damage = (15 * damage) / 10;
break;
case TYPE_WATER:
damage /= 2;
break;
}
}
}
The special check block ends just before the line that says return damage + 2;
, so use that as a reference if you're lost in the if
blocks. Another detail; if you want to be efficient, you can leave the Solar Beam code in the special block since it will only ever be special, but moving it out of the block does not cause it to stop working--instead, it will just be checked for every move, instead of just for special moves.
Just like weather, since Flash Fire only affects Fire-type moves, which are all special in Gen 3, the check for Flash Fire only occurs in the special block. It's actually located right after the weather checks, so you can cut and paste this check outside of the block along with them:
if ((gBattleResources->flags->flags[battlerIdAtk] & RESOURCE_FLAG_FLASH_FIRE) && type == TYPE_FIRE)
damage = (15 * damage) / 10;
Similarly to Flash Fire, Thick Fat only affects Fire and Ice moves, which are all special. For that reason, the damage calculation divides the special attack of the attacking Pokemon in half to reduce the damage taken. We will need to change this to reduce the base power of the move instead, so that it can apply to any category or move of the affected types: (src/pokemon.c)
if (defender->ability == ABILITY_THICK_FAT && (type == TYPE_FIRE || type == TYPE_ICE))
gBattleMovePower /= 2;
The next thing we need to do is change the arguments passed to IS_MOVE_PHYSICAL and IS_MOVE_SPECIAL. Originally, they were passed a type argument, but now we want to pass a move argument. There are two instances of these functions in src/pokemon.c, three more in src/battle_script_commands.c, and two more in src/battle_tv.c.
In pokemon.c, the first one originally reads like this:
IS_TYPE_PHYSICAL(type)
We will change this to:
IS_MOVE_PHYSICAL(gCurrentMove)
And the second one we will need to change from:
IS_TYPE_SPECIAL(type)
to
IS_MOVE_SPECIAL(gCurrentMove)
The ones in battle_script_commands.c can also be changed like this, but the argument names are different. The first one (related to the Hustle ability) looks like this:
IS_TYPE_PHYSICAL(type)
We will change this to:
IS_MOVE_PHYSICAL(move)
NOTE: For this change only I used move
rather than gCurrentMove
to match other uses of move
in that function, but either should work.
The second instance we need to change looks like this originally:
IS_TYPE_PHYSICAL(moveType)
We will change this to:
IS_MOVE_PHYSICAL(gCurrentMove)
The third one also needs to be changed; originally it reads:
!IS_TYPE_PHYSICAL(moveType)
We will change this to:
IS_MOVE_SPECIAL(gCurrentMove)
Note: We have changed !IS_TYPE_PHYSICAL
to IS_TYPE_SPECIAL
because "not physical" no longer automatically means "special" due to the introduction of the "status" option.
And lastly, in battle_tv.c the two IS_TYPE_PHYSICAL
and IS_TYPE_SPECIAL
can be respectfully changed to:
IS_MOVE_PHYSICAL(gCurrentMove)
and
IS_MOVE_SPECIAL(gCurrentMove)
The last step is definitely the most tedious, but it is very simple. We need to go through every move and define whether it is physical, special, or status. The file that defines all move effects is located at src/data/battle_moves.h. There are plenty of resources to find out which one a move is if you do not already know. Or use the text at the bottom of this page, as someone else who went through this tutorial already did the leg-work.
After adding these, the split is implemented. For reference, here is one example of each possible value of the category byte for my names and values:
{ // MOVE_ICE_PUNCH
.effect = EFFECT_FREEZE_HIT,
.power = 75,
.type = TYPE_ICE,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category = MOVE_CATEGORY_PHYSICAL,
},
{ // MOVE_GUST
.effect = EFFECT_GUST,
.power = 40,
.type = TYPE_FLYING,
.accuracy = 100,
.pp = 35,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
.category = MOVE_CATEGORY_SPECIAL,
},
{ // MOVE_SAND_ATTACK
.effect = EFFECT_ACCURACY_DOWN,
.power = 0,
.type = TYPE_GROUND,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category = MOVE_CATEGORY_STATUS,
},
The last thing that should be noted is how AI Scripts relating to physical/special moves work in these games. The file data/battle_ai_scripts.s contains the code for the battle AI and how it chooses which moves to use. The way it does this is not by calling the macro that the damage calculation code uses; instead, it has multiple internal tables used to keep track of which types are physical and which are special. Note that this does not affect any actual damage calculation, and its effect on the AI is limited in the first place. The three things affected are:
- The likelihood of the AI using an attack-lowering vs. a special attack-lowering move
- The likelihood of the AI using Reflect vs. Light Screen
- The likelihood of the AI using Counter vs. Mirror Coat
An important note is that these decisions are all made based on the types of the opposing Pokemon itself rather than the moves it has, so the original check is pretty bad to begin with--in fact, it's arguable whether you would even notice the difference. Correcting the AI to check for the category of moves instead of the types of Pokemon is beyond the scope of this tutorial and is more suited to a general AI overhaul tutorial, but I wanted to mention it here to be totally clear about what's happening with these calculations.
const struct BattleMove gBattleMoves[MOVES_COUNT] =
{
[MOVE_NONE] =
{
.effect = EFFECT_HIT,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 0,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_POUND] =
{
.effect = EFFECT_HIT,
.power = 40,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 35,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_KARATE_CHOP] =
{
.effect = EFFECT_HIGH_CRITICAL,
.power = 50,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 25,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_DOUBLE_SLAP] =
{
.effect = EFFECT_MULTI_HIT,
.power = 15,
.type = TYPE_NORMAL,
.accuracy = 85,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_COMET_PUNCH] =
{
.effect = EFFECT_MULTI_HIT,
.power = 18,
.type = TYPE_NORMAL,
.accuracy = 85,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_MEGA_PUNCH] =
{
.effect = EFFECT_HIT,
.power = 80,
.type = TYPE_NORMAL,
.accuracy = 85,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_PAY_DAY] =
{
.effect = EFFECT_PAY_DAY,
.power = 40,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FIRE_PUNCH] =
{
.effect = EFFECT_BURN_HIT,
.power = 75,
.type = TYPE_FIRE,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_ICE_PUNCH] =
{
.effect = EFFECT_FREEZE_HIT,
.power = 75,
.type = TYPE_ICE,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_THUNDER_PUNCH] =
{
.effect = EFFECT_PARALYZE_HIT,
.power = 75,
.type = TYPE_ELECTRIC,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SCRATCH] =
{
.effect = EFFECT_HIT,
.power = 40,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 35,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_VICE_GRIP] =
{
.effect = EFFECT_HIT,
.power = 55,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_GUILLOTINE] =
{
.effect = EFFECT_OHKO,
.power = 1,
.type = TYPE_NORMAL,
.accuracy = 30,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_RAZOR_WIND] =
{
.effect = EFFECT_RAZOR_WIND,
.power = 80,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SWORDS_DANCE] =
{
.effect = EFFECT_ATTACK_UP_2,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_CUT] =
{
.effect = EFFECT_HIT,
.power = 50,
.type = TYPE_NORMAL,
.accuracy = 95,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_GUST] =
{
.effect = EFFECT_GUST,
.power = 40,
.type = TYPE_FLYING,
.accuracy = 100,
.pp = 35,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_WING_ATTACK] =
{
.effect = EFFECT_HIT,
.power = 60,
.type = TYPE_FLYING,
.accuracy = 100,
.pp = 35,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_WHIRLWIND] =
{
.effect = EFFECT_ROAR,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = -6,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_FLY] =
{
.effect = EFFECT_SEMI_INVULNERABLE,
.power = 70,
.type = TYPE_FLYING,
.accuracy = 95,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_BIND] =
{
.effect = EFFECT_TRAP,
.power = 15,
.type = TYPE_NORMAL,
.accuracy = 75,
.pp = 20,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SLAM] =
{
.effect = EFFECT_HIT,
.power = 80,
.type = TYPE_NORMAL,
.accuracy = 75,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_VINE_WHIP] =
{
.effect = EFFECT_HIT,
.power = 35,
.type = TYPE_GRASS,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_STOMP] =
{
.effect = EFFECT_FLINCH_MINIMIZE_HIT,
.power = 65,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_DOUBLE_KICK] =
{
.effect = EFFECT_DOUBLE_HIT,
.power = 30,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_MEGA_KICK] =
{
.effect = EFFECT_HIT,
.power = 120,
.type = TYPE_NORMAL,
.accuracy = 75,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_JUMP_KICK] =
{
.effect = EFFECT_RECOIL_IF_MISS,
.power = 70,
.type = TYPE_FIGHTING,
.accuracy = 95,
.pp = 25,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_ROLLING_KICK] =
{
.effect = EFFECT_FLINCH_HIT,
.power = 60,
.type = TYPE_FIGHTING,
.accuracy = 85,
.pp = 15,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SAND_ATTACK] =
{
.effect = EFFECT_ACCURACY_DOWN,
.power = 0,
.type = TYPE_GROUND,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_HEADBUTT] =
{
.effect = EFFECT_FLINCH_HIT,
.power = 70,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_HORN_ATTACK] =
{
.effect = EFFECT_HIT,
.power = 65,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 25,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FURY_ATTACK] =
{
.effect = EFFECT_MULTI_HIT,
.power = 15,
.type = TYPE_NORMAL,
.accuracy = 85,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_HORN_DRILL] =
{
.effect = EFFECT_OHKO,
.power = 1,
.type = TYPE_NORMAL,
.accuracy = 30,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_TACKLE] =
{
.effect = EFFECT_HIT,
.power = 35,
.type = TYPE_NORMAL,
.accuracy = 95,
.pp = 35,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_BODY_SLAM] =
{
.effect = EFFECT_PARALYZE_HIT,
.power = 85,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_WRAP] =
{
.effect = EFFECT_TRAP,
.power = 15,
.type = TYPE_NORMAL,
.accuracy = 85,
.pp = 20,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_TAKE_DOWN] =
{
.effect = EFFECT_RECOIL,
.power = 90,
.type = TYPE_NORMAL,
.accuracy = 85,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_THRASH] =
{
.effect = EFFECT_RAMPAGE,
.power = 90,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_RANDOM,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_DOUBLE_EDGE] =
{
.effect = EFFECT_DOUBLE_EDGE,
.power = 120,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_TAIL_WHIP] =
{
.effect = EFFECT_DEFENSE_DOWN,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_POISON_STING] =
{
.effect = EFFECT_POISON_HIT,
.power = 15,
.type = TYPE_POISON,
.accuracy = 100,
.pp = 35,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_TWINEEDLE] =
{
.effect = EFFECT_TWINEEDLE,
.power = 25,
.type = TYPE_BUG,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 20,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_PIN_MISSILE] =
{
.effect = EFFECT_MULTI_HIT,
.power = 14,
.type = TYPE_BUG,
.accuracy = 85,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_LEER] =
{
.effect = EFFECT_DEFENSE_DOWN,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_BITE] =
{
.effect = EFFECT_FLINCH_HIT,
.power = 60,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 25,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_GROWL] =
{
.effect = EFFECT_ATTACK_DOWN,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ROAR] =
{
.effect = EFFECT_ROAR,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = -6,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SING] =
{
.effect = EFFECT_SLEEP,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 55,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SUPERSONIC] =
{
.effect = EFFECT_CONFUSE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 55,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SONIC_BOOM] =
{
.effect = EFFECT_SONICBOOM,
.power = 1,
.type = TYPE_NORMAL,
.accuracy = 90,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_DISABLE] =
{
.effect = EFFECT_DISABLE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 55,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ACID] =
{
.effect = EFFECT_DEFENSE_DOWN_HIT,
.power = 40,
.type = TYPE_POISON,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_EMBER] =
{
.effect = EFFECT_BURN_HIT,
.power = 40,
.type = TYPE_FIRE,
.accuracy = 100,
.pp = 25,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_FLAMETHROWER] =
{
.effect = EFFECT_BURN_HIT,
.power = 95,
.type = TYPE_FIRE,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_MIST] =
{
.effect = EFFECT_MIST,
.power = 0,
.type = TYPE_ICE,
.accuracy = 0,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_WATER_GUN] =
{
.effect = EFFECT_HIT,
.power = 40,
.type = TYPE_WATER,
.accuracy = 100,
.pp = 25,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_HYDRO_PUMP] =
{
.effect = EFFECT_HIT,
.power = 120,
.type = TYPE_WATER,
.accuracy = 80,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SURF] =
{
.effect = EFFECT_HIT,
.power = 95,
.type = TYPE_WATER,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_ICE_BEAM] =
{
.effect = EFFECT_FREEZE_HIT,
.power = 95,
.type = TYPE_ICE,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_BLIZZARD] =
{
.effect = EFFECT_FREEZE_HIT,
.power = 120,
.type = TYPE_ICE,
.accuracy = 70,
.pp = 5,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_PSYBEAM] =
{
.effect = EFFECT_CONFUSE_HIT,
.power = 65,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_BUBBLE_BEAM] =
{
.effect = EFFECT_SPEED_DOWN_HIT,
.power = 65,
.type = TYPE_WATER,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_AURORA_BEAM] =
{
.effect = EFFECT_ATTACK_DOWN_HIT,
.power = 65,
.type = TYPE_ICE,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_HYPER_BEAM] =
{
.effect = EFFECT_RECHARGE,
.power = 150,
.type = TYPE_NORMAL,
.accuracy = 90,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_PECK] =
{
.effect = EFFECT_HIT,
.power = 35,
.type = TYPE_FLYING,
.accuracy = 100,
.pp = 35,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_DRILL_PECK] =
{
.effect = EFFECT_HIT,
.power = 80,
.type = TYPE_FLYING,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SUBMISSION] =
{
.effect = EFFECT_RECOIL,
.power = 80,
.type = TYPE_FIGHTING,
.accuracy = 80,
.pp = 25,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_LOW_KICK] =
{
.effect = EFFECT_LOW_KICK,
.power = 1,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_COUNTER] =
{
.effect = EFFECT_COUNTER,
.power = 1,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_DEPENDS,
.priority = -5,
.flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SEISMIC_TOSS] =
{
.effect = EFFECT_LEVEL_DAMAGE,
.power = 1,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_STRENGTH] =
{
.effect = EFFECT_HIT,
.power = 80,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_ABSORB] =
{
.effect = EFFECT_ABSORB,
.power = 20,
.type = TYPE_GRASS,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_MEGA_DRAIN] =
{
.effect = EFFECT_ABSORB,
.power = 40,
.type = TYPE_GRASS,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_LEECH_SEED] =
{
.effect = EFFECT_LEECH_SEED,
.power = 0,
.type = TYPE_GRASS,
.accuracy = 90,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_GROWTH] =
{
.effect = EFFECT_SPECIAL_ATTACK_UP,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_RAZOR_LEAF] =
{
.effect = EFFECT_HIGH_CRITICAL,
.power = 55,
.type = TYPE_GRASS,
.accuracy = 95,
.pp = 25,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SOLAR_BEAM] =
{
.effect = EFFECT_SOLAR_BEAM,
.power = 120,
.type = TYPE_GRASS,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_POISON_POWDER] =
{
.effect = EFFECT_POISON,
.power = 0,
.type = TYPE_POISON,
.accuracy = 75,
.pp = 35,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_STUN_SPORE] =
{
.effect = EFFECT_PARALYZE,
.power = 0,
.type = TYPE_GRASS,
.accuracy = 75,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SLEEP_POWDER] =
{
.effect = EFFECT_SLEEP,
.power = 0,
.type = TYPE_GRASS,
.accuracy = 75,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_PETAL_DANCE] =
{
.effect = EFFECT_RAMPAGE,
.power = 70,
.type = TYPE_GRASS,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_RANDOM,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_STRING_SHOT] =
{
.effect = EFFECT_SPEED_DOWN,
.power = 0,
.type = TYPE_BUG,
.accuracy = 95,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_DRAGON_RAGE] =
{
.effect = EFFECT_DRAGON_RAGE,
.power = 1,
.type = TYPE_DRAGON,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_FIRE_SPIN] =
{
.effect = EFFECT_TRAP,
.power = 15,
.type = TYPE_FIRE,
.accuracy = 70,
.pp = 15,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_THUNDER_SHOCK] =
{
.effect = EFFECT_PARALYZE_HIT,
.power = 40,
.type = TYPE_ELECTRIC,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_THUNDERBOLT] =
{
.effect = EFFECT_PARALYZE_HIT,
.power = 95,
.type = TYPE_ELECTRIC,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_THUNDER_WAVE] =
{
.effect = EFFECT_PARALYZE,
.power = 0,
.type = TYPE_ELECTRIC,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_THUNDER] =
{
.effect = EFFECT_THUNDER,
.power = 120,
.type = TYPE_ELECTRIC,
.accuracy = 70,
.pp = 10,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_ROCK_THROW] =
{
.effect = EFFECT_HIT,
.power = 50,
.type = TYPE_ROCK,
.accuracy = 90,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_EARTHQUAKE] =
{
.effect = EFFECT_EARTHQUAKE,
.power = 100,
.type = TYPE_GROUND,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_FOES_AND_ALLY,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FISSURE] =
{
.effect = EFFECT_OHKO,
.power = 1,
.type = TYPE_GROUND,
.accuracy = 30,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_DIG] =
{
.effect = EFFECT_SEMI_INVULNERABLE,
.power = 60,
.type = TYPE_GROUND,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_TOXIC] =
{
.effect = EFFECT_TOXIC,
.power = 0,
.type = TYPE_POISON,
.accuracy = 85,
.pp = 10,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_CONFUSION] =
{
.effect = EFFECT_CONFUSE_HIT,
.power = 50,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 25,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_PSYCHIC] =
{
.effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
.power = 90,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_HYPNOSIS] =
{
.effect = EFFECT_SLEEP,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 60,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_MEDITATE] =
{
.effect = EFFECT_ATTACK_UP,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 0,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_AGILITY] =
{
.effect = EFFECT_SPEED_UP_2,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 0,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_QUICK_ATTACK] =
{
.effect = EFFECT_QUICK_ATTACK,
.power = 40,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 1,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_RAGE] =
{
.effect = EFFECT_RAGE,
.power = 20,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_TELEPORT] =
{
.effect = EFFECT_TELEPORT,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_NIGHT_SHADE] =
{
.effect = EFFECT_LEVEL_DAMAGE,
.power = 1,
.type = TYPE_GHOST,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_MIMIC] =
{
.effect = EFFECT_MIMIC,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SCREECH] =
{
.effect = EFFECT_DEFENSE_DOWN_2,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 85,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_DOUBLE_TEAM] =
{
.effect = EFFECT_EVASION_UP,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_RECOVER] =
{
.effect = EFFECT_RESTORE_HP,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_HARDEN] =
{
.effect = EFFECT_DEFENSE_UP,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_MINIMIZE] =
{
.effect = EFFECT_MINIMIZE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SMOKESCREEN] =
{
.effect = EFFECT_ACCURACY_DOWN,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_CONFUSE_RAY] =
{
.effect = EFFECT_CONFUSE,
.power = 0,
.type = TYPE_GHOST,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_WITHDRAW] =
{
.effect = EFFECT_DEFENSE_UP,
.power = 0,
.type = TYPE_WATER,
.accuracy = 0,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_DEFENSE_CURL] =
{
.effect = EFFECT_DEFENSE_CURL,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_BARRIER] =
{
.effect = EFFECT_DEFENSE_UP_2,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 0,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_LIGHT_SCREEN] =
{
.effect = EFFECT_LIGHT_SCREEN,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 0,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_HAZE] =
{
.effect = EFFECT_HAZE,
.power = 0,
.type = TYPE_ICE,
.accuracy = 0,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_REFLECT] =
{
.effect = EFFECT_REFLECT,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_FOCUS_ENERGY] =
{
.effect = EFFECT_FOCUS_ENERGY,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_BIDE] =
{
.effect = EFFECT_BIDE,
.power = 1,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_METRONOME] =
{
.effect = EFFECT_METRONOME,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_DEPENDS,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_MIRROR_MOVE] =
{
.effect = EFFECT_MIRROR_MOVE,
.power = 0,
.type = TYPE_FLYING,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_DEPENDS,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SELF_DESTRUCT] =
{
.effect = EFFECT_EXPLOSION,
.power = 200,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_FOES_AND_ALLY,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_EGG_BOMB] =
{
.effect = EFFECT_HIT,
.power = 100,
.type = TYPE_NORMAL,
.accuracy = 75,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_LICK] =
{
.effect = EFFECT_PARALYZE_HIT,
.power = 20,
.type = TYPE_GHOST,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SMOG] =
{
.effect = EFFECT_POISON_HIT,
.power = 20,
.type = TYPE_POISON,
.accuracy = 70,
.pp = 20,
.secondaryEffectChance = 40,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SLUDGE] =
{
.effect = EFFECT_POISON_HIT,
.power = 65,
.type = TYPE_POISON,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_BONE_CLUB] =
{
.effect = EFFECT_FLINCH_HIT,
.power = 65,
.type = TYPE_GROUND,
.accuracy = 85,
.pp = 20,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FIRE_BLAST] =
{
.effect = EFFECT_BURN_HIT,
.power = 120,
.type = TYPE_FIRE,
.accuracy = 85,
.pp = 5,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_WATERFALL] =
{
.effect = EFFECT_HIT,
.power = 80,
.type = TYPE_WATER,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_CLAMP] =
{
.effect = EFFECT_TRAP,
.power = 35,
.type = TYPE_WATER,
.accuracy = 75,
.pp = 10,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SWIFT] =
{
.effect = EFFECT_ALWAYS_HIT,
.power = 60,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SKULL_BASH] =
{
.effect = EFFECT_SKULL_BASH,
.power = 100,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SPIKE_CANNON] =
{
.effect = EFFECT_MULTI_HIT,
.power = 20,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_CONSTRICT] =
{
.effect = EFFECT_SPEED_DOWN_HIT,
.power = 10,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 35,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_AMNESIA] =
{
.effect = EFFECT_SPECIAL_DEFENSE_UP_2,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_KINESIS] =
{
.effect = EFFECT_ACCURACY_DOWN,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 80,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SOFT_BOILED] =
{
.effect = EFFECT_SOFTBOILED,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_HI_JUMP_KICK] =
{
.effect = EFFECT_RECOIL_IF_MISS,
.power = 85,
.type = TYPE_FIGHTING,
.accuracy = 90,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_GLARE] =
{
.effect = EFFECT_PARALYZE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 75,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_DREAM_EATER] =
{
.effect = EFFECT_DREAM_EATER,
.power = 100,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_POISON_GAS] =
{
.effect = EFFECT_POISON,
.power = 0,
.type = TYPE_POISON,
.accuracy = 55,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_BARRAGE] =
{
.effect = EFFECT_MULTI_HIT,
.power = 15,
.type = TYPE_NORMAL,
.accuracy = 85,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_LEECH_LIFE] =
{
.effect = EFFECT_ABSORB,
.power = 20,
.type = TYPE_BUG,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_LOVELY_KISS] =
{
.effect = EFFECT_SLEEP,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 75,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SKY_ATTACK] =
{
.effect = EFFECT_SKY_ATTACK,
.power = 140,
.type = TYPE_FLYING,
.accuracy = 90,
.pp = 5,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_TRANSFORM] =
{
.effect = EFFECT_TRANSFORM,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_BUBBLE] =
{
.effect = EFFECT_SPEED_DOWN_HIT,
.power = 20,
.type = TYPE_WATER,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_DIZZY_PUNCH] =
{
.effect = EFFECT_CONFUSE_HIT,
.power = 70,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 20,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SPORE] =
{
.effect = EFFECT_SLEEP,
.power = 0,
.type = TYPE_GRASS,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_FLASH] =
{
.effect = EFFECT_ACCURACY_DOWN,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 70,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_PSYWAVE] =
{
.effect = EFFECT_PSYWAVE,
.power = 1,
.type = TYPE_PSYCHIC,
.accuracy = 80,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SPLASH] =
{
.effect = EFFECT_SPLASH,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ACID_ARMOR] =
{
.effect = EFFECT_DEFENSE_UP_2,
.power = 0,
.type = TYPE_POISON,
.accuracy = 0,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_CRABHAMMER] =
{
.effect = EFFECT_HIGH_CRITICAL,
.power = 90,
.type = TYPE_WATER,
.accuracy = 85,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_EXPLOSION] =
{
.effect = EFFECT_EXPLOSION,
.power = 250,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_FOES_AND_ALLY,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FURY_SWIPES] =
{
.effect = EFFECT_MULTI_HIT,
.power = 18,
.type = TYPE_NORMAL,
.accuracy = 80,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_BONEMERANG] =
{
.effect = EFFECT_DOUBLE_HIT,
.power = 50,
.type = TYPE_GROUND,
.accuracy = 90,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_REST] =
{
.effect = EFFECT_REST,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ROCK_SLIDE] =
{
.effect = EFFECT_FLINCH_HIT,
.power = 75,
.type = TYPE_ROCK,
.accuracy = 90,
.pp = 10,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_HYPER_FANG] =
{
.effect = EFFECT_FLINCH_HIT,
.power = 80,
.type = TYPE_NORMAL,
.accuracy = 90,
.pp = 15,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SHARPEN] =
{
.effect = EFFECT_ATTACK_UP,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_CONVERSION] =
{
.effect = EFFECT_CONVERSION,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_TRI_ATTACK] =
{
.effect = EFFECT_TRI_ATTACK,
.power = 80,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 20,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SUPER_FANG] =
{
.effect = EFFECT_SUPER_FANG,
.power = 1,
.type = TYPE_NORMAL,
.accuracy = 90,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SLASH] =
{
.effect = EFFECT_HIGH_CRITICAL,
.power = 70,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SUBSTITUTE] =
{
.effect = EFFECT_SUBSTITUTE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_STRUGGLE] =
{
.effect = EFFECT_RECOIL,
.power = 50,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 1,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SKETCH] =
{
.effect = EFFECT_SKETCH,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 1,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_TRIPLE_KICK] =
{
.effect = EFFECT_TRIPLE_KICK,
.power = 10,
.type = TYPE_FIGHTING,
.accuracy = 90,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_THIEF] =
{
.effect = EFFECT_THIEF,
.power = 40,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SPIDER_WEB] =
{
.effect = EFFECT_MEAN_LOOK,
.power = 0,
.type = TYPE_BUG,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_MIND_READER] =
{
.effect = EFFECT_LOCK_ON,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_NIGHTMARE] =
{
.effect = EFFECT_NIGHTMARE,
.power = 0,
.type = TYPE_GHOST,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_FLAME_WHEEL] =
{
.effect = EFFECT_THAW_HIT,
.power = 60,
.type = TYPE_FIRE,
.accuracy = 100,
.pp = 25,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SNORE] =
{
.effect = EFFECT_SNORE,
.power = 40,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_CURSE] =
{
.effect = EFFECT_CURSE,
.power = 0,
.type = TYPE_MYSTERY,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_FLAIL] =
{
.effect = EFFECT_FLAIL,
.power = 1,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_CONVERSION_2] =
{
.effect = EFFECT_CONVERSION_2,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_AEROBLAST] =
{
.effect = EFFECT_HIGH_CRITICAL,
.power = 100,
.type = TYPE_FLYING,
.accuracy = 95,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_COTTON_SPORE] =
{
.effect = EFFECT_SPEED_DOWN_2,
.power = 0,
.type = TYPE_GRASS,
.accuracy = 85,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_REVERSAL] =
{
.effect = EFFECT_FLAIL,
.power = 1,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SPITE] =
{
.effect = EFFECT_SPITE,
.power = 0,
.type = TYPE_GHOST,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_POWDER_SNOW] =
{
.effect = EFFECT_FREEZE_HIT,
.power = 40,
.type = TYPE_ICE,
.accuracy = 100,
.pp = 25,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_PROTECT] =
{
.effect = EFFECT_PROTECT,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 3,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_MACH_PUNCH] =
{
.effect = EFFECT_QUICK_ATTACK,
.power = 40,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 1,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SCARY_FACE] =
{
.effect = EFFECT_SPEED_DOWN_2,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 90,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_FAINT_ATTACK] =
{
.effect = EFFECT_ALWAYS_HIT,
.power = 60,
.type = TYPE_DARK,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SWEET_KISS] =
{
.effect = EFFECT_CONFUSE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 75,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_BELLY_DRUM] =
{
.effect = EFFECT_BELLY_DRUM,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SLUDGE_BOMB] =
{
.effect = EFFECT_POISON_HIT,
.power = 90,
.type = TYPE_POISON,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_MUD_SLAP] =
{
.effect = EFFECT_ACCURACY_DOWN_HIT,
.power = 20,
.type = TYPE_GROUND,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_OCTAZOOKA] =
{
.effect = EFFECT_ACCURACY_DOWN_HIT,
.power = 65,
.type = TYPE_WATER,
.accuracy = 85,
.pp = 10,
.secondaryEffectChance = 50,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SPIKES] =
{
.effect = EFFECT_SPIKES,
.power = 0,
.type = TYPE_GROUND,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_OPPONENTS_FIELD,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ZAP_CANNON] =
{
.effect = EFFECT_PARALYZE_HIT,
.power = 100,
.type = TYPE_ELECTRIC,
.accuracy = 50,
.pp = 5,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_FORESIGHT] =
{
.effect = EFFECT_FORESIGHT,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_DESTINY_BOND] =
{
.effect = EFFECT_DESTINY_BOND,
.power = 0,
.type = TYPE_GHOST,
.accuracy = 0,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_PERISH_SONG] =
{
.effect = EFFECT_PERISH_SONG,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ICY_WIND] =
{
.effect = EFFECT_SPEED_DOWN_HIT,
.power = 55,
.type = TYPE_ICE,
.accuracy = 95,
.pp = 15,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_DETECT] =
{
.effect = EFFECT_PROTECT,
.power = 0,
.type = TYPE_FIGHTING,
.accuracy = 0,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 3,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_BONE_RUSH] =
{
.effect = EFFECT_MULTI_HIT,
.power = 25,
.type = TYPE_GROUND,
.accuracy = 80,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_LOCK_ON] =
{
.effect = EFFECT_LOCK_ON,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_OUTRAGE] =
{
.effect = EFFECT_RAMPAGE,
.power = 90,
.type = TYPE_DRAGON,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_RANDOM,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SANDSTORM] =
{
.effect = EFFECT_SANDSTORM,
.power = 0,
.type = TYPE_ROCK,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_GIGA_DRAIN] =
{
.effect = EFFECT_ABSORB,
.power = 60,
.type = TYPE_GRASS,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_ENDURE] =
{
.effect = EFFECT_ENDURE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 3,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_CHARM] =
{
.effect = EFFECT_ATTACK_DOWN_2,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ROLLOUT] =
{
.effect = EFFECT_ROLLOUT,
.power = 30,
.type = TYPE_ROCK,
.accuracy = 90,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FALSE_SWIPE] =
{
.effect = EFFECT_FALSE_SWIPE,
.power = 40,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SWAGGER] =
{
.effect = EFFECT_SWAGGER,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 90,
.pp = 15,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_MILK_DRINK] =
{
.effect = EFFECT_SOFTBOILED,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SPARK] =
{
.effect = EFFECT_PARALYZE_HIT,
.power = 65,
.type = TYPE_ELECTRIC,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FURY_CUTTER] =
{
.effect = EFFECT_FURY_CUTTER,
.power = 10,
.type = TYPE_BUG,
.accuracy = 95,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_STEEL_WING] =
{
.effect = EFFECT_DEFENSE_UP_HIT,
.power = 70,
.type = TYPE_STEEL,
.accuracy = 90,
.pp = 25,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_MEAN_LOOK] =
{
.effect = EFFECT_MEAN_LOOK,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ATTRACT] =
{
.effect = EFFECT_ATTRACT,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SLEEP_TALK] =
{
.effect = EFFECT_SLEEP_TALK,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_DEPENDS,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_HEAL_BELL] =
{
.effect = EFFECT_HEAL_BELL,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_RETURN] =
{
.effect = EFFECT_RETURN,
.power = 1,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_PRESENT] =
{
.effect = EFFECT_PRESENT,
.power = 1,
.type = TYPE_NORMAL,
.accuracy = 90,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FRUSTRATION] =
{
.effect = EFFECT_FRUSTRATION,
.power = 1,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SAFEGUARD] =
{
.effect = EFFECT_SAFEGUARD,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 25,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_PAIN_SPLIT] =
{
.effect = EFFECT_PAIN_SPLIT,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SACRED_FIRE] =
{
.effect = EFFECT_THAW_HIT,
.power = 100,
.type = TYPE_FIRE,
.accuracy = 95,
.pp = 5,
.secondaryEffectChance = 50,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_MAGNITUDE] =
{
.effect = EFFECT_MAGNITUDE,
.power = 1,
.type = TYPE_GROUND,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_FOES_AND_ALLY,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_DYNAMIC_PUNCH] =
{
.effect = EFFECT_CONFUSE_HIT,
.power = 100,
.type = TYPE_FIGHTING,
.accuracy = 50,
.pp = 5,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_MEGAHORN] =
{
.effect = EFFECT_HIT,
.power = 120,
.type = TYPE_BUG,
.accuracy = 85,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_DRAGON_BREATH] =
{
.effect = EFFECT_PARALYZE_HIT,
.power = 60,
.type = TYPE_DRAGON,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_BATON_PASS] =
{
.effect = EFFECT_BATON_PASS,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ENCORE] =
{
.effect = EFFECT_ENCORE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_PURSUIT] =
{
.effect = EFFECT_PURSUIT,
.power = 40,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_RAPID_SPIN] =
{
.effect = EFFECT_RAPID_SPIN,
.power = 20,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SWEET_SCENT] =
{
.effect = EFFECT_EVASION_DOWN,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_IRON_TAIL] =
{
.effect = EFFECT_DEFENSE_DOWN_HIT,
.power = 100,
.type = TYPE_STEEL,
.accuracy = 75,
.pp = 15,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_METAL_CLAW] =
{
.effect = EFFECT_ATTACK_UP_HIT,
.power = 50,
.type = TYPE_STEEL,
.accuracy = 95,
.pp = 35,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_VITAL_THROW] =
{
.effect = EFFECT_VITAL_THROW,
.power = 70,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = -1,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_MORNING_SUN] =
{
.effect = EFFECT_MORNING_SUN,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SYNTHESIS] =
{
.effect = EFFECT_SYNTHESIS,
.power = 0,
.type = TYPE_GRASS,
.accuracy = 0,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_MOONLIGHT] =
{
.effect = EFFECT_MOONLIGHT,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_HIDDEN_POWER] =
{
.effect = EFFECT_HIDDEN_POWER,
.power = 1,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_CROSS_CHOP] =
{
.effect = EFFECT_HIGH_CRITICAL,
.power = 100,
.type = TYPE_FIGHTING,
.accuracy = 80,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_TWISTER] =
{
.effect = EFFECT_TWISTER,
.power = 40,
.type = TYPE_DRAGON,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 20,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_RAIN_DANCE] =
{
.effect = EFFECT_RAIN_DANCE,
.power = 0,
.type = TYPE_WATER,
.accuracy = 0,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SUNNY_DAY] =
{
.effect = EFFECT_SUNNY_DAY,
.power = 0,
.type = TYPE_FIRE,
.accuracy = 0,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_CRUNCH] =
{
.effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
.power = 80,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 20,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_MIRROR_COAT] =
{
.effect = EFFECT_MIRROR_COAT,
.power = 1,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_DEPENDS,
.priority = -5,
.flags = FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_PSYCH_UP] =
{
.effect = EFFECT_PSYCH_UP,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_EXTREME_SPEED] =
{
.effect = EFFECT_QUICK_ATTACK,
.power = 80,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 1,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_ANCIENT_POWER] =
{
.effect = EFFECT_ALL_STATS_UP_HIT,
.power = 60,
.type = TYPE_ROCK,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SHADOW_BALL] =
{
.effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
.power = 80,
.type = TYPE_GHOST,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 20,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_FUTURE_SIGHT] =
{
.effect = EFFECT_FUTURE_SIGHT,
.power = 80,
.type = TYPE_PSYCHIC,
.accuracy = 90,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_ROCK_SMASH] =
{
.effect = EFFECT_DEFENSE_DOWN_HIT,
.power = 20,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 50,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_WHIRLPOOL] =
{
.effect = EFFECT_TRAP,
.power = 15,
.type = TYPE_WATER,
.accuracy = 70,
.pp = 15,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_BEAT_UP] =
{
.effect = EFFECT_BEAT_UP,
.power = 10,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FAKE_OUT] =
{
.effect = EFFECT_FAKE_OUT,
.power = 40,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 1,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_UPROAR] =
{
.effect = EFFECT_UPROAR,
.power = 50,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_RANDOM,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_STOCKPILE] =
{
.effect = EFFECT_STOCKPILE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SPIT_UP] =
{
.effect = EFFECT_SPIT_UP,
.power = 100,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SWALLOW] =
{
.effect = EFFECT_SWALLOW,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_HEAT_WAVE] =
{
.effect = EFFECT_BURN_HIT,
.power = 100,
.type = TYPE_FIRE,
.accuracy = 90,
.pp = 10,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_HAIL] =
{
.effect = EFFECT_HAIL,
.power = 0,
.type = TYPE_ICE,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_TORMENT] =
{
.effect = EFFECT_TORMENT,
.power = 0,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_FLATTER] =
{
.effect = EFFECT_FLATTER,
.power = 0,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_WILL_O_WISP] =
{
.effect = EFFECT_WILL_O_WISP,
.power = 0,
.type = TYPE_FIRE,
.accuracy = 75,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_MEMENTO] =
{
.effect = EFFECT_MEMENTO,
.power = 0,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_FACADE] =
{
.effect = EFFECT_FACADE,
.power = 70,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FOCUS_PUNCH] =
{
.effect = EFFECT_FOCUS_PUNCH,
.power = 150,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = -3,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SMELLING_SALT] =
{
.effect = EFFECT_SMELLINGSALT,
.power = 60,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FOLLOW_ME] =
{
.effect = EFFECT_FOLLOW_ME,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 3,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_NATURE_POWER] =
{
.effect = EFFECT_NATURE_POWER,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 95,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_DEPENDS,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_CHARGE] =
{
.effect = EFFECT_CHARGE,
.power = 0,
.type = TYPE_ELECTRIC,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_TAUNT] =
{
.effect = EFFECT_TAUNT,
.power = 0,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_HELPING_HAND] =
{
.effect = EFFECT_HELPING_HAND,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 5,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_TRICK] =
{
.effect = EFFECT_TRICK,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ROLE_PLAY] =
{
.effect = EFFECT_ROLE_PLAY,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_WISH] =
{
.effect = EFFECT_WISH,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ASSIST] =
{
.effect = EFFECT_ASSIST,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_DEPENDS,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_INGRAIN] =
{
.effect = EFFECT_INGRAIN,
.power = 0,
.type = TYPE_GRASS,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SUPERPOWER] =
{
.effect = EFFECT_SUPERPOWER,
.power = 120,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_MAGIC_COAT] =
{
.effect = EFFECT_MAGIC_COAT,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_DEPENDS,
.priority = 4,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_RECYCLE] =
{
.effect = EFFECT_RECYCLE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_REVENGE] =
{
.effect = EFFECT_REVENGE,
.power = 60,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = -4,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_BRICK_BREAK] =
{
.effect = EFFECT_BRICK_BREAK,
.power = 75,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_YAWN] =
{
.effect = EFFECT_YAWN,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_KNOCK_OFF] =
{
.effect = EFFECT_KNOCK_OFF,
.power = 20,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_ENDEAVOR] =
{
.effect = EFFECT_ENDEAVOR,
.power = 1,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_ERUPTION] =
{
.effect = EFFECT_ERUPTION,
.power = 150,
.type = TYPE_FIRE,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SKILL_SWAP] =
{
.effect = EFFECT_SKILL_SWAP,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_IMPRISON] =
{
.effect = EFFECT_IMPRISON,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_REFRESH] =
{
.effect = EFFECT_REFRESH,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_GRUDGE] =
{
.effect = EFFECT_GRUDGE,
.power = 0,
.type = TYPE_GHOST,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SNATCH] =
{
.effect = EFFECT_SNATCH,
.power = 0,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_DEPENDS,
.priority = 4,
.flags = FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_SECRET_POWER] =
{
.effect = EFFECT_SECRET_POWER,
.power = 70,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_DIVE] =
{
.effect = EFFECT_SEMI_INVULNERABLE,
.power = 60,
.type = TYPE_WATER,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_ARM_THRUST] =
{
.effect = EFFECT_MULTI_HIT,
.power = 15,
.type = TYPE_FIGHTING,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_CAMOUFLAGE] =
{
.effect = EFFECT_CAMOUFLAGE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_TAIL_GLOW] =
{
.effect = EFFECT_SPECIAL_ATTACK_UP_2,
.power = 0,
.type = TYPE_BUG,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_LUSTER_PURGE] =
{
.effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
.power = 70,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 50,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_MIST_BALL] =
{
.effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT,
.power = 70,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 50,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_FEATHER_DANCE] =
{
.effect = EFFECT_ATTACK_DOWN_2,
.power = 0,
.type = TYPE_FLYING,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_TEETER_DANCE] =
{
.effect = EFFECT_TEETER_DANCE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_FOES_AND_ALLY,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_BLAZE_KICK] =
{
.effect = EFFECT_BLAZE_KICK,
.power = 85,
.type = TYPE_FIRE,
.accuracy = 90,
.pp = 10,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_MUD_SPORT] =
{
.effect = EFFECT_MUD_SPORT,
.power = 0,
.type = TYPE_GROUND,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ICE_BALL] =
{
.effect = EFFECT_ROLLOUT,
.power = 30,
.type = TYPE_ICE,
.accuracy = 90,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_NEEDLE_ARM] =
{
.effect = EFFECT_FLINCH_MINIMIZE_HIT,
.power = 60,
.type = TYPE_GRASS,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SLACK_OFF] =
{
.effect = EFFECT_RESTORE_HP,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_HYPER_VOICE] =
{
.effect = EFFECT_HIT,
.power = 90,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_POISON_FANG] =
{
.effect = EFFECT_POISON_FANG,
.power = 50,
.type = TYPE_POISON,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_CRUSH_CLAW] =
{
.effect = EFFECT_DEFENSE_DOWN_HIT,
.power = 75,
.type = TYPE_NORMAL,
.accuracy = 95,
.pp = 10,
.secondaryEffectChance = 50,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_BLAST_BURN] =
{
.effect = EFFECT_RECHARGE,
.power = 150,
.type = TYPE_FIRE,
.accuracy = 90,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_HYDRO_CANNON] =
{
.effect = EFFECT_RECHARGE,
.power = 150,
.type = TYPE_WATER,
.accuracy = 90,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_METEOR_MASH] =
{
.effect = EFFECT_ATTACK_UP_HIT,
.power = 100,
.type = TYPE_STEEL,
.accuracy = 85,
.pp = 10,
.secondaryEffectChance = 20,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_ASTONISH] =
{
.effect = EFFECT_FLINCH_MINIMIZE_HIT,
.power = 30,
.type = TYPE_GHOST,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_WEATHER_BALL] =
{
.effect = EFFECT_WEATHER_BALL,
.power = 50,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_AROMATHERAPY] =
{
.effect = EFFECT_HEAL_BELL,
.power = 0,
.type = TYPE_GRASS,
.accuracy = 0,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_FAKE_TEARS] =
{
.effect = EFFECT_SPECIAL_DEFENSE_DOWN_2,
.power = 0,
.type = TYPE_DARK,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_AIR_CUTTER] =
{
.effect = EFFECT_HIGH_CRITICAL,
.power = 55,
.type = TYPE_FLYING,
.accuracy = 95,
.pp = 25,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_OVERHEAT] =
{
.effect = EFFECT_OVERHEAT,
.power = 140,
.type = TYPE_FIRE,
.accuracy = 90,
.pp = 5,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_ODOR_SLEUTH] =
{
.effect = EFFECT_FORESIGHT,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ROCK_TOMB] =
{
.effect = EFFECT_SPEED_DOWN_HIT,
.power = 50,
.type = TYPE_ROCK,
.accuracy = 80,
.pp = 10,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SILVER_WIND] =
{
.effect = EFFECT_ALL_STATS_UP_HIT,
.power = 60,
.type = TYPE_BUG,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_METAL_SOUND] =
{
.effect = EFFECT_SPECIAL_DEFENSE_DOWN_2,
.power = 0,
.type = TYPE_STEEL,
.accuracy = 85,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_GRASS_WHISTLE] =
{
.effect = EFFECT_SLEEP,
.power = 0,
.type = TYPE_GRASS,
.accuracy = 55,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_TICKLE] =
{
.effect = EFFECT_TICKLE,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_COSMIC_POWER] =
{
.effect = EFFECT_COSMIC_POWER,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_WATER_SPOUT] =
{
.effect = EFFECT_ERUPTION,
.power = 150,
.type = TYPE_WATER,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SIGNAL_BEAM] =
{
.effect = EFFECT_CONFUSE_HIT,
.power = 75,
.type = TYPE_BUG,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SHADOW_PUNCH] =
{
.effect = EFFECT_ALWAYS_HIT,
.power = 60,
.type = TYPE_GHOST,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_EXTRASENSORY] =
{
.effect = EFFECT_FLINCH_MINIMIZE_HIT,
.power = 80,
.type = TYPE_PSYCHIC,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_SKY_UPPERCUT] =
{
.effect = EFFECT_SKY_UPPERCUT,
.power = 85,
.type = TYPE_FIGHTING,
.accuracy = 90,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SAND_TOMB] =
{
.effect = EFFECT_TRAP,
.power = 15,
.type = TYPE_GROUND,
.accuracy = 70,
.pp = 15,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SHEER_COLD] =
{
.effect = EFFECT_OHKO,
.power = 1,
.type = TYPE_ICE,
.accuracy = 30,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_MUDDY_WATER] =
{
.effect = EFFECT_ACCURACY_DOWN_HIT,
.power = 95,
.type = TYPE_WATER,
.accuracy = 85,
.pp = 10,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_BOTH,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_BULLET_SEED] =
{
.effect = EFFECT_MULTI_HIT,
.power = 10,
.type = TYPE_GRASS,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_AERIAL_ACE] =
{
.effect = EFFECT_ALWAYS_HIT,
.power = 60,
.type = TYPE_FLYING,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_ICICLE_SPEAR] =
{
.effect = EFFECT_MULTI_HIT,
.power = 10,
.type = TYPE_ICE,
.accuracy = 100,
.pp = 30,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_IRON_DEFENSE] =
{
.effect = EFFECT_DEFENSE_UP_2,
.power = 0,
.type = TYPE_STEEL,
.accuracy = 0,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_BLOCK] =
{
.effect = EFFECT_MEAN_LOOK,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_HOWL] =
{
.effect = EFFECT_ATTACK_UP,
.power = 0,
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 40,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_DRAGON_CLAW] =
{
.effect = EFFECT_HIT,
.power = 80,
.type = TYPE_DRAGON,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_FRENZY_PLANT] =
{
.effect = EFFECT_RECHARGE,
.power = 150,
.type = TYPE_GRASS,
.accuracy = 90,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_BULK_UP] =
{
.effect = EFFECT_BULK_UP,
.power = 0,
.type = TYPE_FIGHTING,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_BOUNCE] =
{
.effect = EFFECT_SEMI_INVULNERABLE,
.power = 85,
.type = TYPE_FLYING,
.accuracy = 85,
.pp = 5,
.secondaryEffectChance = 30,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_MUD_SHOT] =
{
.effect = EFFECT_SPEED_DOWN_HIT,
.power = 55,
.type = TYPE_GROUND,
.accuracy = 95,
.pp = 15,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_POISON_TAIL] =
{
.effect = EFFECT_POISON_TAIL,
.power = 50,
.type = TYPE_POISON,
.accuracy = 100,
.pp = 25,
.secondaryEffectChance = 10,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_COVET] =
{
.effect = EFFECT_THIEF,
.power = 40,
.type = TYPE_NORMAL,
.accuracy = 100,
.pp = 40,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_VOLT_TACKLE] =
{
.effect = EFFECT_DOUBLE_EDGE,
.power = 120,
.type = TYPE_ELECTRIC,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_MAGICAL_LEAF] =
{
.effect = EFFECT_ALWAYS_HIT,
.power = 60,
.type = TYPE_GRASS,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_WATER_SPORT] =
{
.effect = EFFECT_WATER_SPORT,
.power = 0,
.type = TYPE_WATER,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_CALM_MIND] =
{
.effect = EFFECT_CALM_MIND,
.power = 0,
.type = TYPE_PSYCHIC,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_LEAF_BLADE] =
{
.effect = EFFECT_HIGH_CRITICAL,
.power = 70,
.type = TYPE_GRASS,
.accuracy = 100,
.pp = 15,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_DRAGON_DANCE] =
{
.effect = EFFECT_DRAGON_DANCE,
.power = 0,
.type = TYPE_DRAGON,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_USER,
.priority = 0,
.flags = FLAG_SNATCH_AFFECTED,
.category= MOVE_CATEGORY_STATUS,
},
[MOVE_ROCK_BLAST] =
{
.effect = EFFECT_MULTI_HIT,
.power = 25,
.type = TYPE_ROCK,
.accuracy = 80,
.pp = 10,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_PHYSICAL,
},
[MOVE_SHOCK_WAVE] =
{
.effect = EFFECT_ALWAYS_HIT,
.power = 60,
.type = TYPE_ELECTRIC,
.accuracy = 0,
.pp = 20,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_WATER_PULSE] =
{
.effect = EFFECT_CONFUSE_HIT,
.power = 60,
.type = TYPE_WATER,
.accuracy = 100,
.pp = 20,
.secondaryEffectChance = 20,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_DOOM_DESIRE] =
{
.effect = EFFECT_FUTURE_SIGHT,
.power = 120,
.type = TYPE_STEEL,
.accuracy = 85,
.pp = 5,
.secondaryEffectChance = 0,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
.category= MOVE_CATEGORY_SPECIAL,
},
[MOVE_PSYCHO_BOOST] =
{
.effect = EFFECT_OVERHEAT,
.power = 140,
.type = TYPE_PSYCHIC,
.accuracy = 90,
.pp = 5,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
.category= MOVE_CATEGORY_SPECIAL,
},
};