From 348d70b309c6ff89812ec7dd0f8e05e1c7312657 Mon Sep 17 00:00:00 2001 From: Evan Date: Thu, 26 Nov 2020 15:56:18 -0500 Subject: [PATCH] z move indicator and some data --- graphics/battle_interface/z_move_trigger.pal | 19 + graphics/battle_interface/z_move_trigger.png | Bin 0 -> 272 bytes include/battle.h | 13 + include/battle_controllers.h | 2 + include/battle_interface.h | 9 +- include/battle_message.h | 1 + include/battle_util.h | 1 + include/battle_z_move.h | 22 + include/constants/battle_config.h | 35 + include/constants/hold_effects.h | 1 + include/constants/items.h | 42 +- include/constants/moves.h | 46 +- include/constants/z_move_effects.h | 38 + include/data.h | 1 + include/pokemon.h | 4 +- ld_script.txt | 2 + src/battle_anim_new.c | 98 + src/battle_controller_player.c | 64 +- src/battle_interface.c | 7 + src/battle_main.c | 1 + src/battle_message.c | 3 +- src/battle_util.c | 2 +- src/battle_z_move.c | 525 +++ src/data/battle_moves.h | 3749 ++++++++---------- src/data/text/move_names.h | 75 + src/graphics.c | 4 +- src/pokemon.c | 1 + 27 files changed, 2597 insertions(+), 2168 deletions(-) create mode 100644 graphics/battle_interface/z_move_trigger.pal create mode 100644 graphics/battle_interface/z_move_trigger.png create mode 100644 include/battle_z_move.h create mode 100644 include/constants/z_move_effects.h create mode 100644 src/battle_z_move.c diff --git a/graphics/battle_interface/z_move_trigger.pal b/graphics/battle_interface/z_move_trigger.pal new file mode 100644 index 000000000..2672d1f10 --- /dev/null +++ b/graphics/battle_interface/z_move_trigger.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +185 207 163 +77 105 97 +199 159 199 +221 177 207 +57 151 117 +139 221 253 +247 161 133 +255 255 255 +153 87 67 +233 233 125 +129 255 223 +149 147 247 +195 207 201 +123 151 135 +0 0 0 +0 0 0 diff --git a/graphics/battle_interface/z_move_trigger.png b/graphics/battle_interface/z_move_trigger.png new file mode 100644 index 0000000000000000000000000000000000000000..9a9c5d937abc948679d39a39bf302822a9f1ff45 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*PZ7V`(`E{pMU)B#`Bib zOS|v>{l2jE|Ns9p!<}EgtZn>%f9mA#htHp^p56}B0R&|!RxLn^v%n*=n1Mk|6@(c* zgH%2M1=~Db978lFCMPs7#5uBw9ME3TacqB1hf+b{4YAPH1sfMU+}+N^AzSpmfx)xk zz3i+5yUYDq8#xpU0z=H+&COAWX$TK6dvf=3_r`+8?xv>q_c|-q3N>g8OsU?U)p^I7 zF@;q@p4L?9Rc!Aa}$p-(z~|W{`6| MUHx3vIVCg!02ZTWLjV8( literal 0 HcmV?d00001 diff --git a/include/battle.h b/include/battle.h index 13fe13171..0e484746e 100644 --- a/include/battle.h +++ b/include/battle.h @@ -427,6 +427,18 @@ struct Illusion struct Pokemon *mon; }; +struct ZMoveData +{ + /*0x00*/ u8 battlerId; + /*0x01*/ u8 viable:1; // current move can become a z move + u8 viewingZMove:1; //if player is viewing the z move name instead of regular moves + u8 split:2; + u8 zUnused:4; + /*0x02*/ u16 currZMove; //z move of cursor / selected z move + /*0x04*/ u16 baseMove; //move turned into z move + /*0x06*/ u8 triggerSpriteId; +}; /* size = 8 */ + struct BattleStruct { u8 turnEffectsTracker; @@ -522,6 +534,7 @@ struct BattleStruct u8 activeAbilityPopUps; // as bits for each battler bool8 throwingPokeBall; struct MegaEvolutionData mega; + struct ZMoveData zmove; const u8 *trainerSlideMsg; bool8 trainerSlideLowHpMsgDone; u8 introState; diff --git a/include/battle_controllers.h b/include/battle_controllers.h index bbaa40ca8..e0eeca6be 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -259,6 +259,8 @@ void c3_0802FDF4(u8 taskId); void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused); void ActionSelectionDestroyCursorAt(u8 cursorPos); void InitMoveSelectionsVarsAndStrings(void); +void MoveSelectionCreateCursorAt(u8 cursorPos, u8 arg1); +void MoveSelectionDestroyCursorAt(u8 cursorPosition); // recorded player controller void SetControllerToRecordedPlayer(void); diff --git a/include/battle_interface.h b/include/battle_interface.h index 32c679285..2d69af586 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -39,16 +39,18 @@ enum #define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C #define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714 -#define TAG_MEGA_TRIGGER_TILE 0xD777 +#define TAG_MEGA_TRIGGER_TILE 0xD777 #define TAG_MEGA_INDICATOR_TILE 0xD778 +#define TAG_ZMOVE_TRIGGER_TILE 0xD779 #define TAG_HEALTHBOX_PAL 0xD6FF #define TAG_HEALTHBAR_PAL 0xD704 #define TAG_STATUS_SUMMARY_BAR_PAL 0xD710 #define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712 -#define TAG_MEGA_TRIGGER_PAL 0xD777 -#define TAG_MEGA_INDICATOR_PAL 0xD778 +#define TAG_MEGA_TRIGGER_PAL 0xD777 +#define TAG_MEGA_INDICATOR_PAL 0xD778 +#define TAG_ZMOVE_TRIGGER_PAL 0xD779 enum { @@ -92,5 +94,6 @@ s32 MoveBattleBar(u8 battler, u8 healthboxSpriteId, u8 whichBar, u8 arg3); u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale); u8 GetHPBarLevel(s16 hp, s16 maxhp); void CreateAbilityPopUp(u8 battlerId, u32 ability, bool32 isDoubleBattle); +void HideTriggerSprites(void); #endif // GUARD_BATTLE_INTERFACE_H diff --git a/include/battle_message.h b/include/battle_message.h index 51d06b779..2ebb3b837 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -233,6 +233,7 @@ void BattlePutTextOnWindow(const u8* text, u8 windowId); void SetPpNumbersPaletteInMoveSelection(void); u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp); bool32 ShouldDoTrainerSlide(u32 battlerId, u32 trainerId, u32 which); +void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst); extern struct BattleMsgData *gBattleMsgDataPtr; diff --git a/include/battle_util.h b/include/battle_util.h index 422aa7300..31e410f17 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -130,5 +130,6 @@ void ClearIllusionMon(u32 battlerId); bool32 SetIllusionMon(struct Pokemon *mon, u32 battlerId); bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battlerId); u8 GetBattleMoveSplit(u32 moveId); +bool32 IsPartnerMonFromSameTrainer(u8 battlerId); #endif // GUARD_BATTLE_UTIL_H diff --git a/include/battle_z_move.h b/include/battle_z_move.h new file mode 100644 index 000000000..ab3f4ad1f --- /dev/null +++ b/include/battle_z_move.h @@ -0,0 +1,22 @@ +#ifndef GUARD_BATTLE_Z_MOVE_H +#define GUARD_BATTLE_Z_MOVE_H + +#include "constants/z_move_effects.h" + +struct SignatureZMove +{ + u16 species; + u16 item; + u16 move; + u16 zmove; +}; + +bool32 IsViableZMove(u8 battlerId, u16 move); +bool32 TryChangeZIndicator(u8 battlerId, u16 move); +void CreateZMoveTriggerSprite(u8, bool8); +void HideZMoveTriggerSprite(void); +bool32 IsZMoveTriggerSpriteActive(void); +void DestroyZMoveTriggerSprite(void); +bool32 MoveSelectionDisplayZMove(u16 zmove); + +#endif // GUARD_BATTLE_Z_MOVE_H \ No newline at end of file diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index d7f178570..a5c14023f 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -64,6 +64,41 @@ #define ITEM_RINDO_BERRY 207 #define ITEM_YACHE_BERRY 208 #define ITEM_GRISEOUS_ORB 369 + // z crystals + #define ITEM_NORMALIUM_Z 568 + #define ITEM_FIGHTINIUM_Z 569 + #define ITEM_FLYINIUM_Z 570 + #define ITEM_POISONIUM_Z 571 + #define ITEM_GROUNDIUM_Z 572 + #define ITEM_ROCKIUM_Z 573 + #define ITEM_BUGINIUM_Z 574 + #define ITEM_GHOSTIUM_Z 575 + #define ITEM_STEELIUM_Z 576 + #define ITEM_FIRIUM_Z 577 + #define ITEM_WATERIUM_Z 578 + #define ITEM_GRASSIUM_Z 579 + #define ITEM_ELECTRIUM_Z 580 + #define ITEM_PSYCHIUM_Z 581 + #define ITEM_ICIUM_Z 582 + #define ITEM_DRAGONIUM_Z 583 + #define ITEM_DARKINIUM_Z 584 + #define ITEM_FAIRIUM_Z 585 + #define ITEM_ALORAICHIUM_Z 586 + #define ITEM_DECIDIUM_Z 587 + #define ITEM_EEVIUM_Z 588 + #define ITEM_INCINIUM_Z 589 + #define ITEM_KOMMONIUM_Z 590 + #define ITEM_LUNALIUM_Z 591 + #define ITEM_LYCANIUM_Z 592 + #define ITEM_MARSHADIUM_Z 593 + #define ITEM_MEWNIUM_Z 594 + #define ITEM_MIMIKIUM_Z 595 + #define ITEM_PIKANIUM_Z 596 + #define ITEM_PIKASHUNIUM_Z 597 + #define ITEM_PRIMARIUM_Z 598 + #define ITEM_SNORLIUM_Z 599 + #define ITEM_SOLGANIUM_Z 600 + #define ITEM_TAPUNIUM_Z 601 #endif #ifndef GEN_3 diff --git a/include/constants/hold_effects.h b/include/constants/hold_effects.h index 85017cb40..54c1d004a 100644 --- a/include/constants/hold_effects.h +++ b/include/constants/hold_effects.h @@ -135,6 +135,7 @@ #define HOLD_EFFECT_ADRENALINE_ORB 152 #define HOLD_EFFECT_MEMORY 153 #define HOLD_EFFECT_PLATE 154 +#define HOLD_EFFECT_Z_CRYSTAL 155 #define HOLD_EFFECT_CHOICE(holdEffect)((holdEffect == HOLD_EFFECT_CHOICE_BAND || holdEffect == HOLD_EFFECT_CHOICE_SCARF || holdEffect == HOLD_EFFECT_CHOICE_SPECS)) diff --git a/include/constants/items.h b/include/constants/items.h index 95c6aacfe..72a5bc71c 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -464,7 +464,47 @@ #define ITEM_MAGMA_EMBLEM 375 #define ITEM_OLD_SEA_MAP 376 -#define ITEMS_COUNT 377 + + +#define ITEM_NORMALIUM_Z 568 +#define ITEM_FIGHTINIUM_Z 569 +#define ITEM_FLYINIUM_Z 570 +#define ITEM_POISONIUM_Z 571 +#define ITEM_GROUNDIUM_Z 572 +#define ITEM_ROCKIUM_Z 573 +#define ITEM_BUGINIUM_Z 574 +#define ITEM_GHOSTIUM_Z 575 +#define ITEM_STEELIUM_Z 576 +#define ITEM_FIRIUM_Z 577 +#define ITEM_WATERIUM_Z 578 +#define ITEM_GRASSIUM_Z 579 +#define ITEM_ELECTRIUM_Z 580 +#define ITEM_PSYCHIUM_Z 581 +#define ITEM_ICIUM_Z 582 +#define ITEM_DRAGONIUM_Z 583 +#define ITEM_DARKINIUM_Z 584 +#define ITEM_FAIRIUM_Z 585 +#define ITEM_ALORAICHIUM_Z 586 +#define ITEM_DECIDIUM_Z 587 +#define ITEM_EEVIUM_Z 588 +#define ITEM_INCINIUM_Z 589 +#define ITEM_KOMMONIUM_Z 590 +#define ITEM_LUNALIUM_Z 591 +#define ITEM_LYCANIUM_Z 592 +#define ITEM_MARSHADIUM_Z 593 +#define ITEM_MEWNIUM_Z 594 +#define ITEM_MIMIKIUM_Z 595 +#define ITEM_PIKANIUM_Z 596 +#define ITEM_PIKASHUNIUM_Z 597 +#define ITEM_PRIMARIUM_Z 598 +#define ITEM_SNORLIUM_Z 599 +#define ITEM_SOLGANIUM_Z 600 +#define ITEM_TAPUNIUM_Z 601 + + + + +#define ITEMS_COUNT 602 #define ITEM_FIELD_ARROW ITEMS_COUNT #define FIRST_BERRY_INDEX ITEM_CHERI_BERRY diff --git a/include/constants/moves.h b/include/constants/moves.h index 711aa3023..167a2936a 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -775,6 +775,50 @@ #define MOVES_COUNT_GEN8 747 -#define MOVES_COUNT MOVES_COUNT_GEN8 +// Z Moves +#define MOVE_BREAKNECK_BLITZ 747 +#define MOVE_ALL_OUT_PUMMELING 748 +#define MOVE_SUPERSONIC_SKYSTRIKE 749 +#define MOVE_ACID_DOWNPOUR 750 +#define MOVE_TECTONIC_RAGE 751 +#define MOVE_CONTINENTAL_CRUSH 752 +#define MOVE_SAVAGE_SPIN_OUT 753 +#define MOVE_NEVER_ENDING_NIGHTMARE 754 +#define MOVE_CORKSCREW_CRASH 755 +#define MOVE_INFERNO_OVERDRIVE 756 +#define MOVE_HYDRO_VORTEX 757 +#define MOVE_BLOOM_DOOM 758 +#define MOVE_GIGAVOLT_HAVOC 759 +#define MOVE_SHATTERED_PSYCHE 760 +#define MOVE_SUBZERO_SLAMMER 761 +#define MOVE_DEVASTATING_DRAKE 762 +#define MOVE_BLACK_HOLE_ECLIPSE 763 +#define MOVE_TWINKLE_TACKLE 764 +//signature z moves +#define MOVE_CATASTROPIKA 765 +#define MOVE_10000000_VOLT_THUNDERBOLT 766 +#define MOVE_STOKED_SPARKSURFER 767 +#define MOVE_EXTREME_EVOBOOST 768 +#define MOVE_PULVERIZING_PANCAKE 769 +#define MOVE_GENESIS_SUPERNOVA 770 +#define MOVE_SINISTER_ARROW_RAID 771 +#define MOVE_MALICIOUS_MOONSAULT 772 +#define MOVE_OCEANIC_OPERETTA 773 +#define MOVE_SPLINTERED_STORMSHARDS 774 +#define MOVE_LETS_SNUGGLE_FOREVER 775 +#define MOVE_CLANGOROUS_SOULBLAZE 776 +#define MOVE_GUARDIAN_OF_ALOLA 777 +#define MOVE_SEARING_SUNRAZE_SMASH 778 +#define MOVE_MENACING_MOONRAZE_MAELSTROM 7979 +#define MOVE_LIGHT_THAT_BURNS_THE_SKY 780 +#define MOVE_SOUL_STEALING_7_STAR_STRIKE 781 + +#define FIRST_Z_MOVE MOVE_BREAKNECK_BLITZ +#define LAST_Z_MOVE MOVE_SOUL_STEALING_7_STAR_STRIKE + +#define MOVES_COUNT MOVES_COUNT_GEN8 +#define MOVES_COUNT_Z (MOVE_SOUL_STEALING_7_STAR_STRIKE + 1) + +#define MOVE_Z_SIGNATURE 0xFFFF //signature z move #endif // GUARD_CONSTANTS_MOVES_H diff --git a/include/constants/z_move_effects.h b/include/constants/z_move_effects.h new file mode 100644 index 000000000..8b77596ef --- /dev/null +++ b/include/constants/z_move_effects.h @@ -0,0 +1,38 @@ +#ifndef GUARD_Z_MOVE_EFFECTS_H +#define GUARD_Z_MOVE_EFFECTS_H + +#define Z_EFFECT_NONE 0 +#define Z_EFFECT_RESET_STATS 1 +#define Z_EFFECT_ALL_STATS_UP_1 2 +#define Z_EFFECT_BOOST_CRITS 3 +#define Z_EFFECT_FOLLOW_ME 4 +#define Z_EFFECT_CURSE 5 +#define Z_EFFECT_RECOVER_HP 6 +#define Z_EFFECT_RESTORE_REPLACEMENT_HP 7 + +#define Z_EFFECT_ATK_UP_1 8 +#define Z_EFFECT_DEF_UP_1 9 +#define Z_EFFECT_SPD_UP_1 10 +#define Z_EFFECT_SPATK_UP_1 11 +#define Z_EFFECT_SPDEF_UP_1 12 +#define Z_EFFECT_ACC_UP_1 13 +#define Z_EFFECT_EVSN_UP_1 14 + +#define Z_EFFECT_ATK_UP_2 15 +#define Z_EFFECT_DEF_UP_2 16 +#define Z_EFFECT_SPD_UP_2 17 +#define Z_EFFECT_SPATK_UP_2 18 +#define Z_EFFECT_SPDEF_UP_2 19 +#define Z_EFFECT_ACC_UP_2 20 +#define Z_EFFECT_EVSN_UP_2 21 + +#define Z_EFFECT_ATK_UP_3 22 +#define Z_EFFECT_DEF_UP_3 23 +#define Z_EFFECT_SPD_UP_3 24 +#define Z_EFFECT_SPATK_UP_3 25 +#define Z_EFFECT_SPDEF_UP_3 26 +#define Z_EFFECT_ACC_UP_3 27 +#define Z_EFFECT_EVSN_UP_3 28 + + +#endif // GUARD_Z_MOVE_EFFECTS_H \ No newline at end of file diff --git a/include/data.h b/include/data.h index 260c18152..d0782a3e1 100644 --- a/include/data.h +++ b/include/data.h @@ -114,5 +114,6 @@ extern const struct Trainer gTrainers[]; extern const u8 gTrainerClassNames[][13]; extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; extern const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1]; +extern const u8 *const gZMoveNames[]; #endif // GUARD_DATA_H diff --git a/include/pokemon.h b/include/pokemon.h index b6277b9e2..629635255 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -208,7 +208,7 @@ struct BaseStats struct BattleMove { u16 effect; - u8 power; + u16 power; //higher than 255 for z moves u8 type; u8 accuracy; u8 pp; @@ -218,6 +218,8 @@ struct BattleMove u32 flags; u8 split; u8 argument; + u8 zMovePower; + u8 zMoveEffect; }; struct SpindaSpot diff --git a/ld_script.txt b/ld_script.txt index 091b6e693..a7a7075fb 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -87,6 +87,7 @@ SECTIONS { src/battle_bg.o(.text); src/battle_main.o(.text); src/battle_util.o(.text); + src/battle_z_move.o(.text); src/battle_script_commands.o(.text); src/battle_util2.o(.text); src/battle_controller_player.o(.text); @@ -474,6 +475,7 @@ SECTIONS { src/battle_bg.o(.rodata); src/battle_main.o(.rodata); src/battle_util.o(.rodata); + src/battle_z_move.o(.rodata); src/battle_script_commands.o(.rodata); src/battle_controller_player.o(.rodata); src/battle_anim_smokescreen.o(.rodata); diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index 0b54b4c40..9d1b48453 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -4049,6 +4049,104 @@ const struct SpriteTemplate gSteelBeamSpikeShardTemplate = .callback = AnimDirtScatter }; +//// Z MOVES +/* +// breakneck blitz +const struct SpriteTemplate gBreakneckBlitzDanceSpriteTemplate = +{ + .tileTag = ANIM_TAG_HOLLOW_ORB, + .paletteTag = ANIM_TAG_FLAT_ROCK, + .oam = OAM_OFF_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = 0x80B7449 +}; +const struct SpriteTemplate gBreakneckBlitzSuperpowerSpriteTemplate = +{ + .tileTag = ANIM_TAG_METEOR, + .paletteTag = ANIM_TAG_METEOR, + .oam = sGrowingSuperpowerOAM, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_GrowingSuperpower, + .callback = SpriteCB_GrowingSuperpower +}; +const struct SpriteTemplate gBreakneckBlitzHitSpriteTemplate = +{ + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_FLAT_ROCK, + .oam = OAM_NORMAL_BLEND_32x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = 0x83E7BF8, + .callback = 0x80BA561 +}; +// all out pummelling +const struct SpriteTemplate gAllOutPummelingOnslaughtSpriteTemplate = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_IMPACT, + .oam = OAM_OFF_32x32, + .anims = 0x83E66CC, + .images = 0x0, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = 0x80B0929 +}; +// supersonic skystrike +static const union AffineAnimCmd sSupersonicSkystrikeAffinePlayerSide = { + .hword 0,0,0x01b9,0,0x7fff,0,0,0 +}; +static const union AffineAnimCmd sSupersonicSkystrikeAffineOpponentSide = { + .hword 0,0,0x0150,0,0x7fff,0,0,0 +}; +static const union AffineAnimCmd* const sSupersonicSkystrikeAffineAnimTable[] = { + sSupersonicSkystrikeAffinePlayerSide, + sSupersonicSkystrikeAffineOpponentSide, +}; +const struct SpriteTemplate gSupersonicSkystrikeFlySpriteTemplate = +{ + .tileTag = ANIM_TAG_BIRD, + .paletteTag = ANIM_TAG_BIRD, + .oam = OAM_NORMAL_64x64, + .anims = gDummySpriteAnimTable, + .images = 0x0, + .affineAnims = sSupersonicSkystrikeAffineAnimTable, + .callback = 0x80B1C3D +}; +//acid downpour +const struct SpriteTemplate gAcidDownpourReversalSpriteTemplate = +{ + .tileTag = ANIM_TAG_POISON_BUBBLE, + .paletteTag = ANIM_TAG_POISON_BUBBLE, + .oam = OAM_NORMAL_16x16, + .anims = gDummySpriteAnimTable, + .images = 0x0, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = 0x80E0E95 +}; +const struct SpriteTemplate gAcidDownpourAuraSpriteTemplate = +{ + .tileTag = ANIM_TAG_POISON_BUBBLE, + .paletteTag = ANIM_TAG_POISON_BUBBLE, + .oam = OAM_NORMAL_16x16, + .anims = gDummySpriteAnimTable, + .images = 0x0, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = 0x80B477D +}; +//tectonic rage +const struct SpriteTemplate gTectonicRageBlastBurnSpriteTemplate = +{ +TEC_RAGE_BLAST_BURN: objtemplate ANIM_TAG_FIRE_PLUME ANIM_TAG_FIRE_PLUME OAM_OFF_32x32 0x83E5C50 0x0 gDummySpriteAffineAnimTable BLASTBURN_TARGET_ASM+1 +}; +const struct SpriteTemplate gTectonicRageExplosionSpriteTemplate = +{ +TECTONIC_EXPLODE: objtemplate ANIM_TAG_UNUSED_EXPLOSION_2 ANIM_TAG_UNUSED_EXPLOSION_2 OAM_OFF_32x32 0x83E3F90 0x0 gDummySpriteAffineAnimTable SpriteCB_AnimSpriteOnMonPos +};*/ + + + //// functions //general static u8 LoadBattleAnimTarget(u8 arg) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 2ad113638..fb1f844a7 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -8,6 +8,7 @@ #include "battle_message.h" #include "battle_setup.h" #include "battle_tv.h" +#include "battle_z_move.h" #include "bg.h" #include "data.h" #include "item.h" @@ -101,8 +102,6 @@ static void PlayerCmdEnd(void); static void PlayerBufferRunCommand(void); static void HandleInputChooseTarget(void); static void HandleInputChooseMove(void); -static void MoveSelectionCreateCursorAt(u8 cursorPos, u8 arg1); -static void MoveSelectionDestroyCursorAt(u8 cursorPos); static void MoveSelectionDisplayPpNumber(void); static void MoveSelectionDisplayPpString(void); static void MoveSelectionDisplayMoveType(void); @@ -125,6 +124,8 @@ static void PlayerDoMoveAnimation(void); static void task05_08033660(u8 taskId); static void sub_805CE38(void); +static void ReloadMoveNames(void); + static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { PlayerHandleGetMonData, @@ -372,7 +373,7 @@ static void HandleInputChooseTarget(void) else BtlController_EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); - HideMegaTriggerSprite(); + HideTriggerSprites(); PlayerBufferExecCompleted(); } else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) @@ -513,7 +514,7 @@ static void HandleInputShowTargets(void) BtlController_EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBattler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); else BtlController_EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); - HideMegaTriggerSprite(); + HideTriggerSprites(); PlayerBufferExecCompleted(); } else if (gMain.newKeys & B_BUTTON || gPlayerDpadHoldFrames > 59) @@ -605,7 +606,7 @@ static void HandleInputChooseMove(void) BtlController_EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBattler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); else BtlController_EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); - HideMegaTriggerSprite(); + HideTriggerSprites(); PlayerBufferExecCompleted(); } else if (canSelectTarget == 1) @@ -629,10 +630,18 @@ static void HandleInputChooseMove(void) else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); - gBattleStruct->mega.playerSelect = FALSE; - BtlController_EmitTwoReturnValues(1, 10, 0xFFFF); - HideMegaTriggerSprite(); - PlayerBufferExecCompleted(); + if (gBattleStruct->zmove.viewingZMove) + { + ReloadMoveNames(); + } + else + { + gBattleStruct->mega.playerSelect = FALSE; + gBattleStruct->zmove.viable = FALSE; + BtlController_EmitTwoReturnValues(1, 10, 0xFFFF); + HideTriggerSprites(); + PlayerBufferExecCompleted(); + } } else if (JOY_NEW(DPAD_LEFT)) { @@ -644,6 +653,7 @@ static void HandleInputChooseMove(void) MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); + TryChangeZIndicator(gActiveBattler, moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]); } } else if (JOY_NEW(DPAD_RIGHT)) @@ -657,6 +667,7 @@ static void HandleInputChooseMove(void) MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); + TryChangeZIndicator(gActiveBattler, moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]); } } else if (JOY_NEW(DPAD_UP)) @@ -669,6 +680,7 @@ static void HandleInputChooseMove(void) MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); + TryChangeZIndicator(gActiveBattler, moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]); } } else if (JOY_NEW(DPAD_DOWN)) @@ -682,6 +694,7 @@ static void HandleInputChooseMove(void) MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); + TryChangeZIndicator(gActiveBattler, moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]); } } else if (JOY_NEW(SELECT_BUTTON)) @@ -708,9 +721,32 @@ static void HandleInputChooseMove(void) ChangeMegaTriggerSprite(gBattleStruct->mega.triggerSpriteId, gBattleStruct->mega.playerSelect); PlaySE(SE_SELECT); } + else if (gBattleStruct->zmove.currZMove != MOVE_NONE) + { + // show z move name / info + //TODO: brighten z move symbol + //ChangeMegaTriggerSprite(gBattleStruct->zmove.triggerSpriteId, gBattleStruct->zmove.viable); + PlaySE(SE_SELECT); + + if (!gBattleStruct->zmove.viewingZMove) + MoveSelectionDisplayZMove(gBattleStruct->zmove.currZMove); + else + ReloadMoveNames(); + } } } +static void ReloadMoveNames(void) +{ + gBattleStruct->mega.playerSelect = FALSE; + gBattleStruct->zmove.viewingZMove = FALSE; + MoveSelectionDestroyCursorAt(0); + MoveSelectionDisplayMoveNames(); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); + MoveSelectionDisplayPpNumber(); + MoveSelectionDisplayMoveType(); +} + u32 sub_8057FBC(void) // unused { u32 var = 0; @@ -1587,7 +1623,7 @@ static void MoveSelectionDisplayMoveType(void) BattlePutTextOnWindow(gDisplayedStringBattle, 10); } -static void MoveSelectionCreateCursorAt(u8 cursorPosition, u8 arg1) +void MoveSelectionCreateCursorAt(u8 cursorPosition, u8 arg1) { u16 src[2]; src[0] = arg1 + 1; @@ -1597,7 +1633,7 @@ static void MoveSelectionCreateCursorAt(u8 cursorPosition, u8 arg1) CopyBgTilemapBufferToVram(0); } -static void MoveSelectionDestroyCursorAt(u8 cursorPosition) +void MoveSelectionDestroyCursorAt(u8 cursorPosition) { u16 src[2]; src[0] = 0x1016; @@ -2712,12 +2748,18 @@ static void PlayerHandleChooseMove(void) } else { + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleResources->bufferA[gActiveBattler][4]); + InitMoveSelectionsVarsAndStrings(); gBattleStruct->mega.playerSelect = FALSE; if (!IsMegaTriggerSpriteActive()) gBattleStruct->mega.triggerSpriteId = 0xFF; if (CanMegaEvolve(gActiveBattler)) CreateMegaTriggerSprite(gActiveBattler, 0); + if (!IsZMoveTriggerSpriteActive()) + gBattleStruct->zmove.triggerSpriteId = 0xFF; + gBattleStruct->zmove.viable = IsViableZMove(gActiveBattler, moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]); //is current move a z move + CreateZMoveTriggerSprite(gActiveBattler, gBattleStruct->zmove.viable); gBattlerControllerFuncs[gActiveBattler] = HandleChooseMoveAfterDma3; } } diff --git a/src/battle_interface.c b/src/battle_interface.c index d302cd646..d2fbd2729 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -4,6 +4,7 @@ #include "pokemon.h" #include "battle_controllers.h" #include "battle_interface.h" +#include "battle_z_move.h" #include "graphics.h" #include "sprite.h" #include "window.h" @@ -1520,6 +1521,12 @@ void HideMegaTriggerSprite(void) gSprites[gBattleStruct->mega.triggerSpriteId].tHide = TRUE; } +void HideTriggerSprites(void) +{ + HideMegaTriggerSprite(); + HideZMoveTriggerSprite(); +} + void DestroyMegaTriggerSprite(void) { FreeSpritePaletteByTag(TAG_MEGA_TRIGGER_PAL); diff --git a/src/battle_main.c b/src/battle_main.c index 793a37022..e5ba05bbc 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -5049,3 +5049,4 @@ void SetTypeBeforeUsingMove(u16 move, u8 battlerAtk) gSpecialStatuses[battlerAtk].gemBoost = 1; } } + diff --git a/src/battle_message.c b/src/battle_message.c index 9e86d2774..04a939ad6 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -50,7 +50,6 @@ extern const u16 gUnknown_08D85620[]; // this file's functions static void ChooseMoveUsedParticle(u8 *textPtr); static void ChooseTypeOfMoveUsedString(u8 *dst); -static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst); // EWRAM vars static EWRAM_DATA u8 sBattlerAbilities[MAX_BATTLERS_COUNT] = {0}; @@ -3315,7 +3314,7 @@ static void IllusionNickHack(u32 battlerId, u32 partyId, u8 *dst) GetMonData(mon, MON_DATA_NICKNAME, dst); } -static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) +void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) { u32 srcID = 1; u32 value = 0; diff --git a/src/battle_util.c b/src/battle_util.c index 697c7799d..c1ec01ef0 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -7504,7 +7504,7 @@ s32 GetStealthHazardDamage(u8 hazardType, u8 battlerId) return dmg; } -static bool32 IsPartnerMonFromSameTrainer(u8 battlerId) +bool32 IsPartnerMonFromSameTrainer(u8 battlerId) { if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT && gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) return FALSE; diff --git a/src/battle_z_move.c b/src/battle_z_move.c new file mode 100644 index 000000000..446a1d790 --- /dev/null +++ b/src/battle_z_move.c @@ -0,0 +1,525 @@ +#include "global.h" +#include "malloc.h" +#include "battle.h" +#include "pokemon.h" +#include "battle_controllers.h" +#include "battle_interface.h" +#include "battle_message.h" +#include "battle_z_move.h" +#include "graphics.h" +#include "sprite.h" +#include "window.h" +#include "string_util.h" +#include "text.h" +#include "item.h" +#include "strings.h" +#include "sound.h" +#include "constants/songs.h" +#include "decompress.h" +#include "task.h" +#include "util.h" +#include "gpu_regs.h" +#include "battle_message.h" +#include "pokedex.h" +#include "palette.h" +#include "international_string_util.h" +#include "safari_zone.h" +#include "battle_anim.h" +#include "constants/battle_anim.h" +#include "constants/rgb.h" +#include "battle_debug.h" +#include "constants/battle_config.h" +#include "data.h" +#include "pokemon_summary_screen.h" +#include "constants/songs.h" +#include "constants/items.h" +#include "constants/species.h" +#include "constants/hold_effects.h" + +// Function Declarations +static void SpriteCB_ZMoveTrigger(struct Sprite *sprite); +static u16 GetSignatureZMove(u16 move, u16 species, u16 item); +static u16 GetTypeBasedZMove(u16 move, u8 battler); +static void ZMoveSelectionDisplayPpNumber(void); +static void ZMoveSelectionDisplayPower(u16 move, u16 zMove); +static const u8* GetZMoveName(u16 move); +static void ShowZMoveTriggerSprite(void); + +// Const Data +static const struct SignatureZMove sSignatureZMoves[] = +{ + #ifdef POKEMON_EXPANSION + {SPECIES_RAICHU_A, ITEM_ALORAICHIUM_Z, MOVE_THUNDERBOLT, MOVE_STOKED_SPARKSURFER}, + {SPECIES_DECIDUEYE, ITEM_DECIDIUM_Z, MOVE_SPIRIT_SHACKLE, MOVE_SINISTER_ARROW_RAID}, + {SPECIES_INCINEROAR, ITEM_INCINIUM_Z, MOVE_DARKEST_LARIAT, MOVE_MALICIOUS_MOONSAULT}, + {SPECIES_KOMMO_O, ITEM_KOMMONIUM_Z, MOVE_CLANGING_SCALES, MOVE_CLANGOROUS_SOULBLAZE}, + {SPECIES_LUNALA, ITEM_LUNALIUM_Z, MOVE_MOONGEIST_BEAM, MOVE_MENACING_MOONRAZE_MAELSTROM}, + {SPECIES_NECROZMA_DAWN_WINGS, ITEM_LUNALIUM_Z, MOVE_MOONGEIST_BEAM, MOVE_MENACING_MOONRAZE_MAELSTROM}, + {SPECIES_LYCANROC, ITEM_LYCANIUM_Z, MOVE_STONE_EDGE, MOVE_SPLINTERED_STORMSHARDS}, + {SPECIES_LYCANROC_N, ITEM_LYCANIUM_Z, MOVE_STONE_EDGE, MOVE_SPLINTERED_STORMSHARDS}, + {SPECIES_LYCANROC_DUSK, ITEM_LYCANIUM_Z, MOVE_STONE_EDGE, MOVE_SPLINTERED_STORMSHARDS}, + {SPECIES_MARSHADOW, ITEM_MARSHADIUM_Z, MOVE_SPECTRAL_THIEF, MOVE_SOUL_STEALING_7_STAR_STRIKE}, + {SPECIES_MIMIKYU, ITEM_MIMIKIUM_Z, MOVE_PLAY_ROUGH, MOVE_LETS_SNUGGLE_FOREVER}, + {SPECIES_MIMIKYU_BUSTED, ITEM_MIMIKIUM_Z, MOVE_PLAY_ROUGH, MOVE_LETS_SNUGGLE_FOREVER}, + {SPECIES_PIKACHU_CAP_ORIGINAL, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_CAP_HOENN, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_CAP_SINNOH, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_CAP_UNOVA, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_CAP_KALOS, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_CAP_ALOLA, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PIKACHU_CAP_PARTNER, ITEM_PIKASHUNIUM_Z, MOVE_THUNDERBOLT, MOVE_10000000_VOLT_THUNDERBOLT}, + {SPECIES_PRIMARINA, ITEM_PRIMARIUM_Z, MOVE_SPARKLING_ARIA, MOVE_OCEANIC_OPERETTA}, + {SPECIES_SOLGALEO, ITEM_SOLGANIUM_Z, MOVE_SUNSTEEL_STRIKE, MOVE_SEARING_SUNRAZE_SMASH}, + {SPECIES_NECROZMA_DUSK_MANE, ITEM_SOLGANIUM_Z, MOVE_SUNSTEEL_STRIKE, MOVE_SEARING_SUNRAZE_SMASH}, + {SPECIES_TAPU_KOKO, ITEM_TAPUNIUM_Z, MOVE_NATURES_MADNESS, MOVE_GUARDIAN_OF_ALOLA}, + {SPECIES_TAPU_BULU, ITEM_TAPUNIUM_Z, MOVE_NATURES_MADNESS, MOVE_GUARDIAN_OF_ALOLA}, + {SPECIES_TAPU_LELE, ITEM_TAPUNIUM_Z, MOVE_NATURES_MADNESS, MOVE_GUARDIAN_OF_ALOLA}, + {SPECIES_TAPU_FINI, ITEM_TAPUNIUM_Z, MOVE_NATURES_MADNESS, MOVE_GUARDIAN_OF_ALOLA}, + {SPECIES_NECROZMA_ULTRA, ITEM_ULTRANECROZIUM_Z, MOVE_PHOTON_GEYSER, MOVE_LIGHT_THAT_BURNS_THE_SKY}, + #endif + {SPECIES_MEW, ITEM_MEWNIUM_Z, MOVE_PSYCHIC, MOVE_GENESIS_SUPERNOVA}, + {SPECIES_PIKACHU, ITEM_PIKANIUM_Z, MOVE_VOLT_TACKLE, MOVE_CATASTROPIKA}, + {SPECIES_EEVEE, ITEM_EEVIUM_Z, MOVE_LAST_RESORT, MOVE_EXTREME_EVOBOOST}, + {SPECIES_SNORLAX, ITEM_SNORLIUM_Z, MOVE_GIGA_IMPACT, MOVE_PULVERIZING_PANCAKE}, +}; + +static const u8 sText_ResetStats[] = _("Reset Lowered Stats"); +static const u8 sText_StatsPlus[] = _("+ All Stats"); +static const u8 sText_CritHitsPlus[] = _("+ Critical Hit Chance"); +static const u8 sText_FollowMe[] = _("Follow Me"); +static const u8 sText_RecoverHP[] = _("Recover HP"); +static const u8 sText_HealAllyHP[] = _("Heal Replacement HP"); +static const u8 sText_PowerColon[] = _("Power: "); + +static const u32 sZMoveTriggerGfx[] = INCBIN_U32("graphics/battle_interface/z_move_trigger.4bpp.lz"); +static const u16 sZMoveTriggerPal[] = INCBIN_U16("graphics/battle_interface/z_move_trigger.gbapal"); + +static const struct CompressedSpriteSheet sSpriteSheet_ZMoveTrigger = { + sZMoveTriggerGfx, (32 * 32) / 2, TAG_ZMOVE_TRIGGER_TILE +}; + +static const struct SpritePalette sSpritePalette_ZMoveTrigger = { + sZMoveTriggerPal, TAG_ZMOVE_TRIGGER_PAL +}; + +static const struct OamData sOamData_ZMoveTrigger = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .priority = 1, +}; + +static const struct SpriteTemplate sSpriteTemplate_ZMoveTrigger = +{ + .tileTag = TAG_ZMOVE_TRIGGER_TILE, + .paletteTag = TAG_ZMOVE_TRIGGER_PAL, + .oam = &sOamData_ZMoveTrigger, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_ZMoveTrigger +}; + +// Functions +bool8 IsZMove(u16 move) +{ + return move >= FIRST_Z_MOVE && move <= LAST_Z_MOVE; +} + +bool32 IsViableZMove(u8 battlerId, u16 move) +{ + struct Pokemon *mon; + struct MegaEvolutionData *mega = &(((struct ChooseMoveStruct*)(&gBattleResources->bufferA[gActiveBattler][4]))->mega); + u8 battlerPosition = GetBattlerPosition(battlerId); + u8 partnerPosition = GetBattlerPosition(BATTLE_PARTNER(battlerId)); + u32 item; + u16 holdEffect; + u16 species; + + gBattleStruct->zmove.currZMove = MOVE_NONE; //init + + // Gets mon data. + if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; + else + mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; + + species = GetMonData(mon, MON_DATA_SPECIES); + item = GetMonData(mon, MON_DATA_HELD_ITEM); + + if (gBattleTypeFlags & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_FRONTIER)) + return FALSE; + + #ifdef ITEM_Z_RING + if (!CheckBagHasItem(ITEM_Z_RING, 1)) + return FALSE; + #endif + + if (mega->alreadyEvolved[battlerPosition]) + return FALSE; // trainer has mega evolved + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + if (IsPartnerMonFromSameTrainer(battlerId) + && (mega->alreadyEvolved[partnerPosition] || (mega->toEvolve & gBitTable[BATTLE_PARTNER(battlerId)]))) + return FALSE; //partner has mega evolved or is about to mega evolve + } + + if (USE_BATTLE_DEBUG && gBattleStruct->debugHoldEffects[battlerId]) + holdEffect = gBattleStruct->debugHoldEffects[battlerId]; + else if (item == ITEM_ENIGMA_BERRY) + return FALSE; //holdEffect = gEnigmaBerries[battlerId].holdEffect; + else + holdEffect = ItemId_GetHoldEffect(item); + + #ifdef ITEM_ULTRANECROZIUM_Z + if (holdEffect == HOLD_EFFECT_Z_CRYSTAL || item == ITEM_ULTRANECROZIUM_Z) + #else + if (holdEffect == HOLD_EFFECT_Z_CRYSTAL) + #endif + { + //TODO: status z moves + u16 zMove = GetSignatureZMove(move, gBattleMons[battlerId].species, item); + if (zMove != MOVE_NONE) + { + gBattleStruct->zmove.currZMove = MOVE_Z_SIGNATURE; //signature z move exists + return TRUE; + } + + if (move != MOVE_NONE && zMove != MOVE_Z_SIGNATURE && gBattleMoves[move].type == ItemId_GetHoldEffectParam(item)) + { + if (gBattleMoves[move].split == SPLIT_STATUS) + gBattleStruct->zmove.currZMove = MOVE_Z_SIGNATURE; + else + gBattleStruct->zmove.currZMove = GetTypeBasedZMove(move, battlerId); + + return TRUE; + } + } + + return FALSE; +} + +bool32 TryChangeZIndicator(u8 battlerId, u16 move) +{ + bool32 viableZMove = IsViableZMove(battlerId, move); + + if (gBattleStruct->zmove.viable && !viableZMove) + HideZMoveTriggerSprite(); //was a viable z move, now is not -> slide out + else if (!gBattleStruct->zmove.viable && viableZMove) + ShowZMoveTriggerSprite(); //was not a viable z move, now is -> slide back in +} + +#define SINGLES_Z_TRIGGER_POS_X_OPTIMAL (30) +#define SINGLES_Z_TRIGGER_POS_X_PRIORITY (31) +#define SINGLES_Z_TRIGGER_POS_X_SLIDE (15) +#define SINGLES_Z_TRIGGER_POS_Y_DIFF (-11) + +#define DOUBLES_Z_TRIGGER_POS_X_OPTIMAL (30) +#define DOUBLES_Z_TRIGGER_POS_X_PRIORITY (31) +#define DOUBLES_Z_TRIGGER_POS_X_SLIDE (15) +#define DOUBLES_Z_TRIGGER_POS_Y_DIFF (-4) + +#define tBattler data[0] +#define tHide data[1] + +void CreateZMoveTriggerSprite(u8 battlerId, bool8 viable) +{ + s16 x, y; + + // TODO: test mega trigger and z trigger together + LoadSpritePalette(&sSpritePalette_ZMoveTrigger); + if (GetSpriteTileStartByTag(TAG_ZMOVE_TRIGGER_TILE) == 0xFFFF) + LoadCompressedSpriteSheetUsingHeap(&sSpriteSheet_ZMoveTrigger); + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + x = gSprites[gHealthboxSpriteIds[battlerId]].pos1.x - DOUBLES_Z_TRIGGER_POS_X_SLIDE; + y = gSprites[gHealthboxSpriteIds[battlerId]].pos1.y - DOUBLES_Z_TRIGGER_POS_Y_DIFF; + } + else + { + x = gSprites[gHealthboxSpriteIds[battlerId]].pos1.x - SINGLES_Z_TRIGGER_POS_X_SLIDE; + y = gSprites[gHealthboxSpriteIds[battlerId]].pos1.y - SINGLES_Z_TRIGGER_POS_Y_DIFF, 0; + } + + if (gBattleStruct->zmove.triggerSpriteId == 0xFF) + gBattleStruct->zmove.triggerSpriteId = CreateSprite(&sSpriteTemplate_ZMoveTrigger, x, y, 0); + + gSprites[gBattleStruct->zmove.triggerSpriteId].tBattler = battlerId; + gSprites[gBattleStruct->zmove.triggerSpriteId].tHide = (viable == TRUE) ? FALSE : TRUE; + ChangeMegaTriggerSprite(gBattleStruct->zmove.triggerSpriteId, 0); +} + +static void SpriteCB_ZMoveTrigger(struct Sprite *sprite) +{ + s32 xSlide, xPriority, xOptimal; + s32 yDiff; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + xSlide = DOUBLES_Z_TRIGGER_POS_X_SLIDE; + xPriority = DOUBLES_Z_TRIGGER_POS_X_PRIORITY; + xOptimal = DOUBLES_Z_TRIGGER_POS_X_OPTIMAL; + yDiff = DOUBLES_Z_TRIGGER_POS_Y_DIFF; + } + else + { + xSlide = SINGLES_Z_TRIGGER_POS_X_SLIDE; + xPriority = SINGLES_Z_TRIGGER_POS_X_PRIORITY; + xOptimal = SINGLES_Z_TRIGGER_POS_X_OPTIMAL; + yDiff = SINGLES_Z_TRIGGER_POS_Y_DIFF; + } + + if (sprite->tHide) + { + if (sprite->pos1.x != gSprites[gHealthboxSpriteIds[sprite->tBattler]].pos1.x - xSlide) + sprite->pos1.x++; + + if (sprite->pos1.x >= gSprites[gHealthboxSpriteIds[sprite->tBattler]].pos1.x - xPriority) + sprite->oam.priority = 2; + else + sprite->oam.priority = 1; + + sprite->pos1.y = gSprites[gHealthboxSpriteIds[sprite->tBattler]].pos1.y - yDiff; + sprite->pos2.y = gSprites[gHealthboxSpriteIds[sprite->tBattler]].pos2.y - yDiff; + if (sprite->pos1.x == gSprites[gHealthboxSpriteIds[sprite->tBattler]].pos1.x - xSlide) + DestroyZMoveTriggerSprite(); + } + else + { + if (sprite->pos1.x != gSprites[gHealthboxSpriteIds[sprite->tBattler]].pos1.x - xOptimal) + sprite->pos1.x--; + + if (sprite->pos1.x >= gSprites[gHealthboxSpriteIds[sprite->tBattler]].pos1.x - xPriority) + sprite->oam.priority = 2; + else + sprite->oam.priority = 1; + + sprite->pos1.y = gSprites[gHealthboxSpriteIds[sprite->tBattler]].pos1.y - yDiff; + sprite->pos2.y = gSprites[gHealthboxSpriteIds[sprite->tBattler]].pos2.y - yDiff; + } +} + +bool32 IsZMoveTriggerSpriteActive(void) +{ + if (GetSpriteTileStartByTag(TAG_ZMOVE_TRIGGER_TILE) == 0xFFFF) + return FALSE; + else if (IndexOfSpritePaletteTag(TAG_ZMOVE_TRIGGER_PAL) != 0xFF) + return TRUE; + else + return FALSE; +} + +void HideZMoveTriggerSprite(void) +{ + struct Sprite *sprite = &gSprites[gBattleStruct->zmove.triggerSpriteId]; + ChangeMegaTriggerSprite(gBattleStruct->zmove.triggerSpriteId, 0); + sprite->tHide = TRUE; + gBattleStruct->zmove.viable = FALSE; +} + +static void ShowZMoveTriggerSprite(void) +{ + struct Sprite *sprite = &gSprites[gBattleStruct->zmove.triggerSpriteId]; + gBattleStruct->zmove.viable = TRUE; + CreateZMoveTriggerSprite(sprite->tBattler, TRUE); +} + +void DestroyZMoveTriggerSprite(void) +{ + FreeSpritePaletteByTag(TAG_ZMOVE_TRIGGER_PAL); + FreeSpriteTilesByTag(TAG_ZMOVE_TRIGGER_TILE); + if (gBattleStruct->zmove.triggerSpriteId != 0xFF) + DestroySprite(&gSprites[gBattleStruct->zmove.triggerSpriteId]); + gBattleStruct->zmove.triggerSpriteId = 0xFF; +} + +static u16 GetSignatureZMove(u16 move, u16 species, u16 item) +{ + u32 i; + + // check signature z move + for (i = 0; i < ARRAY_COUNT(sSignatureZMoves); ++i) + { + if (sSignatureZMoves[i].item == item && sSignatureZMoves[i].species == species && sSignatureZMoves[i].move == move) + return sSignatureZMoves[i].zmove; + } + + return MOVE_NONE; +} + +static u16 GetTypeBasedZMove(u16 move, u8 battler) +{ + u8 moveType; + //handle dynamic move types + SetTypeBeforeUsingMove(battler, move); + GET_MOVE_TYPE(move, moveType); + + // get z move from split + // TODO: light that burns the sky gets split from relative stats + if (moveType < TYPE_FIRE) + return MOVE_BREAKNECK_BLITZ + moveType; + else if (moveType >= TYPE_FAIRY) + return MOVE_TWINKLE_TACKLE + (moveType - TYPE_FAIRY); + else + return MOVE_BREAKNECK_BLITZ + (moveType - 1); +} + +bool32 MoveSelectionDisplayZMove(u16 zmove) +{ + u32 i; + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleResources->bufferA[gActiveBattler][4]); + u16 move = moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]; + + PlaySE(SE_SELECT); + gBattleStruct->zmove.viewingZMove = TRUE; + if (zmove != MOVE_NONE) + { + // clear move slots + for (i = 0; i < MAX_MON_MOVES; ++i) + { + MoveSelectionDestroyCursorAt(i); + StringCopy(gDisplayedStringBattle, gText_EmptyString2); + BattlePutTextOnWindow(gDisplayedStringBattle, i + 3); + } + + if (zmove == MOVE_Z_SIGNATURE) + { + u8 zEffect = gBattleMoves[move].zMoveEffect; + + if (zEffect == Z_EFFECT_CURSE) + { + if (moveInfo->monType1 == TYPE_GHOST || moveInfo->monType2 == TYPE_GHOST || moveInfo->monType3 == TYPE_GHOST) + zEffect = Z_EFFECT_RECOVER_HP; + else + zEffect = Z_EFFECT_ATK_UP_1; + } + + gDisplayedStringBattle[0] = EOS; + switch (zEffect) + { + case Z_EFFECT_RESET_STATS: + StringCopy(gDisplayedStringBattle, sText_ResetStats); + break; + case Z_EFFECT_ALL_STATS_UP_1: + StringCopy(gDisplayedStringBattle, sText_StatsPlus); + break; + case Z_EFFECT_BOOST_CRITS: + StringCopy(gDisplayedStringBattle, sText_CritHitsPlus); + break; + case Z_EFFECT_FOLLOW_ME: + StringCopy(gDisplayedStringBattle, sText_FollowMe); + break; + case Z_EFFECT_RECOVER_HP: + StringCopy(gDisplayedStringBattle, sText_RecoverHP); + break; + case Z_EFFECT_RESTORE_REPLACEMENT_HP: + StringCopy(gDisplayedStringBattle, sText_HealAllyHP); + break; + case Z_EFFECT_ATK_UP_1: + case Z_EFFECT_DEF_UP_1: + case Z_EFFECT_SPD_UP_1: + case Z_EFFECT_SPATK_UP_1: + case Z_EFFECT_SPDEF_UP_1: + case Z_EFFECT_ACC_UP_1: + case Z_EFFECT_EVSN_UP_1: + gDisplayedStringBattle[0] = CHAR_PLUS; + gDisplayedStringBattle[1] = 0; + gDisplayedStringBattle[2] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, zEffect - Z_EFFECT_ATK_UP_1 + 1); + ExpandBattleTextBuffPlaceholders(gBattleTextBuff1, gDisplayedStringBattle + 2); + break; + case Z_EFFECT_ATK_UP_2: + case Z_EFFECT_DEF_UP_2: + case Z_EFFECT_SPD_UP_2: + case Z_EFFECT_SPATK_UP_2: + case Z_EFFECT_SPDEF_UP_2: + case Z_EFFECT_ACC_UP_2: + case Z_EFFECT_EVSN_UP_2: + gDisplayedStringBattle[0] = CHAR_PLUS; + gDisplayedStringBattle[1] = CHAR_PLUS; + gDisplayedStringBattle[2] = 0; + gDisplayedStringBattle[3] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, zEffect - Z_EFFECT_ATK_UP_2 + 1); + ExpandBattleTextBuffPlaceholders(gBattleTextBuff1, gDisplayedStringBattle + 3); + break; + case Z_EFFECT_ATK_UP_3: + case Z_EFFECT_DEF_UP_3: + case Z_EFFECT_SPD_UP_3: + case Z_EFFECT_SPATK_UP_3: + case Z_EFFECT_SPDEF_UP_3: + case Z_EFFECT_ACC_UP_3: + case Z_EFFECT_EVSN_UP_3: + gDisplayedStringBattle[0] = CHAR_PLUS; + gDisplayedStringBattle[1] = CHAR_PLUS; + gDisplayedStringBattle[2] = CHAR_PLUS; + gDisplayedStringBattle[3] = 0; + gDisplayedStringBattle[4] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, zEffect - Z_EFFECT_ATK_UP_3 + 1); + ExpandBattleTextBuffPlaceholders(gBattleTextBuff1, gDisplayedStringBattle + 4); + break; + } + + BattlePutTextOnWindow(gDisplayedStringBattle, 5); //Slot of Move 3 + gDisplayedStringBattle[0] = CHAR_Z; + gDisplayedStringBattle[1] = CHAR_HYPHEN; + StringCopy(gDisplayedStringBattle + 2, gMoveNames[move]); + } + else + { + ZMoveSelectionDisplayPower(move, zmove); + StringCopy(gDisplayedStringBattle, GetZMoveName(zmove)); + } + BattlePutTextOnWindow(gDisplayedStringBattle, 3); //first move slot + + ZMoveSelectionDisplayPpNumber(); + MoveSelectionCreateCursorAt(0, 0); + return TRUE; + } + + return FALSE; +} + +static void ZMoveSelectionDisplayPower(u16 move, u16 zMove) +{ + u8 *txtPtr; + u16 power = gBattleMoves[move].zMovePower; + + if (zMove >= MOVE_CATASTROPIKA) + power = gBattleMoves[zMove].power; + + if (gBattleMoves[move].split != SPLIT_STATUS) + { + txtPtr = StringCopy(gDisplayedStringBattle, sText_PowerColon); + ConvertIntToDecimalStringN(txtPtr, power, STR_CONV_MODE_LEFT_ALIGN, 3); + BattlePutTextOnWindow(gDisplayedStringBattle, 5); //bottom left + } +} + +static void ZMoveSelectionDisplayPpNumber(void) +{ + u8 *txtPtr; + struct ChooseMoveStruct *moveInfo; + + if (gBattleResources->bufferA[gActiveBattler][2] == TRUE) // check if we didn't want to display pp number + return; + + SetPpNumbersPaletteInMoveSelection(); + moveInfo = (struct ChooseMoveStruct*)(&gBattleResources->bufferA[gActiveBattler][4]); + txtPtr = ConvertIntToDecimalStringN(gDisplayedStringBattle, 1, STR_CONV_MODE_RIGHT_ALIGN, 2); + *(txtPtr)++ = CHAR_SLASH; + ConvertIntToDecimalStringN(txtPtr, 1, STR_CONV_MODE_RIGHT_ALIGN, 2); + BattlePutTextOnWindow(gDisplayedStringBattle, 9); +} + +static const u8* GetZMoveName(u16 move) +{ + if (IsZMove(move)) + return gZMoveNames[move - MOVE_BREAKNECK_BLITZ]; + else + return gZMoveNames[0]; //failsafe +} + diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 0b0c0b553..279e7b328 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -26,6 +26,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_KARATE_CHOP] = @@ -40,6 +42,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DOUBLE_SLAP] = @@ -54,6 +58,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_COMET_PUNCH] = @@ -68,6 +74,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MEGA_PUNCH] = @@ -82,6 +90,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PAY_DAY] = @@ -96,6 +106,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FIRE_PUNCH] = @@ -110,6 +122,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ICE_PUNCH] = @@ -124,6 +138,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_THUNDER_PUNCH] = @@ -138,6 +154,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SCRATCH] = @@ -152,6 +170,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_VICE_GRIP] = @@ -166,6 +186,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_GUILLOTINE] = @@ -180,15 +202,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_RAZOR_WIND] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif .effect = EFFECT_TWO_TURNS_ATTACK, .power = 80, .type = TYPE_NORMAL, @@ -197,25 +216,26 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SWORDS_DANCE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .pp = 20, - #else - .pp = 30, - #endif .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 | FLAG_DANCE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_CUT] = @@ -230,6 +250,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_GUST] = @@ -244,6 +266,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DMG_IN_AIR, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WING_ATTACK] = @@ -258,38 +282,30 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WHIRLWIND] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .accuracy = 0, - .flags = FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #elif B_UPDATED_MOVE_DATA >= GEN_5 - .accuracy = 100, - .flags = FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .accuracy = 100, - .flags = FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_ROAR, .power = 0, .type = TYPE_NORMAL, + .accuracy = 100, .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = -6, + .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_FLY] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .power = 90, - #else - .power = 70, - #endif .effect = EFFECT_SEMI_INVULNERABLE, + .power = 90, .type = TYPE_FLYING, .accuracy = 95, .pp = 15, @@ -298,24 +314,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BIND] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .accuracy = 85, - #else - .accuracy = 75, - #endif .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_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SLAM] = @@ -330,28 +346,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_VINE_WHIP] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 45, - .pp = 25, - #elif B_UPDATED_MOVE_DATA >= GEN_4 - .power = 35, - .pp = 15, - #else - .power = 35, - .pp = 10, - #endif .effect = EFFECT_HIT, + .power = 45, .type = TYPE_GRASS, .accuracy = 100, + .pp = 25, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STOMP] = @@ -366,6 +378,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_MINIMIZE, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DOUBLE_KICK] = @@ -380,6 +394,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MEGA_KICK] = @@ -394,28 +410,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_JUMP_KICK] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 100, - .pp = 10, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .power = 85, - .pp = 25, - #else - .power = 70, - .pp = 25, - #endif .effect = EFFECT_RECOIL_IF_MISS, + .power = 100, .type = TYPE_FIGHTING, .accuracy = 95, + .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ROLLING_KICK] = @@ -430,6 +442,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SAND_ATTACK] = @@ -444,6 +458,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_EVSN_UP_1, }, [MOVE_HEADBUTT] = @@ -458,6 +474,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HORN_ATTACK] = @@ -472,6 +490,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FURY_ATTACK] = @@ -486,6 +506,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HORN_DRILL] = @@ -500,28 +522,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TACKLE] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .power = 40, - .accuracy = 100, - #elif B_UPDATED_MOVE_DATA >= GEN_5 - .power = 50, - .accuracy = 100, - #else - .power = 35, - .accuracy = 95, - #endif .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_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BODY_SLAM] = @@ -536,24 +554,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_MINIMIZE, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WRAP] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .accuracy = 90, - #else - .accuracy = 85, - #endif .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_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TAKE_DOWN] = @@ -568,25 +586,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_THRASH] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 120, - .pp = 10, - #else - .power = 90, - .pp = 20, - #endif .effect = EFFECT_RAMPAGE, + .power = 120, .type = TYPE_NORMAL, .accuracy = 100, + .pp = 10, .secondaryEffectChance = 100, .target = MOVE_TARGET_RANDOM, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DOUBLE_EDGE] = @@ -601,6 +618,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TAIL_WHIP] = @@ -615,6 +634,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_POISON_STING] = @@ -629,6 +650,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TWINEEDLE] = @@ -643,25 +666,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PIN_MISSILE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 25, - .accuracy = 95, - #else - .power = 14, - .accuracy = 85, - #endif .effect = EFFECT_MULTI_HIT, + .power = 25, .type = TYPE_BUG, + .accuracy = 95, .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LEER] = @@ -676,6 +698,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_BITE] = @@ -690,6 +714,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_GROWL] = @@ -704,28 +730,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_ROAR] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .accuracy = 0, - .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND | FLAG_MAGICCOAT_AFFECTED, - #elif B_UPDATED_MOVE_DATA >= GEN_5 - .accuracy = 100, - .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND | FLAG_MAGICCOAT_AFFECTED, - #else - .accuracy = 100, - .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, - #endif .effect = EFFECT_ROAR, .power = 0, .type = TYPE_NORMAL, + .accuracy = 100, .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = -6, + .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_SING] = @@ -740,6 +762,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_SUPERSONIC] = @@ -754,6 +778,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_SONIC_BOOM] = @@ -768,37 +794,29 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DISABLE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .accuracy = 80, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .accuracy = 55, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_DISABLE, .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 | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_ACID] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, - #else - .effect = EFFECT_DEFENSE_DOWN_HIT, - #endif + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, .power = 40, .type = TYPE_POISON, .accuracy = 100, @@ -808,6 +826,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_EMBER] = @@ -822,16 +842,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FLAMETHROWER] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 90, - #else - .power = 95, - #endif .effect = EFFECT_BURN_HIT, + .power = 90, .type = TYPE_FIRE, .accuracy = 100, .pp = 15, @@ -840,6 +858,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MIST] = @@ -854,6 +874,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_WATER_GUN] = @@ -868,16 +890,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HYDRO_PUMP] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 110, - #else - .power = 120, - #endif .effect = EFFECT_HIT, + .power = 110, .type = TYPE_WATER, .accuracy = 80, .pp = 5, @@ -886,38 +906,30 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 185, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SURF] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 90, - .target = MOVE_TARGET_FOES_AND_ALLY, - #elif B_UPDATED_MOVE_DATA >= GEN_4 - .power = 95, - .target = MOVE_TARGET_FOES_AND_ALLY, - #else - .power = 95, - .target = MOVE_TARGET_BOTH, - #endif .effect = EFFECT_HIT, + .power = 90, .type = TYPE_WATER, .accuracy = 100, .pp = 15, .secondaryEffectChance = 0, + .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DMG_UNDERWATER, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ICE_BEAM] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 90, - #else - .power = 95, - #endif .effect = EFFECT_FREEZE_HIT, + .power = 90, .type = TYPE_ICE, .accuracy = 100, .pp = 10, @@ -926,16 +938,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BLIZZARD] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 110, - #else - .power = 120, - #endif .effect = EFFECT_FREEZE_HIT, + .power = 110, .type = TYPE_ICE, .accuracy = 70, .pp = 5, @@ -944,6 +954,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 185, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PSYBEAM] = @@ -958,6 +970,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BUBBLE_BEAM] = @@ -972,6 +986,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_AURORA_BEAM] = @@ -986,6 +1002,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HYPER_BEAM] = @@ -1000,6 +1018,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PECK] = @@ -1014,6 +1034,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DRILL_PECK] = @@ -1028,24 +1050,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SUBMISSION] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .pp = 20, - #else - .pp = 25, - #endif .effect = EFFECT_RECOIL_25, .power = 80, .type = TYPE_FIGHTING, .accuracy = 80, + .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LOW_KICK] = @@ -1060,15 +1082,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_COUNTER] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_COUNTER, .power = 1, .type = TYPE_FIGHTING, @@ -1077,7 +1096,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = -5, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SEISMIC_TOSS] = @@ -1092,6 +1114,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STRENGTH] = @@ -1106,42 +1130,40 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ABSORB] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .pp = 25, - #else - .pp = 20, - #endif .effect = EFFECT_ABSORB, .power = 20, .type = TYPE_GRASS, .accuracy = 100, + .pp = 25, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MEGA_DRAIN] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .pp = 15, - #else - .pp = 10, - #endif .effect = EFFECT_ABSORB, .power = 40, .type = TYPE_GRASS, .accuracy = 100, + .pp = 15, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LEECH_SEED] = @@ -1156,24 +1178,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_GROWTH] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .pp = 20, - #else - .pp = 40, - #endif .effect = EFFECT_GROWTH, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, + .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_RAZOR_LEAF] = @@ -1188,6 +1210,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SOLAR_BEAM] = @@ -1202,6 +1226,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_POISON_POWDER] = @@ -1216,6 +1242,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_STUN_SPORE] = @@ -1230,6 +1258,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_SLEEP_POWDER] = @@ -1244,28 +1274,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_PETAL_DANCE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 120, - .pp = 10, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .power = 90, - .pp = 20, - #else - .power = 70, - .pp = 20, - #endif .effect = EFFECT_RAMPAGE, + .power = 120, .type = TYPE_GRASS, .accuracy = 100, + .pp = 10, .secondaryEffectChance = 100, .target = MOVE_TARGET_RANDOM, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DANCE, .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STRING_SHOT] = @@ -1280,6 +1306,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_DRAGON_RAGE] = @@ -1294,25 +1322,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FIRE_SPIN] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 35, - .accuracy = 85, - #else - .power = 15, - .accuracy = 70, - #endif .effect = EFFECT_TRAP, + .power = 35, .type = TYPE_FIRE, + .accuracy = 85, .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_THUNDER_SHOCK] = @@ -1327,16 +1354,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_THUNDERBOLT] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 90, - #else - .power = 95, - #endif .effect = EFFECT_PARALYZE_HIT, + .power = 90, .type = TYPE_ELECTRIC, .accuracy = 100, .pp = 15, @@ -1345,34 +1370,30 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_THUNDER_WAVE] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .accuracy = 90, - #else - .accuracy = 100, - #endif .effect = EFFECT_PARALYZE, .power = 0, .type = TYPE_ELECTRIC, + .accuracy = 90, .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_THUNDER] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 110, - #else - .power = 120, - #endif .effect = EFFECT_THUNDER, + .power = 110, .type = TYPE_ELECTRIC, .accuracy = 70, .pp = 10, @@ -1381,6 +1402,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_HIT_IN_AIR, .split = SPLIT_SPECIAL, + .zMovePower = 185, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ROCK_THROW] = @@ -1395,6 +1418,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_EARTHQUAKE] = @@ -1409,6 +1434,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DMG_UNDERGROUND, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FISSURE] = @@ -1423,16 +1450,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_DMG_UNDERGROUND, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DIG] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .power = 80, - #else - .power = 60, - #endif .effect = EFFECT_SEMI_INVULNERABLE, + .power = 80, .type = TYPE_GROUND, .accuracy = 100, .pp = 10, @@ -1441,24 +1466,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TOXIC] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .accuracy = 90, - #else - .accuracy = 85, - #endif .effect = EFFECT_TOXIC, .power = 0, .type = TYPE_POISON, + .accuracy = 90, .pp = 10, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_CONFUSION] = @@ -1473,6 +1498,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PSYCHIC] = @@ -1487,6 +1514,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HYPNOSIS] = @@ -1501,6 +1530,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_MEDITATE] = @@ -1515,6 +1546,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_AGILITY] = @@ -1529,6 +1562,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_QUICK_ATTACK] = @@ -1543,6 +1578,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_RAGE] = @@ -1557,6 +1594,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TELEPORT] = @@ -1568,9 +1607,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .priority = -6, + .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_NIGHT_SHADE] = @@ -1585,6 +1626,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MIMIC] = @@ -1592,13 +1635,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .effect = EFFECT_MIMIC, .power = 0, .type = TYPE_NORMAL, - .accuracy = 0, + .accuracy = 100, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ACC_UP_1, }, [MOVE_SCREECH] = @@ -1613,6 +1658,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_DOUBLE_TEAM] = @@ -1627,24 +1674,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_RECOVER] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .pp = 10, - #else - .pp = 20, - #endif .effect = EFFECT_RESTORE_HP, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, + .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_HARDEN] = @@ -1659,24 +1706,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_MINIMIZE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .pp = 10, - #else - .pp = 20, - #endif .effect = EFFECT_MINIMIZE, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, + .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_SMOKESCREEN] = @@ -1691,6 +1738,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_EVSN_UP_1, }, [MOVE_CONFUSE_RAY] = @@ -1705,6 +1754,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_WITHDRAW] = @@ -1719,6 +1770,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_DEFENSE_CURL] = @@ -1733,24 +1786,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ACC_UP_1, }, [MOVE_BARRIER] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .pp = 20, - #else - .pp = 30, - #endif .effect = EFFECT_DEFENSE_UP_2, .power = 0, .type = TYPE_PSYCHIC, .accuracy = 0, + .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_LIGHT_SCREEN] = @@ -1765,6 +1818,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_HAZE] = @@ -1779,6 +1834,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_REFLECT] = @@ -1793,6 +1850,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_FOCUS_ENERGY] = @@ -1807,25 +1866,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ACC_UP_1, }, [MOVE_BIDE] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .accuracy = 0, - .priority = 1, - #else - .accuracy = 100, - .priority = 0, - #endif .effect = EFFECT_BIDE, .power = 1, .type = TYPE_NORMAL, + .accuracy = 0, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, + .priority = 1, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_METRONOME] = @@ -1840,6 +1898,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MIRROR_MOVE] = @@ -1854,6 +1914,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_2, }, [MOVE_SELF_DESTRUCT] = @@ -1868,6 +1930,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_EGG_BOMB] = @@ -1882,16 +1946,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LICK] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 30, - #else - .power = 20, - #endif .effect = EFFECT_PARALYZE_HIT, + .power = 30, .type = TYPE_GHOST, .accuracy = 100, .pp = 30, @@ -1900,24 +1962,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SMOG] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 30, - #else - .power = 20, - #endif .effect = EFFECT_POISON_HIT, + .power = 20, .type = TYPE_POISON, .accuracy = 70, - .pp = 20, + .pp = 30, .secondaryEffectChance = 40, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SLUDGE] = @@ -1932,6 +1994,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BONE_CLUB] = @@ -1946,16 +2010,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FIRE_BLAST] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 120, - #else - .power = 110, - #endif .effect = EFFECT_BURN_HIT, + .power = 110, .type = TYPE_FIRE, .accuracy = 85, .pp = 5, @@ -1964,15 +2026,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 185, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WATERFALL] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .effect = EFFECT_FLINCH_HIT, - #else - .effect = EFFECT_HIT, - #endif + .effect = EFFECT_FLINCH_HIT, .power = 80, .type = TYPE_WATER, .accuracy = 100, @@ -1982,25 +2042,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CLAMP] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .accuracy = 85, - .pp = 15, - #else - .accuracy = 75, - .pp = 10, - #endif .effect = EFFECT_TRAP, .power = 35, .type = TYPE_WATER, + .accuracy = 85, + .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SWIFT] = @@ -2015,25 +2074,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SKULL_BASH] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 130, - .pp = 10, - #else - .power = 100, - .pp = 15, - #endif .effect = EFFECT_SKULL_BASH, + .power = 130, .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 | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 195, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPIKE_CANNON] = @@ -2048,6 +2106,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CONSTRICT] = @@ -2062,6 +2122,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_AMNESIA] = @@ -2076,15 +2138,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_KINESIS] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_ACCURACY_DOWN, .power = 0, .type = TYPE_PSYCHIC, @@ -2093,7 +2152,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_EVSN_UP_1, }, [MOVE_SOFT_BOILED] = @@ -2108,48 +2170,40 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_HI_JUMP_KICK] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 130, - .pp = 10, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .power = 100, - .pp = 20, - #else - .power = 85, - .pp = 20, - #endif .effect = EFFECT_RECOIL_IF_MISS, + .power = 130, .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_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 195, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_GLARE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .accuracy = 100, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .accuracy = 90, - #else - .accuracy = 75, - #endif .effect = EFFECT_PARALYZE, .power = 0, .type = TYPE_NORMAL, + .accuracy = 100, .pp = 30, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_DREAM_EATER] = @@ -2164,28 +2218,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_POISON_GAS] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .accuracy = 90, - .target = MOVE_TARGET_FOES_AND_ALLY, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .accuracy = 80, - .target = MOVE_TARGET_FOES_AND_ALLY, - #else - .accuracy = 55, - .target = MOVE_TARGET_BOTH, - #endif .effect = EFFECT_POISON, .power = 0, .type = TYPE_POISON, + .accuracy = 90, .pp = 40, .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_BARRAGE] = @@ -2200,25 +2250,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LEECH_LIFE] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .power = 80, - .pp = 10, - #else - .power = 20, - .pp = 15, - #endif .effect = EFFECT_ABSORB, + .power = 80, .type = TYPE_BUG, .accuracy = 100, + .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LOVELY_KISS] = @@ -2233,6 +2282,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_SKY_ATTACK] = @@ -2248,6 +2299,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .argument = MOVE_EFFECT_FLINCH, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TRANSFORM] = @@ -2262,16 +2315,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_BUBBLE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 40, - #else - .power = 20, - #endif .effect = EFFECT_SPEED_DOWN_HIT, + .power = 40, .type = TYPE_WATER, .accuracy = 100, .pp = 30, @@ -2280,6 +2331,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DIZZY_PUNCH] = @@ -2294,6 +2347,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPORE] = @@ -2308,42 +2363,40 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_FLASH] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .accuracy = 100, - #else - .accuracy = 70, - #endif .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_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_EVSN_UP_1, }, [MOVE_PSYWAVE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .accuracy = 100, - #else - .accuracy = 80, - #endif .effect = EFFECT_PSYWAVE, .power = 1, .type = TYPE_PSYCHIC, + .accuracy = 100, .pp = 15, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPLASH] = @@ -2358,46 +2411,40 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_3, }, [MOVE_ACID_ARMOR] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .pp = 20, - #else - .pp = 40, - #endif .effect = EFFECT_DEFENSE_UP_2, .power = 0, .type = TYPE_POISON, .accuracy = 0, + .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_CRABHAMMER] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 100, - .accuracy = 90, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .power = 90, - .accuracy = 90, - #else - .power = 90, - .accuracy = 85, - #endif .effect = EFFECT_HIT, + .power = 100, .type = TYPE_WATER, + .accuracy = 90, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_EXPLOSION] = @@ -2412,6 +2459,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FURY_SWIPES] = @@ -2426,6 +2475,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BONEMERANG] = @@ -2440,6 +2491,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_REST] = @@ -2454,6 +2507,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_ROCK_SLIDE] = @@ -2468,6 +2523,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HYPER_FANG] = @@ -2482,6 +2539,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_STRONG_JAW_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SHARPEN] = @@ -2496,15 +2555,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_CONVERSION] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_CONVERSION, .power = 0, .type = TYPE_NORMAL, @@ -2513,7 +2569,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, }, [MOVE_TRI_ATTACK] = @@ -2528,6 +2587,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SUPER_FANG] = @@ -2542,6 +2603,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SLASH] = @@ -2556,6 +2619,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SUBSTITUTE] = @@ -2570,25 +2635,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_STRUGGLE] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .accuracy = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .accuracy = 100, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif .effect = EFFECT_RECOIL_25, .power = 50, .type = TYPE_NORMAL, + .accuracy = 0, .pp = 1, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SKETCH] = @@ -2603,6 +2667,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, }, [MOVE_TRIPLE_KICK] = @@ -2617,79 +2683,72 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_THIEF] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 60, - .pp = 25, - #else - .power = 40, - .pp = 10, - #endif .effect = EFFECT_THIEF, + .power = 60, .type = TYPE_DARK, .accuracy = 100, + .pp = 25, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPIDER_WEB] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .flags = FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_MEAN_LOOK, .power = 0, .type = TYPE_BUG, - .accuracy = 0, + .accuracy = 100, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_MIND_READER] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .accuracy = 0, - #else - .accuracy = 100, - #endif .effect = EFFECT_LOCK_ON, .power = 0, .type = TYPE_NORMAL, + .accuracy = 0, .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_NIGHTMARE] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .accuracy = 100, - #else - .accuracy = 0, - #endif .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, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_FLAME_WHEEL] = @@ -2704,16 +2763,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SNORE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 50, - #else - .power = 40, - #endif .effect = EFFECT_SNORE, + .power = 50, .type = TYPE_NORMAL, .accuracy = 100, .pp = 15, @@ -2722,17 +2779,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SOUND, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CURSE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .type = TYPE_GHOST, - #else - .type = TYPE_MYSTERY, - #endif .effect = EFFECT_CURSE, .power = 0, + .type = TYPE_GHOST, .accuracy = 0, .pp = 10, .secondaryEffectChance = 0, @@ -2740,6 +2795,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_CURSE, }, [MOVE_FLAIL] = @@ -2754,24 +2811,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CONVERSION_2] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .target = MOVE_TARGET_USER, - #else - .target = MOVE_TARGET_FOES_AND_ALLY, - #endif .effect = EFFECT_CONVERSION_2, .power = 0, .type = TYPE_NORMAL, .accuracy = 100, .pp = 30, .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_AEROBLAST] = @@ -2786,28 +2843,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_COTTON_SPORE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .accuracy = 100, - .target = MOVE_TARGET_BOTH, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .accuracy = 100, - .target = MOVE_TARGET_FOES_AND_ALLY, - #else - .accuracy = 85, - .target = MOVE_TARGET_FOES_AND_ALLY, - #endif .effect = EFFECT_SPEED_DOWN_2, .power = 0, .type = TYPE_GRASS, + .accuracy = 100, .pp = 40, .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_REVERSAL] = @@ -2822,15 +2875,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPITE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_SPITE, .power = 0, .type = TYPE_GHOST, @@ -2839,7 +2889,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_POWDER_SNOW] = @@ -2854,6 +2907,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PROTECT] = @@ -2865,9 +2920,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .priority = 4, + .priority = 3, .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_MACH_PUNCH] = @@ -2882,33 +2939,28 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SCARY_FACE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .accuracy = 100, - #else - .accuracy = 90, - #endif .effect = EFFECT_SPEED_DOWN_2, .power = 0, .type = TYPE_NORMAL, + .accuracy = 100, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_FAINT_ATTACK] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif .effect = EFFECT_HIT, .power = 60, .type = TYPE_DARK, @@ -2917,18 +2969,17 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SWEET_KISS] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .type = TYPE_FAIRY, - #else - .type = TYPE_NORMAL, - #endif .effect = EFFECT_CONFUSE, .power = 0, + .type = TYPE_FAIRY, .accuracy = 75, .pp = 10, .secondaryEffectChance = 0, @@ -2936,6 +2987,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_BELLY_DRUM] = @@ -2950,6 +3003,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_SLUDGE_BOMB] = @@ -2964,6 +3019,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MUD_SLAP] = @@ -2978,6 +3035,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_OCTAZOOKA] = @@ -2992,15 +3051,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPIKES] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAGICCOAT_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_SPIKES, .power = 0, .type = TYPE_GROUND, @@ -3009,17 +3065,16 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_OPPONENTS_FIELD, .priority = 0, + .flags = FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_ZAP_CANNON] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .power = 120, - #else - .power = 100, - #endif .effect = EFFECT_PARALYZE_HIT, + .power = 120, .type = TYPE_ELECTRIC, .accuracy = 50, .pp = 5, @@ -3028,28 +3083,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FORESIGHT] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .accuracy = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, - #elif B_UPDATED_MOVE_DATA >= GEN_4 - .accuracy = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_FORESIGHT, .power = 0, .type = TYPE_NORMAL, + .accuracy = 0, .pp = 40, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_BOOST_CRITS, }, [MOVE_DESTINY_BOND] = @@ -3064,6 +3115,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_FOLLOW_ME, }, [MOVE_PERISH_SONG] = @@ -3078,6 +3131,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SOUND, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_ICY_WIND] = @@ -3092,6 +3147,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DETECT] = @@ -3103,67 +3160,59 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .priority = 4, + .priority = 3, .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_EVSN_UP_1, }, [MOVE_BONE_RUSH] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .accuracy = 90, - #else - .accuracy = 80, - #endif .effect = EFFECT_MULTI_HIT, .power = 25, .type = TYPE_GROUND, + .accuracy = 90, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LOCK_ON] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .accuracy = 100, - #else - .accuracy = 0, - #endif .effect = EFFECT_LOCK_ON, .power = 0, .type = TYPE_NORMAL, + .accuracy = 0, .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_OUTRAGE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 120, - .pp = 10, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .power = 120, - .pp = 15, - #else - .power = 90, - .pp = 15, - #endif .effect = EFFECT_RAMPAGE, + .power = 120, .type = TYPE_DRAGON, .accuracy = 100, + .pp = 10, .secondaryEffectChance = 100, .target = MOVE_TARGET_RANDOM, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SANDSTORM] = @@ -3178,28 +3227,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_GIGA_DRAIN] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 75, - .pp = 10, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .power = 60, - .pp = 10, - #else - .power = 60, - .pp = 5, - #endif .effect = EFFECT_ABSORB, + .power = 75, .type = TYPE_GRASS, .accuracy = 100, + .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ENDURE] = @@ -3211,20 +3256,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .priority = 4, + .priority = 3, .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_CHARM] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .type = TYPE_FAIRY, - #else - .type = TYPE_NORMAL, - #endif .effect = EFFECT_ATTACK_DOWN_2, .power = 0, + .type = TYPE_FAIRY, .accuracy = 100, .pp = 20, .secondaryEffectChance = 0, @@ -3232,6 +3275,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_ROLLOUT] = @@ -3246,6 +3291,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FALSE_SWIPE] = @@ -3260,24 +3307,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SWAGGER] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .accuracy = 85, - #else - .accuracy = 90, - #endif .effect = EFFECT_SWAGGER, .power = 0, .type = TYPE_NORMAL, + .accuracy = 85, .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_MILK_DRINK] = @@ -3292,6 +3339,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_SPARK] = @@ -3306,18 +3355,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FURY_CUTTER] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 40, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .power = 20, - #else - .power = 10, - #endif .effect = EFFECT_FURY_CUTTER, + .power = 40, .type = TYPE_BUG, .accuracy = 95, .pp = 20, @@ -3326,6 +3371,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STEEL_WING] = @@ -3340,24 +3387,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MEAN_LOOK] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .flags = FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_MEAN_LOOK, .power = 0, .type = TYPE_NORMAL, - .accuracy = 0, + .accuracy = 100, .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_ATTRACT] = @@ -3372,6 +3419,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_SLEEP_TALK] = @@ -3386,6 +3435,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_BOOST_CRITS, }, [MOVE_HEAL_BELL] = @@ -3400,6 +3451,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_RETURN] = @@ -3414,6 +3467,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PRESENT] = @@ -3428,6 +3483,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FRUSTRATION] = @@ -3442,6 +3499,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SAFEGUARD] = @@ -3456,6 +3515,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_PAIN_SPLIT] = @@ -3470,6 +3531,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_SACRED_FIRE] = @@ -3483,7 +3546,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - .split = SPLIT_PHYSICAL, + .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MAGNITUDE] = @@ -3498,6 +3563,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DMG_UNDERGROUND, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DYNAMIC_PUNCH] = @@ -3512,6 +3579,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MEGAHORN] = @@ -3526,6 +3595,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DRAGON_BREATH] = @@ -3540,6 +3611,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BATON_PASS] = @@ -3554,15 +3627,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_ENCORE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_ENCORE, .power = 0, .type = TYPE_NORMAL, @@ -3571,7 +3641,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_PURSUIT] = @@ -3586,16 +3659,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_RAPID_SPIN] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .power = 50, - #else - .power = 20, - #endif .effect = EFFECT_RAPID_SPIN, + .power = 20, .type = TYPE_NORMAL, .accuracy = 100, .pp = 40, @@ -3604,6 +3675,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SWEET_SCENT] = @@ -3618,6 +3691,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ACC_UP_1, }, [MOVE_IRON_TAIL] = @@ -3632,6 +3707,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_METAL_CLAW] = @@ -3646,6 +3723,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_VITAL_THROW] = @@ -3653,13 +3732,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .effect = EFFECT_VITAL_THROW, .power = 70, .type = TYPE_FIGHTING, - .accuracy = 0, + .accuracy = 100, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = -1, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MORNING_SUN] = @@ -3674,6 +3755,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_SYNTHESIS] = @@ -3688,17 +3771,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_MOONLIGHT] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .type = TYPE_FAIRY, - #else - .type = TYPE_NORMAL, - #endif .effect = EFFECT_MOONLIGHT, .power = 0, + .type = TYPE_FAIRY, .accuracy = 0, .pp = 5, .secondaryEffectChance = 0, @@ -3706,6 +3787,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_HIDDEN_POWER] = @@ -3720,6 +3803,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CROSS_CHOP] = @@ -3734,6 +3819,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TWISTER] = @@ -3748,6 +3835,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_IN_AIR, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_RAIN_DANCE] = @@ -3760,8 +3849,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, + .flags = FLAG_DANCE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_SUNNY_DAY] = @@ -3776,15 +3867,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_CRUNCH] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .effect = EFFECT_DEFENSE_DOWN_HIT, - #else - .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, - #endif + .effect = EFFECT_DEFENSE_DOWN_HIT, .power = 80, .type = TYPE_DARK, .accuracy = 100, @@ -3794,15 +3883,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MIRROR_COAT] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_PROTECT_AFFECTED, - #else - .flags = FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_MIRROR_COAT, .power = 1, .type = TYPE_PSYCHIC, @@ -3811,16 +3897,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = -5, + .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PSYCH_UP] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_PSYCH_UP, .power = 0, .type = TYPE_NORMAL, @@ -3829,16 +3913,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_EXTREME_SPEED] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .priority = 2, - #else - .priority = 1, - #endif .effect = EFFECT_HIT, .power = 80, .type = TYPE_NORMAL, @@ -3846,17 +3928,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, + .priority = 2, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ANCIENT_POWER] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #endif .effect = EFFECT_ALL_STATS_UP_HIT, .power = 60, .type = TYPE_ROCK, @@ -3865,7 +3945,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SHADOW_BALL] = @@ -3880,40 +3963,30 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FUTURE_SIGHT] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 120, - .accuracy = 100, - .pp = 10, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .power = 100, - .accuracy = 100, - .pp = 10, - #else - .power = 80, - .accuracy = 90, - .pp = 15, - #endif .effect = EFFECT_FUTURE_SIGHT, + .power = 120, .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = 0, .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ROCK_SMASH] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .power = 40, - #else - .power = 20, - #endif .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 40, .type = TYPE_FIGHTING, .accuracy = 100, .pp = 15, @@ -3922,35 +3995,30 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WHIRLPOOL] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 35, - .accuracy = 85, - #else - .power = 15, - .accuracy = 70, - #endif .effect = EFFECT_TRAP, + .power = 35, .type = TYPE_WATER, + .accuracy = 85, .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DMG_UNDERWATER, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BEAT_UP] = { .effect = EFFECT_BEAT_UP, - #if B_BEAT_UP_DMG >= GEN_5 - .power = 1, - #else - .power = 10, - #endif + .power = 10, .type = TYPE_DARK, .accuracy = 100, .pp = 10, @@ -3959,15 +4027,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FAKE_OUT] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #endif .effect = EFFECT_FAKE_OUT, .power = 40, .type = TYPE_NORMAL, @@ -3975,18 +4040,17 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .pp = 10, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, - .priority = 3, + .priority = 1, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_UPROAR] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 90, - #else - .power = 50, - #endif .effect = EFFECT_UPROAR, + .power = 90, .type = TYPE_NORMAL, .accuracy = 100, .pp = 10, @@ -3995,34 +4059,30 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STOCKPILE] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .pp = 20, - #else - .pp = 10, - #endif .effect = EFFECT_STOCKPILE, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, + .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_SPIT_UP] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .power = 1, - #else - .power = 100, - #endif .effect = EFFECT_SPIT_UP, + .power = 100, .type = TYPE_NORMAL, .accuracy = 100, .pp = 10, @@ -4031,6 +4091,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SWALLOW] = @@ -4045,16 +4107,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_HEAT_WAVE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 95, - #else - .power = 100, - #endif .effect = EFFECT_BURN_HIT, + .power = 95, .type = TYPE_FIRE, .accuracy = 90, .pp = 10, @@ -4063,6 +4123,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HAIL] = @@ -4077,15 +4139,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_TORMENT] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_TORMENT, .power = 0, .type = TYPE_DARK, @@ -4094,7 +4153,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_FLATTER] = @@ -4109,24 +4171,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_WILL_O_WISP] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .accuracy = 85, - #else - .accuracy = 75, - #endif .effect = EFFECT_WILL_O_WISP, .power = 0, .type = TYPE_FIRE, + .accuracy = 85, .pp = 15, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_MEMENTO] = @@ -4141,6 +4203,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESTORE_REPLACEMENT_HP, }, [MOVE_FACADE] = @@ -4155,6 +4219,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FOCUS_PUNCH] = @@ -4169,16 +4235,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = -3, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SMELLING_SALT] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 70, - #else - .power = 60, - #endif .effect = EFFECT_SMELLINGSALT, + .power = 70, .type = TYPE_NORMAL, .accuracy = 100, .pp = 10, @@ -4188,6 +4252,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .argument = STATUS1_PARALYSIS, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FOLLOW_ME] = @@ -4199,9 +4265,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .priority = 2, + .priority = 3, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_NATURE_POWER] = @@ -4216,6 +4284,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CHARGE] = @@ -4230,15 +4300,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_TAUNT] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED, - #endif .effect = EFFECT_TAUNT, .power = 0, .type = TYPE_DARK, @@ -4247,25 +4314,26 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_HELPING_HAND] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .target = MOVE_TARGET_ALLY, - #else - .target = MOVE_TARGET_USER, - #endif .effect = EFFECT_HELPING_HAND, .power = 0, .type = TYPE_NORMAL, .accuracy = 100, .pp = 20, .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, .priority = 5, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_TRICK] = @@ -4280,6 +4348,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_2, }, [MOVE_ROLE_PLAY] = @@ -4287,22 +4357,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .effect = EFFECT_ROLE_PLAY, .power = 0, .type = TYPE_PSYCHIC, - .accuracy = 0, + .accuracy = 100, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_WISH] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_WISH, .power = 0, .type = TYPE_NORMAL, @@ -4311,7 +4378,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_ASSIST] = @@ -4326,6 +4396,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_INGRAIN] = @@ -4340,6 +4412,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_SUPERPOWER] = @@ -4354,6 +4428,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MAGIC_COAT] = @@ -4368,15 +4444,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 4, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_2, }, [MOVE_RECYCLE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_RECYCLE, .power = 0, .type = TYPE_NORMAL, @@ -4385,7 +4458,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_2, }, [MOVE_REVENGE] = @@ -4400,6 +4476,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = -4, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BRICK_BREAK] = @@ -4414,6 +4492,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_YAWN] = @@ -4421,23 +4501,21 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .effect = EFFECT_YAWN, .power = 0, .type = TYPE_NORMAL, - .accuracy = 0, + .accuracy = 100, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_KNOCK_OFF] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 65, - #else - .power = 20, - #endif .effect = EFFECT_KNOCK_OFF, + .power = 65, .type = TYPE_DARK, .accuracy = 100, .pp = 20, @@ -4446,6 +4524,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ENDEAVOR] = @@ -4460,6 +4540,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ERUPTION] = @@ -4474,6 +4556,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SKILL_SWAP] = @@ -4481,22 +4565,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .effect = EFFECT_SKILL_SWAP, .power = 0, .type = TYPE_PSYCHIC, - .accuracy = 0, + .accuracy = 100, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_IMPRISON] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED, - #endif .effect = EFFECT_IMPRISON, .power = 0, .type = TYPE_PSYCHIC, @@ -4505,7 +4586,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_2, }, [MOVE_REFRESH] = @@ -4520,6 +4604,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_GRUDGE] = @@ -4534,6 +4620,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_FOLLOW_ME, }, [MOVE_SNATCH] = @@ -4548,6 +4636,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 4, .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_2, }, [MOVE_SECRET_POWER] = @@ -4562,16 +4652,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DIVE] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .power = 80, - #else - .power = 60, - #endif .effect = EFFECT_SEMI_INVULNERABLE, + .power = 80, .type = TYPE_WATER, .accuracy = 100, .pp = 10, @@ -4580,6 +4668,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ARM_THRUST] = @@ -4594,6 +4684,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CAMOUFLAGE] = @@ -4608,6 +4700,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_EVSN_UP_1, }, [MOVE_TAIL_GLOW] = @@ -4622,6 +4716,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_LUSTER_PURGE] = @@ -4636,6 +4732,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MIST_BALL] = @@ -4650,6 +4748,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FEATHER_DANCE] = @@ -4664,15 +4764,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_DANCE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_TEETER_DANCE] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_DANCE, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_DANCE, - #endif .effect = EFFECT_TEETER_DANCE, .power = 0, .type = TYPE_NORMAL, @@ -4681,7 +4778,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_DANCE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_BLAZE_KICK] = @@ -4696,6 +4796,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_HIGH_CRIT | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MUD_SPORT] = @@ -4710,6 +4812,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_ICE_BALL] = @@ -4724,6 +4828,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_NEEDLE_ARM] = @@ -4738,6 +4844,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SLACK_OFF] = @@ -4752,6 +4860,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_HYPER_VOICE] = @@ -4766,24 +4876,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_POISON_FANG] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .secondaryEffectChance = 50, - #else - .secondaryEffectChance = 30, - #endif .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 | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CRUSH_CLAW] = @@ -4798,6 +4908,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BLAST_BURN] = @@ -4812,6 +4924,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HYDRO_CANNON] = @@ -4826,25 +4940,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_METEOR_MASH] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 90, - .accuracy = 90, - #else - .power = 100, - .accuracy = 85, - #endif .effect = EFFECT_ATTACK_UP_HIT, + .power = 90, .type = TYPE_STEEL, + .accuracy = 90, .pp = 10, .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ASTONISH] = @@ -4859,6 +4972,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WEATHER_BALL] = @@ -4873,6 +4988,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_AROMATHERAPY] = @@ -4887,6 +5004,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, }, [MOVE_FAKE_TEARS] = @@ -4901,16 +5020,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_AIR_CUTTER] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 60, - #else - .power = 55, - #endif .effect = EFFECT_HIT, + .power = 60, .type = TYPE_FLYING, .accuracy = 95, .pp = 25, @@ -4919,67 +5036,56 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_OVERHEAT] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 130, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #elif B_UPDATED_MOVE_DATA >= GEN_4 - .power = 130, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .power = 140, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif .effect = EFFECT_OVERHEAT, + .power = 130, .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_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 195, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ODOR_SLEUTH] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .accuracy = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, - #else - .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_FORESIGHT, .power = 0, .type = TYPE_NORMAL, + .accuracy = 0, .pp = 40, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_ROCK_TOMB] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 60, - .accuracy = 95, - .pp = 15, - #else - .power = 50, - .accuracy = 80, - .pp = 10, - #endif .effect = EFFECT_SPEED_DOWN_HIT, + .power = 60, .type = TYPE_ROCK, + .accuracy = 95, + .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SILVER_WIND] = @@ -4994,6 +5100,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_METAL_SOUND] = @@ -5008,6 +5116,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_GRASS_WHISTLE] = @@ -5022,6 +5132,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_TICKLE] = @@ -5036,6 +5148,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_COSMIC_POWER] = @@ -5050,6 +5164,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_WATER_SPOUT] = @@ -5064,6 +5180,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SIGNAL_BEAM] = @@ -5078,6 +5196,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SHADOW_PUNCH] = @@ -5092,24 +5212,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_EXTRASENSORY] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .pp = 20, - #else - .pp = 30, - #endif .effect = EFFECT_FLINCH_MINIMIZE_HIT, .power = 80, .type = TYPE_PSYCHIC, .accuracy = 100, + .pp = 20, .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SKY_UPPERCUT] = @@ -5124,25 +5244,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_HIT_IN_AIR, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SAND_TOMB] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 35, - .accuracy = 85, - #else - .power = 15, - .accuracy = 70, - #endif .effect = EFFECT_TRAP, + .power = 35, .type = TYPE_GROUND, + .accuracy = 85, .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SHEER_COLD] = @@ -5157,16 +5276,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MUDDY_WATER] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 90, - #else - .power = 95, - #endif .effect = EFFECT_ACCURACY_DOWN_HIT, + .power = 90, .type = TYPE_WATER, .accuracy = 85, .pp = 10, @@ -5175,16 +5292,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BULLET_SEED] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 25, - #else - .power = 10, - #endif .effect = EFFECT_MULTI_HIT, + .power = 25, .type = TYPE_GRASS, .accuracy = 100, .pp = 30, @@ -5193,6 +5308,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_AERIAL_ACE] = @@ -5207,16 +5324,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ICICLE_SPEAR] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 25, - #else - .power = 10, - #endif .effect = EFFECT_MULTI_HIT, + .power = 25, .type = TYPE_ICE, .accuracy = 100, .pp = 30, @@ -5225,6 +5340,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_IRON_DEFENSE] = @@ -5239,24 +5356,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_BLOCK] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .flags = FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_MEAN_LOOK, .power = 0, .type = TYPE_NORMAL, - .accuracy = 0, + .accuracy = 100, .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_HOWL] = @@ -5269,8 +5386,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED | FLAG_SOUND, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_DRAGON_CLAW] = @@ -5285,6 +5404,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FRENZY_PLANT] = @@ -5299,6 +5420,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BULK_UP] = @@ -5313,6 +5436,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_BOUNCE] = @@ -5328,6 +5453,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .argument = MOVE_EFFECT_PARALYSIS, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MUD_SHOT] = @@ -5342,6 +5469,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_POISON_TAIL] = @@ -5356,44 +5485,29 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_COVET] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 60, - .pp = 25, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .power = 60, - .pp = 40, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .power = 40, - .pp = 40, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .power = 40, - .pp = 40, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_THIEF, + .power = 60, .type = TYPE_NORMAL, .accuracy = 100, + .pp = 25, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_VOLT_TACKLE] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .effect = EFFECT_RECOIL_33_STATUS, - .argument = STATUS1_PARALYSIS, - #else - .effect = EFFECT_RECOIL_33, - #endif + .effect = EFFECT_RECOIL_33_STATUS, .power = 120, .type = TYPE_ELECTRIC, .accuracy = 100, @@ -5403,6 +5517,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .argument = STATUS1_PARALYSIS, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MAGICAL_LEAF] = @@ -5417,6 +5534,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WATER_SPORT] = @@ -5431,6 +5550,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_CALM_MIND] = @@ -5445,16 +5566,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_LEAF_BLADE] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .power = 90, - #else - .power = 70, - #endif .effect = EFFECT_HIT, + .power = 90, .type = TYPE_GRASS, .accuracy = 100, .pp = 15, @@ -5463,6 +5582,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DRAGON_DANCE] = @@ -5477,24 +5598,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED | FLAG_DANCE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_ROCK_BLAST] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .accuracy = 90, - #else - .accuracy = 80, - #endif .effect = EFFECT_MULTI_HIT, .power = 25, .type = TYPE_ROCK, + .accuracy = 90, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SHOCK_WAVE] = @@ -5509,6 +5630,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WATER_PULSE] = @@ -5523,25 +5646,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_MEGA_LAUNCHER_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DOOM_DESIRE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 140, - .accuracy = 100, - #else - .power = 120, - .accuracy = 85, - #endif .effect = EFFECT_FUTURE_SIGHT, + .power = 140, .type = TYPE_STEEL, + .accuracy = 100, .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = 0, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PSYCHO_BOOST] = @@ -5556,6 +5678,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ROOST] = @@ -5570,6 +5694,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_GRAVITY] = @@ -5584,15 +5710,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_MIRACLE_EYE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_MIRACLE_EYE, .power = 0, .type = TYPE_PSYCHIC, @@ -5601,17 +5724,16 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_WAKE_UP_SLAP] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 70, - #else - .power = 60, - #endif .effect = EFFECT_WAKE_UP_SLAP, + .power = 70, .type = TYPE_FIGHTING, .accuracy = 100, .pp = 10, @@ -5621,6 +5743,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, .argument = STATUS1_SLEEP, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HAMMER_ARM] = @@ -5635,6 +5759,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_GYRO_BALL] = @@ -5649,15 +5775,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HEALING_WISH] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_HEALING_WISH, .power = 0, .type = TYPE_PSYCHIC, @@ -5666,7 +5789,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BRINE] = @@ -5681,6 +5807,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_NATURAL_GIFT] = @@ -5695,28 +5823,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FEINT] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 30, - .flags = FLAG_MIRROR_MOVE_AFFECTED, - #elif B_UPDATED_MOVE_DATA >= GEN_5 - .power = 30, - .flags = 0, - #else - .power = 50, - .flags = 0, - #endif .effect = EFFECT_FEINT, + .power = 30, .type = TYPE_NORMAL, .accuracy = 100, .pp = 10, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 2, + .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PLUCK] = @@ -5731,33 +5855,28 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TAILWIND] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .pp = 15, - #else - .pp = 30, - #endif .effect = EFFECT_TAILWIND, .power = 0, .type = TYPE_FLYING, .accuracy = 0, + .pp = 15, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_BOOST_CRITS, }, [MOVE_ACUPRESSURE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = 0, - #else - .flags = FLAG_SNATCH_AFFECTED, - #endif .effect = EFFECT_ACUPRESSURE, .power = 0, .type = TYPE_NORMAL, @@ -5766,16 +5885,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER | MOVE_TARGET_ALLY, .priority = 0, + .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_BOOST_CRITS, }, [MOVE_METAL_BURST] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_METAL_BURST, .power = 0, .type = TYPE_STEEL, @@ -5784,6 +5901,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = 0, + .flags = 0, .split = SPLIT_PHYSICAL, }, @@ -5799,6 +5917,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CLOSE_COMBAT] = @@ -5813,6 +5933,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PAYBACK] = @@ -5827,16 +5949,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ASSURANCE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 60, - #else - .power = 50, - #endif .effect = EFFECT_ASSURANCE, + .power = 60, .type = TYPE_DARK, .accuracy = 100, .pp = 10, @@ -5845,15 +5965,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_EMBARGO] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_EMBARGO, .power = 0, .type = TYPE_DARK, @@ -5862,7 +5979,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_FLING] = @@ -5877,24 +5997,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PSYCHO_SHIFT] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .accuracy = 100, - #else - .accuracy = 90, - #endif .effect = EFFECT_PSYCHO_SHIFT, .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, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_2, }, [MOVE_TRUMP_CARD] = @@ -5913,11 +6033,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_HEAL_BLOCK] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_HEAL_BLOCK, .power = 0, .type = TYPE_PSYCHIC, @@ -5926,7 +6041,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_2, }, [MOVE_WRING_OUT] = @@ -5945,11 +6063,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_POWER_TRICK] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_POWER_TRICK, .power = 0, .type = TYPE_PSYCHIC, @@ -5958,7 +6071,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_GASTRO_ACID] = @@ -5973,15 +6089,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_LUCKY_CHANT] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_LUCKY_CHANT, .power = 0, .type = TYPE_NORMAL, @@ -5990,7 +6103,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_EVSN_UP_1, }, [MOVE_ME_FIRST] = @@ -6005,6 +6121,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_2, }, [MOVE_COPYCAT] = @@ -6019,6 +6137,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ACC_UP_1, }, [MOVE_POWER_SWAP] = @@ -6033,6 +6153,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_GUARD_SWAP] = @@ -6047,6 +6169,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_PUNISHMENT] = @@ -6061,16 +6185,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LAST_RESORT] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 140, - #else - .power = 130, - #endif .effect = EFFECT_LAST_RESORT, + .power = 140, .type = TYPE_NORMAL, .accuracy = 100, .pp = 5, @@ -6079,6 +6201,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WORRY_SEED] = @@ -6093,16 +6217,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_SUCKER_PUNCH] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .power = 70, - #else - .power = 80, - #endif .effect = EFFECT_SUCKER_PUNCH, + .power = 70, .type = TYPE_DARK, .accuracy = 100, .pp = 5, @@ -6111,15 +6233,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TOXIC_SPIKES] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAGICCOAT_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_TOXIC_SPIKES, .power = 0, .type = TYPE_POISON, @@ -6128,7 +6247,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_OPPONENTS_FIELD, .priority = 0, + .flags = FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_HEART_SWAP] = @@ -6143,15 +6265,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_BOOST_CRITS, }, [MOVE_AQUA_RING] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_AQUA_RING, .power = 0, .type = TYPE_WATER, @@ -6160,16 +6279,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_MAGNET_RISE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_MAGNET_RISE, .power = 0, .type = TYPE_ELECTRIC, @@ -6178,7 +6295,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_EVSN_UP_1, }, [MOVE_FLARE_BLITZ] = @@ -6194,6 +6314,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, .argument = STATUS1_BURN, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FORCE_PALM] = @@ -6208,16 +6330,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_AURA_SPHERE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 80, - #else - .power = 90, - #endif .effect = EFFECT_HIT, + .power = 80, .type = TYPE_FIGHTING, .accuracy = 0, .pp = 20, @@ -6226,6 +6346,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_MEGA_LAUNCHER_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ROCK_POLISH] = @@ -6240,6 +6362,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_POISON_JAB] = @@ -6254,6 +6378,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DARK_PULSE] = @@ -6268,6 +6394,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_MEGA_LAUNCHER_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_NIGHT_SLASH] = @@ -6282,6 +6410,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_AQUA_TAIL] = @@ -6296,6 +6426,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SEED_BOMB] = @@ -6308,26 +6440,26 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_AIR_SLASH] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .pp = 15, - #else - .pp = 20, - #endif .effect = EFFECT_FLINCH_HIT, .power = 75, .type = TYPE_FLYING, .accuracy = 95, + .pp = 15, .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_X_SCISSOR] = @@ -6342,6 +6474,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BUG_BUZZ] = @@ -6356,16 +6490,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DRAGON_PULSE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 85, - #else - .power = 90, - #endif .effect = EFFECT_HIT, + .power = 85, .type = TYPE_DRAGON, .accuracy = 100, .pp = 10, @@ -6374,6 +6506,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_MEGA_LAUNCHER_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DRAGON_RUSH] = @@ -6388,16 +6522,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_MINIMIZE, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_POWER_GEM] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 80, - #else - .power = 70, - #endif .effect = EFFECT_HIT, + .power = 80, .type = TYPE_ROCK, .accuracy = 100, .pp = 20, @@ -6406,25 +6538,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DRAIN_PUNCH] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .power = 75, - .pp = 10, - #else - .power = 60, - .pp = 5, - #endif .effect = EFFECT_ABSORB, + .power = 75, .type = TYPE_FIGHTING, .accuracy = 100, + .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_VACUUM_WAVE] = @@ -6439,6 +6570,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FOCUS_BLAST] = @@ -6453,16 +6586,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ENERGY_BALL] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 90, - #else - .power = 80, - #endif .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 90, .type = TYPE_GRASS, .accuracy = 100, .pp = 10, @@ -6471,6 +6602,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BRAVE_BIRD] = @@ -6485,6 +6618,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_EARTH_POWER] = @@ -6499,6 +6634,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SWITCHEROO] = @@ -6513,6 +6650,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_2, }, [MOVE_GIGA_IMPACT] = @@ -6527,6 +6666,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_NASTY_PLOT] = @@ -6541,6 +6682,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_BULLET_PUNCH] = @@ -6555,6 +6698,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_AVALANCHE] = @@ -6569,6 +6714,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = -4, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ICE_SHARD] = @@ -6583,6 +6730,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SHADOW_CLAW] = @@ -6597,6 +6746,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_THUNDER_FANG] = @@ -6612,6 +6763,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, .argument = STATUS1_PARALYSIS, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ICE_FANG] = @@ -6627,6 +6780,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, .argument = STATUS1_FREEZE, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FIRE_FANG] = @@ -6642,6 +6797,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, .argument = STATUS1_BURN, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SHADOW_SNEAK] = @@ -6656,6 +6813,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MUD_BOMB] = @@ -6670,6 +6829,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PSYCHO_CUT] = @@ -6684,6 +6845,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ZEN_HEADBUTT] = @@ -6698,6 +6861,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MIRROR_SHOT] = @@ -6712,6 +6877,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FLASH_CANNON] = @@ -6726,6 +6893,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ROCK_CLIMB] = @@ -6740,15 +6909,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DEFOG] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_DEFOG, .power = 0, .type = TYPE_FLYING, @@ -6757,7 +6923,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ACC_UP_1, }, [MOVE_TRICK_ROOM] = @@ -6772,16 +6941,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = -7, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ACC_UP_1, }, [MOVE_DRACO_METEOR] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 130, - #else - .power = 140, - #endif .effect = EFFECT_OVERHEAT, + .power = 130, .type = TYPE_DRAGON, .accuracy = 90, .pp = 5, @@ -6790,6 +6957,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 195, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DISCHARGE] = @@ -6804,6 +6973,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LAVA_PLUME] = @@ -6818,16 +6989,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LEAF_STORM] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 130, - #else - .power = 140, - #endif .effect = EFFECT_OVERHEAT, + .power = 130, .type = TYPE_GRASS, .accuracy = 90, .pp = 5, @@ -6836,6 +7005,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 195, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_POWER_WHIP] = @@ -6850,6 +7021,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ROCK_WRECKER] = @@ -6864,6 +7037,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CROSS_POISON] = @@ -6878,24 +7053,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_GUNK_SHOT] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .accuracy = 80, - #else - .accuracy = 70, - #endif .effect = EFFECT_POISON_HIT, .power = 120, .type = TYPE_POISON, + .accuracy = 80, .pp = 5, .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_IRON_HEAD] = @@ -6910,6 +7085,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MAGNET_BOMB] = @@ -6924,6 +7101,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STONE_EDGE] = @@ -6938,6 +7117,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CAPTIVATE] = @@ -6952,15 +7133,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_2, }, [MOVE_STEALTH_ROCK] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAGICCOAT_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_STEALTH_ROCK, .power = 0, .type = TYPE_ROCK, @@ -6969,7 +7147,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_OPPONENTS_FIELD, .priority = 0, + .flags = FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_GRASS_KNOT] = @@ -6984,16 +7165,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CHATTER] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 65, - #else - .power = 60, - #endif .effect = EFFECT_CONFUSE_HIT, + .power = 65, .type = TYPE_FLYING, .accuracy = 100, .pp = 20, @@ -7002,11 +7181,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_JUDGMENT] = { - .effect = EFFECT_CHANGE_TYPE_ON_ITEM, + .effect = EFFECT_HIT, .power = 100, .type = TYPE_NORMAL, .accuracy = 100, @@ -7016,7 +7197,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, - .argument = HOLD_EFFECT_PLATE, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BUG_BITE] = @@ -7031,6 +7213,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CHARGE_BEAM] = @@ -7045,6 +7229,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WOOD_HAMMER] = @@ -7059,6 +7245,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_AQUA_JET] = @@ -7073,6 +7261,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ATTACK_ORDER] = @@ -7087,6 +7277,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DEFEND_ORDER] = @@ -7101,6 +7293,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_HEAL_ORDER] = @@ -7115,6 +7309,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_HEAD_SMASH] = @@ -7129,6 +7325,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DOUBLE_HIT] = @@ -7143,6 +7341,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ROAR_OF_TIME] = @@ -7157,6 +7357,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPACIAL_REND] = @@ -7171,15 +7373,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LUNAR_DANCE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_DANCE | FLAG_SNATCH_AFFECTED, - #else - .flags = FLAG_DANCE, - #endif .effect = EFFECT_HEALING_WISH, .power = 0, .type = TYPE_PSYCHIC, @@ -7188,7 +7387,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, + .flags = FLAG_DANCE | FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CRUSH_GRIP] = @@ -7203,46 +7405,40 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MAGMA_STORM] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 100, - .accuracy = 75, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .power = 120, - .accuracy = 75, - #else - .power = 120, - .accuracy = 70, - #endif .effect = EFFECT_TRAP, + .power = 100, .type = TYPE_FIRE, + .accuracy = 75, .pp = 5, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DARK_VOID] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .accuracy = 50, - #else - .accuracy = 80, - #endif .effect = EFFECT_SLEEP, .power = 0, .type = TYPE_DARK, + .accuracy = 50, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_SEED_FLARE] = @@ -7257,6 +7453,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_OMINOUS_WIND] = @@ -7271,6 +7469,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SHADOW_FORCE] = @@ -7283,8 +7483,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DMG_MINIMIZE, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HONE_CLAWS] = @@ -7299,6 +7501,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_WIDE_GUARD] = @@ -7314,6 +7518,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_PROTECTION_MOVE | FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .argument = TRUE, // Protects the whole side. + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_GUARD_SPLIT] = @@ -7328,6 +7534,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_POWER_SPLIT] = @@ -7342,15 +7550,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_WONDER_ROOM] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .priority = 0, - #else - .priority = -7, - #endif .effect = EFFECT_WONDER_ROOM, .power = 0, .type = TYPE_PSYCHIC, @@ -7358,8 +7563,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, + .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_PSYSHOCK] = @@ -7374,6 +7582,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_VENOSHOCK] = @@ -7388,11 +7598,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_AUTOTOMIZE] = { - .effect = EFFECT_AUTOTOMIZE, + .effect = EFFECT_HIT, .power = 0, .type = TYPE_STEEL, .accuracy = 0, @@ -7402,15 +7614,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_RAGE_POWDER] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .priority = 2, - #else - .priority = 3, - #endif .effect = EFFECT_FOLLOW_ME, .power = 0, .type = TYPE_BUG, @@ -7418,8 +7627,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, + .priority = 2, .flags = FLAG_POWDER, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_TELEKINESIS] = @@ -7434,15 +7646,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_MAGIC_ROOM] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .priority = 0, - #else - .priority = -7, - #endif .effect = EFFECT_MAGIC_ROOM, .power = 0, .type = TYPE_PSYCHIC, @@ -7450,8 +7659,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, + .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_SMACK_DOWN] = @@ -7466,16 +7678,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIT_IN_AIR, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STORM_THROW] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 60, - #else - .power = 40, - #endif .effect = EFFECT_ALWAYS_CRIT, + .power = 60, .type = TYPE_FIGHTING, .accuracy = 100, .pp = 10, @@ -7484,6 +7694,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FLAME_BURST] = @@ -7498,6 +7710,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SLUDGE_WAVE] = @@ -7512,6 +7726,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_QUIVER_DANCE] = @@ -7526,6 +7742,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED | FLAG_DANCE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_HEAVY_SLAM] = @@ -7538,27 +7756,26 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DMG_MINIMIZE, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SYNCHRONOISE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 120, - .pp = 10, - #else - .power = 70, - .pp = 15, - #endif .effect = EFFECT_SYNCHRONOISE, + .power = 120, .type = TYPE_PSYCHIC, .accuracy = 100, + .pp = 15, .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ELECTRO_BALL] = @@ -7573,6 +7790,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SOAK] = @@ -7587,6 +7806,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_FLAME_CHARGE] = @@ -7601,6 +7822,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_COIL] = @@ -7615,16 +7838,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_LOW_SWEEP] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 65, - #else - .power = 60, - #endif .effect = EFFECT_SPEED_DOWN_HIT, + .power = 65, .type = TYPE_FIGHTING, .accuracy = 100, .pp = 20, @@ -7633,6 +7854,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ACID_SPRAY] = @@ -7647,6 +7870,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FOUL_PLAY] = @@ -7661,6 +7886,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SIMPLE_BEAM] = @@ -7675,6 +7902,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_ENTRAINMENT] = @@ -7689,6 +7918,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_AFTER_YOU] = @@ -7703,6 +7934,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_ROUND] = @@ -7717,6 +7950,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ECHOED_VOICE] = @@ -7731,6 +7966,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CHIP_AWAY] = @@ -7745,6 +7982,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_STAT_STAGES_IGNORED, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CLEAR_SMOG] = @@ -7759,6 +7998,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STORED_POWER] = @@ -7773,6 +8014,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_QUICK_GUARD] = @@ -7788,15 +8031,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_PROTECTION_MOVE | FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .argument = TRUE, // Protects the whole side. + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_ALLY_SWITCH] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .priority = 2, - #else - .priority = 1, - #endif .effect = EFFECT_ALLY_SWITCH, .power = 0, .type = TYPE_PSYCHIC, @@ -7804,8 +8044,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .pp = 15, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, + .priority = 1, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_2, }, [MOVE_SCALD] = @@ -7820,6 +8063,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SHELL_SMASH] = @@ -7834,6 +8079,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_HEAL_PULSE] = @@ -7848,16 +8095,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MEGA_LAUNCHER_BOOST, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_HEX] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 65, - #else - .power = 50, - #endif .effect = EFFECT_HEX, + .power = 65, .type = TYPE_GHOST, .accuracy = 100, .pp = 10, @@ -7866,6 +8111,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SKY_DROP] = @@ -7880,6 +8127,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SHIFT_GEAR] = @@ -7894,6 +8143,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_CIRCLE_THROW] = @@ -7908,16 +8159,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = -6, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_INCINERATE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 60, - #else - .power = 30, - #endif .effect = EFFECT_INCINERATE, + .power = 60, .type = TYPE_FIRE, .accuracy = 100, .pp = 15, @@ -7926,6 +8175,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_QUASH] = @@ -7940,6 +8191,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_ACROBATICS] = @@ -7954,6 +8207,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_REFLECT_TYPE] = @@ -7968,6 +8223,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_RETALIATE] = @@ -7982,6 +8239,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FINAL_GAMBIT] = @@ -7996,15 +8255,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BESTOW] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .flags = FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_BESTOW, .power = 0, .type = TYPE_NORMAL, @@ -8013,7 +8269,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, + .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_2, }, [MOVE_INFERNO] = @@ -8028,16 +8287,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WATER_PLEDGE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 80, - #else - .power = 50, - #endif .effect = EFFECT_PLEDGE, + .power = 80, .type = TYPE_WATER, .accuracy = 100, .pp = 10, @@ -8046,16 +8303,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FIRE_PLEDGE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 80, - #else - .power = 50, - #endif .effect = EFFECT_PLEDGE, + .power = 80, .type = TYPE_FIRE, .accuracy = 100, .pp = 10, @@ -8064,16 +8319,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_GRASS_PLEDGE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 80, - #else - .power = 50, - #endif .effect = EFFECT_PLEDGE, + .power = 80, .type = TYPE_GRASS, .accuracy = 100, .pp = 10, @@ -8082,6 +8335,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_VOLT_SWITCH] = @@ -8096,16 +8351,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STRUGGLE_BUG] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 50, - #else - .power = 30, - #endif .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT, + .power = 50, .type = TYPE_BUG, .accuracy = 100, .pp = 20, @@ -8114,6 +8367,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BULLDOZE] = @@ -8128,16 +8383,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FROST_BREATH] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 60, - #else - .power = 40, - #endif .effect = EFFECT_ALWAYS_CRIT, + .power = 60, .type = TYPE_ICE, .accuracy = 90, .pp = 10, @@ -8146,6 +8399,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DRAGON_TAIL] = @@ -8160,6 +8415,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = -6, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WORK_UP] = @@ -8174,6 +8431,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_ELECTROWEB] = @@ -8188,6 +8447,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WILD_CHARGE] = @@ -8202,6 +8463,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DRILL_RUN] = @@ -8216,6 +8479,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DUAL_CHOP] = @@ -8230,6 +8495,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HEART_STAMP] = @@ -8244,6 +8511,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HORN_LEECH] = @@ -8258,24 +8527,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SACRED_SWORD] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .pp = 15, - #else - .pp = 20, - #endif .effect = EFFECT_HIT, .power = 90, .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_KINGSROCK_AFFECTED | FLAG_STAT_STAGES_IGNORED, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_RAZOR_SHELL] = @@ -8290,6 +8559,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HEAT_CRASH] = @@ -8304,6 +8575,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DMG_MINIMIZE, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LEAF_TORNADO] = @@ -8318,6 +8591,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STEAMROLLER] = @@ -8332,6 +8607,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_DMG_MINIMIZE | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_COTTON_GUARD] = @@ -8346,6 +8623,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_NIGHT_DAZE] = @@ -8360,6 +8639,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PSYSTRIKE] = @@ -8374,6 +8655,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TAIL_SLAP] = @@ -8388,16 +8671,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HURRICANE] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 110, - #else - .power = 120, - #endif .effect = EFFECT_HURRICANE, + .power = 110, .type = TYPE_FLYING, .accuracy = 70, .pp = 10, @@ -8406,6 +8687,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_HIT_IN_AIR, .split = SPLIT_SPECIAL, + .zMovePower = 185, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HEAD_CHARGE] = @@ -8420,6 +8703,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_GEAR_GRIND] = @@ -8434,6 +8719,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SEARING_SHOT] = @@ -8448,16 +8735,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TECHNO_BLAST] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .power = 120, - #else - .power = 85, - #endif - .effect = EFFECT_CHANGE_TYPE_ON_ITEM, + .effect = EFFECT_HIT, + .power = 120, .type = TYPE_NORMAL, .accuracy = 100, .pp = 5, @@ -8466,7 +8751,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, - .argument = HOLD_EFFECT_DRIVE + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_RELIC_SONG] = @@ -8481,6 +8767,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SECRET_SWORD] = @@ -8495,6 +8783,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_GLACIATE] = @@ -8509,6 +8799,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BOLT_STRIKE] = @@ -8523,6 +8815,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 195, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BLUE_FLARE] = @@ -8537,6 +8831,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 195, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FIERY_DANCE] = @@ -8551,6 +8847,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DANCE | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FREEZE_SHOCK] = @@ -8566,6 +8864,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .argument = MOVE_EFFECT_PARALYSIS, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ICE_BURN] = @@ -8581,6 +8881,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .argument = MOVE_EFFECT_BURN, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SNARL] = @@ -8595,6 +8897,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SOUND, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ICICLE_CRASH] = @@ -8609,6 +8913,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_V_CREATE] = @@ -8623,6 +8929,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 220, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FUSION_FLARE] = @@ -8637,6 +8945,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FUSION_BOLT] = @@ -8651,16 +8961,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FLYING_PRESS] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .power = 100, - #else - .power = 80, - #endif .effect = EFFECT_TWO_TYPED_MOVE, + .power = 100, .type = TYPE_FIGHTING, .accuracy = 95, .pp = 10, @@ -8670,6 +8978,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DMG_MINIMIZE, .split = SPLIT_PHYSICAL, .argument = TYPE_FLYING, + .zMovePower = 170, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MAT_BLOCK] = @@ -8685,6 +8995,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .argument = TRUE, // Protects the whole side. + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_BELCH] = @@ -8699,6 +9011,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ROTOTILLER] = @@ -8713,6 +9027,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_STICKY_WEB] = @@ -8727,16 +9043,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_FELL_STINGER] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .power = 50, - #else - .power = 30, - #endif .effect = EFFECT_FELL_STINGER, + .power = 50, .type = TYPE_BUG, .accuracy = 100, .pp = 25, @@ -8745,6 +9059,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PHANTOM_FORCE] = @@ -8757,9 +9073,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DMG_MINIMIZE, .split = SPLIT_PHYSICAL, .argument = MOVE_EFFECT_FEINT, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TRICK_OR_TREAT] = @@ -8775,6 +9093,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .argument = TYPE_GHOST, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, }, [MOVE_NOBLE_ROAR] = @@ -8789,6 +9109,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_ION_DELUGE] = @@ -8803,16 +9125,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_PARABOLIC_CHARGE] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .power = 65, - #else - .power = 50, - #endif .effect = EFFECT_ABSORB, + .power = 65, .type = TYPE_ELECTRIC, .accuracy = 100, .pp = 20, @@ -8821,6 +9141,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FORESTS_CURSE] = @@ -8836,6 +9158,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .argument = TYPE_GRASS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, }, [MOVE_PETAL_BLIZZARD] = @@ -8850,6 +9174,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FREEZE_DRY] = @@ -8864,6 +9190,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DISARMING_VOICE] = @@ -8878,6 +9206,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PARTING_SHOT] = @@ -8892,24 +9222,24 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESTORE_REPLACEMENT_HP, }, [MOVE_TOPSY_TURVY] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .accuracy = 0, - #else - .accuracy = 100, - #endif .effect = EFFECT_TOPSY_TURVY, .power = 0, .type = TYPE_DARK, + .accuracy = 0, .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_DRAINING_KISS] = @@ -8923,8 +9253,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - .argument = 75, // restores 75% HP instead of 50% HP + .split = SPLIT_SPECIAL, // restores 75% HP instead of 50% HP + .argument = 75, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CRAFTY_SHIELD] = @@ -8940,6 +9272,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = 0, .split = SPLIT_STATUS, .argument = TRUE, // Protects the whole side. + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_FLOWER_SHIELD] = @@ -8954,6 +9288,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_GRASSY_TERRAIN] = @@ -8968,6 +9304,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_MISTY_TERRAIN] = @@ -8982,6 +9320,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_ELECTRIFY] = @@ -8996,6 +9336,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_PLAY_ROUGH] = @@ -9010,6 +9352,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FAIRY_WIND] = @@ -9024,6 +9368,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MOONBLAST] = @@ -9038,6 +9384,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BOOMBURST] = @@ -9052,6 +9400,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FAIRY_LOCK] = @@ -9066,6 +9416,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_KINGS_SHIELD] = @@ -9080,6 +9432,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 4, .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_PLAY_NICE] = @@ -9094,6 +9448,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_CONFIDE] = @@ -9108,15 +9464,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_DIAMOND_STORM] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .effect = EFFECT_DEFENSE_UP2_HIT, - #else - .effect = EFFECT_DEFENSE_UP_HIT, - #endif + .effect = EFFECT_DEFENSE_UP2_HIT, .power = 100, .type = TYPE_ROCK, .accuracy = 95, @@ -9126,6 +9480,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STEAM_ERUPTION] = @@ -9140,6 +9496,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 185, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HYPERSPACE_HOLE] = @@ -9154,15 +9512,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_WATER_SHURIKEN] = { - #if B_WATER_SHURIKEN_SPLIT >= GEN_7 - .split = SPLIT_SPECIAL, - #else - .split = SPLIT_PHYSICAL, - #endif .effect = EFFECT_MULTI_HIT, .power = 15, .type = TYPE_WATER, @@ -9172,16 +9527,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .target = MOVE_TARGET_SELECTED, .priority = 1, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MYSTICAL_FIRE] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .power = 75, - #else - .power = 65, - #endif .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT, + .power = 75, .type = TYPE_FIRE, .accuracy = 100, .pp = 10, @@ -9190,6 +9544,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPIKY_SHIELD] = @@ -9204,6 +9560,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 4, .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_AROMATIC_MIST] = @@ -9218,6 +9576,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_2, }, [MOVE_EERIE_IMPULSE] = @@ -9232,6 +9592,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_VENOM_DRENCH] = @@ -9246,6 +9608,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_POWDER] = @@ -9260,6 +9624,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_2, }, [MOVE_GEOMANCY] = @@ -9274,6 +9640,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, }, [MOVE_MAGNETIC_FLUX] = @@ -9288,6 +9656,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_HAPPY_HOUR] = @@ -9302,6 +9672,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, }, [MOVE_ELECTRIC_TERRAIN] = @@ -9316,6 +9688,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_DAZZLING_GLEAM] = @@ -9330,6 +9704,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CELEBRATE] = @@ -9344,6 +9720,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, }, [MOVE_HOLD_HANDS] = @@ -9358,6 +9736,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, }, [MOVE_BABY_DOLL_EYES] = @@ -9372,6 +9752,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_NUZZLE] = @@ -9386,6 +9768,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HOLD_BACK] = @@ -9400,6 +9784,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_INFESTATION] = @@ -9414,6 +9800,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_POWER_UP_PUNCH] = @@ -9428,6 +9816,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_OBLIVION_WING] = @@ -9443,6 +9833,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, .argument = 75, // restores 75% HP instead of 50% HP + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_THOUSAND_ARROWS] = @@ -9457,6 +9849,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_HIT_IN_AIR, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_THOUSAND_WAVES] = @@ -9471,6 +9865,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LANDS_WRATH] = @@ -9485,6 +9881,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LIGHT_OF_RUIN] = @@ -9499,6 +9897,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ORIGIN_PULSE] = @@ -9513,6 +9913,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_MEGA_LAUNCHER_BOOST, .split = SPLIT_SPECIAL, + .zMovePower = 185, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PRECIPICE_BLADES] = @@ -9527,6 +9929,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DRAGON_ASCENT] = @@ -9541,13 +9945,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_HYPERSPACE_FURY] = { .effect = EFFECT_PLACEHOLDER, .power = 0, - .type = TYPE_DARK, + .type = TYPE_MYSTERY, .accuracy = 0, .pp = 0, .secondaryEffectChance = 0, @@ -9569,6 +9975,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_FIRST_IMPRESSION] = @@ -9583,6 +9991,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 2, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BANEFUL_BUNKER] = @@ -9597,6 +10007,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 4, .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_SPIRIT_SHACKLE] = @@ -9611,6 +10023,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DARKEST_LARIAT] = @@ -9625,6 +10039,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_STAT_STAGES_IGNORED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPARKLING_ARIA] = @@ -9640,6 +10056,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .argument = STATUS1_BURN, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ICE_HAMMER] = @@ -9652,8 +10070,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FLORAL_HEALING] = @@ -9668,6 +10088,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_HIGH_HORSEPOWER] = @@ -9682,6 +10104,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STRENGTH_SAP] = @@ -9696,6 +10120,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_SOLAR_BLADE] = @@ -9710,6 +10136,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LEAFAGE] = @@ -9724,6 +10152,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPOTLIGHT] = @@ -9738,12 +10168,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 3, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, [MOVE_TOXIC_THREAD] = { .effect = EFFECT_TOXIC_THREAD, - .power = 0, + .power = 20, .type = TYPE_POISON, .accuracy = 100, .pp = 0, @@ -9752,6 +10184,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_LASER_FOCUS] = @@ -9766,6 +10200,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ATK_UP_1, }, [MOVE_GEAR_UP] = @@ -9780,6 +10216,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_THROAT_CHOP] = @@ -9792,8 +10230,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_POLLEN_PUFF] = @@ -9806,8 +10246,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ANCHOR_SHOT] = @@ -9822,6 +10264,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PSYCHIC_TERRAIN] = @@ -9836,6 +10280,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = 0, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_LUNGE] = @@ -9850,6 +10296,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FIRE_LASH] = @@ -9864,6 +10312,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_POWER_TRIP] = @@ -9878,6 +10328,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BURN_UP] = @@ -9892,6 +10344,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 195, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPEED_SWAP] = @@ -9906,6 +10360,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_SMART_STRIKE] = @@ -9920,6 +10376,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PURIFY] = @@ -9934,6 +10392,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, }, [MOVE_REVELATION_DANCE] = @@ -9948,6 +10408,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_DANCE, .split = SPLIT_SPECIAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CORE_ENFORCER] = @@ -9962,6 +10424,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TROP_KICK] = @@ -9976,6 +10440,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_INSTRUCT] = @@ -9990,6 +10456,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_BEAK_BLAST] = @@ -10002,8 +10470,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = -3, - .flags = FLAG_PROTECT_AFFECTED | FLAG_BALLISTIC, + .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_CLANGING_SCALES] = @@ -10018,6 +10488,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, + .zMovePower = 185, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DRAGON_HAMMER] = @@ -10032,6 +10504,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_BRUTAL_SWING] = @@ -10046,6 +10520,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_AURORA_VEIL] = @@ -10060,6 +10536,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_SHELL_TRAP] = @@ -10074,6 +10552,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = -3, .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FLEUR_CANNON] = @@ -10088,6 +10568,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 195, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PSYCHIC_FANGS] = @@ -10100,8 +10582,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_STRONG_JAW_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_STOMPING_TANTRUM] = @@ -10116,6 +10600,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SHADOW_BONE] = @@ -10130,6 +10616,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_ACCELEROCK] = @@ -10144,6 +10632,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 1, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LIQUIDATION] = @@ -10158,6 +10648,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PRISMATIC_LASER] = @@ -10172,6 +10664,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SPECTRAL_THIEF] = @@ -10186,6 +10680,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_SUNSTEEL_STRIKE] = @@ -10200,6 +10696,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_TARGET_ABILITY_IGNORED, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MOONGEIST_BEAM] = @@ -10214,6 +10712,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_TARGET_ABILITY_IGNORED, .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_TEARFUL_LOOK] = @@ -10228,6 +10728,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_DEF_UP_1, }, [MOVE_ZING_ZAP] = @@ -10242,6 +10744,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_NATURES_MADNESS] = @@ -10256,16 +10760,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MULTI_ATTACK] = { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .power = 120, - #else - .power = 90, - #endif - .effect = EFFECT_CHANGE_TYPE_ON_ITEM, + .effect = EFFECT_PLACEHOLDER, + .power = 90, .type = TYPE_NORMAL, .accuracy = 100, .pp = 10, @@ -10274,7 +10776,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, - .argument = HOLD_EFFECT_MEMORY, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_MIND_BLOWN] = @@ -10289,6 +10792,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PLASMA_FISTS] = @@ -10301,8 +10806,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_PHOTON_GEYSER] = @@ -10317,1073 +10824,23 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, .split = SPLIT_SPECIAL, - }, - - [MOVE_ZIPPY_ZAP] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .power = 80, - .pp = 10, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .power = 50, - .pp = 15, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_ALWAYS_CRIT, - .type = TYPE_ELECTRIC, - .accuracy = 100, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 2, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_SPLISHY_SPLASH] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_PARALYZE_HIT, - .power = 90, - .type = TYPE_WATER, - .accuracy = 100, - .pp = 15, - .secondaryEffectChance = 30, - .target = MOVE_TARGET_BOTH, - .priority = 0, - .split = SPLIT_SPECIAL, - }, - - [MOVE_FLOATY_FALL] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED, - #endif - .effect = EFFECT_FLINCH_HIT, - .power = 90, - .type = TYPE_FLYING, - .accuracy = 95, - .pp = 15, - .secondaryEffectChance = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_PIKA_PAPOW] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_RETURN, - .power = 1, - .type = TYPE_ELECTRIC, - .accuracy = 0, - .pp = 20, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .split = SPLIT_SPECIAL, - }, - - [MOVE_BOUNCY_BUBBLE] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .power = 60, - .pp = 20, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .argument = 100, // restores 100% HP instead of 50% HP - #else - .power = 90, - .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_ABSORB, - .type = TYPE_WATER, - .accuracy = 100, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .split = SPLIT_SPECIAL, - }, - - [MOVE_BUZZY_BUZZ] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .power = 60, - .pp = 20, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .power = 90, - .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_PARALYZE_HIT, - .type = TYPE_ELECTRIC, - .accuracy = 100, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .split = SPLIT_SPECIAL, - }, - - [MOVE_SIZZLY_SLIDE] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .power = 60, - .pp = 20, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .power = 90, - .pp = 15, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_BURN_HIT, - .type = TYPE_FIRE, - .accuracy = 100, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_GLITZY_GLOW] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .power = 80, - .accuracy = 95, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .power = 90, - .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_PLACEHOLDER, //TODO (Light Screen + Hit) - .type = TYPE_PSYCHIC, - .pp = 15, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .split = SPLIT_SPECIAL, - }, - - [MOVE_BADDY_BAD] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .power = 80, - .accuracy = 95, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .power = 90, - .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_PLACEHOLDER, //TODO (Reflect + Hit) - .type = TYPE_DARK, - .pp = 15, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .split = SPLIT_SPECIAL, - }, - - [MOVE_SAPPY_SEED] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .power = 100, - .accuracy = 90, - .pp = 10, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .power = 90, - .accuracy = 100, - .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_PLACEHOLDER, //TODO (Leech Seed + Hit) - .type = TYPE_GRASS, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_FREEZY_FROST] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .power = 100, - .accuracy = 90, - .pp = 10, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .power = 90, - .accuracy = 100, - .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_PLACEHOLDER, //TODO (Haze + Hit) - .type = TYPE_ICE, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .split = SPLIT_SPECIAL, - }, - - [MOVE_SPARKLY_SWIRL] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .power = 120, - .accuracy = 85, - .pp = 5, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .power = 90, - .accuracy = 100, - .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_PLACEHOLDER, //TODO (Heal Bell + Hit) - .type = TYPE_FAIRY, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .split = SPLIT_SPECIAL, - }, - - [MOVE_VEEVEE_VOLLEY] = - { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - #endif - .effect = EFFECT_RETURN, - .power = 1, - .type = TYPE_NORMAL, - .accuracy = 0, - .pp = 20, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_DOUBLE_IRON_BASH] = { - .effect = EFFECT_PLACEHOLDER, //TODO (EFFECT_FLINCH_HIT + EFFECT_DOUBLE_HIT) + .effect = EFFECT_FLINCH_HIT, .power = 60, .type = TYPE_STEEL, .accuracy = 100, .pp = 5, .secondaryEffectChance = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_DMG_MINIMIZE | FLAG_IRON_FIST_BOOST, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_DYNAMAX_CANNON] = - { - .effect = EFFECT_HIT, - .power = 100, - .type = TYPE_DRAGON, - .accuracy = 100, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_SNIPE_SHOT] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 80, - .type = TYPE_WATER, - .accuracy = 100, - .pp = 15, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_JAW_LOCK] = - { - .effect = EFFECT_MEAN_LOOK, - .power = 80, - .type = TYPE_DARK, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_STRONG_JAW_BOOST, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_STUFF_CHEEKS] = - { - .effect = EFFECT_DEFENSE_UP_2, - .power = 0, - .type = TYPE_NORMAL, - .accuracy = 0, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_USER, - .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, - .split = SPLIT_STATUS, - }, - - [MOVE_NO_RETREAT] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 0, - .type = TYPE_FIGHTING, - .accuracy = 0, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_USER, - .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, - .split = SPLIT_STATUS, - }, - - [MOVE_TAR_SHOT] = - { - .effect = EFFECT_SPEED_DOWN, - .power = 0, - .type = TYPE_ROCK, - .accuracy = 100, - .pp = 15, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - .split = SPLIT_STATUS, - }, - - [MOVE_MAGIC_POWDER] = - { - .effect = EFFECT_THIRD_TYPE, - .power = 0, - .type = TYPE_PSYCHIC, - .accuracy = 100, - .pp = 20, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, - .split = SPLIT_STATUS, - .argument = TYPE_PSYCHIC, - }, - - [MOVE_DRAGON_DARTS] = - { - .effect = EFFECT_MULTI_HIT, //TODO - .power = 50, - .type = TYPE_DRAGON, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_TEATIME] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 0, - .type = TYPE_NORMAL, - .accuracy = 0, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_USER, - .priority = 0, - .flags = 0, - .split = SPLIT_STATUS, - }, - - [MOVE_OCTOLOCK] = - { - .effect = EFFECT_MEAN_LOOK, - .power = 0, - .type = TYPE_FIGHTING, - .accuracy = 100, - .pp = 15, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - .split = SPLIT_STATUS, - }, - - [MOVE_BOLT_BEAK] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 85, - .type = TYPE_ELECTRIC, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_FISHIOUS_REND] = - { - .effect = EFFECT_PLACEHOLDER, //TODO. same as bolt beak - .power = 85, - .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_KINGSROCK_AFFECTED | FLAG_STRONG_JAW_BOOST, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_COURT_CHANGE] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 0, - .type = TYPE_NORMAL, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_USER, - .priority = 0, - .flags = FLAG_MIRROR_MOVE_AFFECTED, - .split = SPLIT_STATUS, - }, - - [MOVE_CLANGOROUS_SOUL] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 0, - .type = TYPE_DRAGON, - .accuracy = 100, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_USER, - .priority = 0, - .flags = FLAG_SNATCH_AFFECTED | FLAG_SOUND, - .split = SPLIT_STATUS, - }, - - [MOVE_BODY_PRESS] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 80, - .type = TYPE_FIGHTING, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_DECORATE] = - { - .effect = EFFECT_PLACEHOLDER, // TODO .. EFFECT_DECORATE - .power = 0, - .type = TYPE_FAIRY, - .accuracy = 0, - .pp = 15, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = 0, - .split = SPLIT_STATUS, - }, - - [MOVE_DRUM_BEATING] = - { - .effect = EFFECT_SPEED_DOWN_HIT, - .power = 80, - .type = TYPE_GRASS, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_SNAP_TRAP] = - { - .effect = EFFECT_TRAP, //TODO: add case/effect - .power = 35, - .type = TYPE_GRASS, - .accuracy = 100, - .pp = 15, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_PYRO_BALL] = - { - .effect = EFFECT_BURN_HIT, - .power = 120, - .type = TYPE_FIRE, - .accuracy = 90, - .pp = 5, - .secondaryEffectChance = 10, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_BALLISTIC, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_BEHEMOTH_BLADE] = - { - .effect = EFFECT_HIT, //TODO: 2x damage if dynamaxed? meh... - .power = 100, - .type = TYPE_STEEL, - .accuracy = 100, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_BEHEMOTH_BASH] = - { - .effect = EFFECT_HIT, //TODO: 2x damage if dynamaxed? meh... - .power = 100, - .type = TYPE_STEEL, - .accuracy = 100, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_AURA_WHEEL] = - { - .effect = EFFECT_SPEED_UP_HIT, - .power = 110, - .type = TYPE_ELECTRIC, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_BREAKING_SWIPE] = - { - .effect = EFFECT_ATTACK_DOWN_HIT, - .power = 60, - .type = TYPE_DRAGON, - .accuracy = 100, - .pp = 15, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_BOTH, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_BRANCH_POKE] = - { - .effect = EFFECT_HIT, - .power = 40, - .type = TYPE_GRASS, - .accuracy = 100, - .pp = 40, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_OVERDRIVE] = - { - .effect = EFFECT_HIT, - .power = 80, - .type = TYPE_ELECTRIC, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_BOTH, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_SOUND, - .split = SPLIT_SPECIAL, - }, - - [MOVE_APPLE_ACID] = - { - .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, - .power = 80, - .type = TYPE_GRASS, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_GRAV_APPLE] = - { - .effect = EFFECT_DEFENSE_DOWN_HIT, - .power = 80, - .type = TYPE_GRASS, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_SPIRIT_BREAK] = - { - .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT, - .power = 75, - .type = TYPE_FAIRY, - .accuracy = 100, - .pp = 15, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_STRANGE_STEAM] = - { - .effect = EFFECT_CONFUSE_HIT, - .power = 90, - .type = TYPE_FAIRY, - .accuracy = 95, - .pp = 10, - .secondaryEffectChance = 20, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_LIFE_DEW] = - { - .effect = EFFECT_RESTORE_HP, - .power = 0, - .type = TYPE_WATER, - .accuracy = 0, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_USER, - .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, - .split = SPLIT_STATUS, - }, - - [MOVE_OBSTRUCT] = - { - .effect = EFFECT_PLACEHOLDER, //TODO. EFFECT_PROTECT? - .power = 0, - .type = TYPE_DARK, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_USER, - .priority = 4, - .flags = 0, - .split = SPLIT_STATUS, - }, - - [MOVE_FALSE_SURRENDER] = - { - .effect = EFFECT_HIT, - .power = 80, - .type = TYPE_DARK, - .accuracy = 0, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_METEOR_ASSAULT] = - { - .effect = EFFECT_RECHARGE, - .power = 150, - .type = TYPE_FIGHTING, - .accuracy = 100, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_ETERNABEAM] = - { - .effect = EFFECT_RECHARGE, - .power = 160, - .type = TYPE_DRAGON, - .accuracy = 90, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_STEEL_BEAM] = - { - .effect = EFFECT_RECOIL_50, - .power = 140, - .type = TYPE_STEEL, - .accuracy = 95, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_EXPANDING_FORCE] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 80, - .type = TYPE_PSYCHIC, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_STEEL_ROLLER] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 130, - .type = TYPE_STEEL, - .accuracy = 100, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_SCALE_SHOT] = - { - .effect = EFFECT_PLACEHOLDER, //TODO (EFFECT_MULTI_HIT + ABILITY_WEAK_ARMOR, - .power = 25, - .type = TYPE_DRAGON, - .accuracy = 90, - .pp = 20, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_METEOR_BEAM] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 120, - .type = TYPE_ROCK, - .accuracy = 90, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_SHELL_SIDE_ARM] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 90, - .type = TYPE_POISON, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_MISTY_EXPLOSION] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 100, - .type = TYPE_FAIRY, - .accuracy = 100, - .pp = 5, - .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_GRASSY_GLIDE] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 70, - .type = TYPE_GRASS, - .accuracy = 100, - .pp = 20, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_RISING_VOLTAGE] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 70, - .type = TYPE_ELECTRIC, - .accuracy = 100, - .pp = 20, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_TERRAIN_PULSE] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .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_KINGSROCK_AFFECTED | FLAG_MEGA_LAUNCHER_BOOST, - .split = SPLIT_SPECIAL, - }, - - [MOVE_SKITTER_SMACK] = - { - .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT, - .power = 70, - .type = TYPE_BUG, - .accuracy = 90, - .pp = 10, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_BURNING_JEALOUSY] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 70, - .type = TYPE_FIRE, - .accuracy = 100, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_BOTH, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_LASH_OUT] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 75, - .type = TYPE_DARK, - .accuracy = 100, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_POLTERGEIST] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 110, - .type = TYPE_GHOST, - .accuracy = 90, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_CORROSIVE_GAS] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 0, - .type = TYPE_POISON, - .accuracy = 100, - .pp = 40, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_FOES_AND_ALLY, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - .split = SPLIT_STATUS, - }, - - [MOVE_COACHING] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 0, - .type = TYPE_FIGHTING, - .accuracy = 0, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_ALLY, - .priority = 0, - .flags = 0, - .split = SPLIT_STATUS, - }, - - [MOVE_FLIP_TURN] = - { - .effect = EFFECT_HIT_ESCAPE, - .power = 60, - .type = TYPE_WATER, - .accuracy = 100, - .pp = 20, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_TRIPLE_AXEL] = - { - .effect = EFFECT_TRIPLE_KICK, //TODO: Increase damage by 20 instead of 10 - .power = 20, - .type = TYPE_ICE, - .accuracy = 90, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_DUAL_WINGBEAT] = - { - .effect = EFFECT_DOUBLE_HIT, - .power = 40, - .type = TYPE_FLYING, - .accuracy = 90, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_SCORCHING_SANDS] = - { - .effect = EFFECT_SCALD, - .power = 70, - .type = TYPE_GROUND, - .accuracy = 100, - .pp = 10, - .secondaryEffectChance = 30, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, - .split = SPLIT_SPECIAL, - }, - - [MOVE_JUNGLE_HEALING] = - { - .effect = EFFECT_PLACEHOLDER, //TODO - .power = 0, - .type = TYPE_GRASS, - .accuracy = 0, - .pp = 10, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_USER, - .priority = 0, - .split = SPLIT_STATUS, - }, - - [MOVE_WICKED_BLOW] = - { - .effect = EFFECT_ALWAYS_CRIT, - .power = 80, - .type = TYPE_DARK, - .accuracy = 100, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST, - .split = SPLIT_PHYSICAL, - }, - - [MOVE_SURGING_STRIKES] = - { - .effect = EFFECT_PLACEHOLDER, //TODO (Multi hit + Always Crit) - .power = 25, - .type = TYPE_WATER, - .accuracy = 100, - .pp = 5, - .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED | FLAG_IRON_FIST_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, }, }; diff --git a/src/data/text/move_names.h b/src/data/text/move_names.h index 1eaf3137d..1e3a4222e 100644 --- a/src/data/text/move_names.h +++ b/src/data/text/move_names.h @@ -749,3 +749,78 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] = [MOVE_WICKED_BLOW] = _("Wicked Blow"), [MOVE_SURGING_STRIKES] = _("SurgeStrikes"), }; + +static const u8 sText_Breakneck_Blitz[] = _("Breakneck Blitz"); +static const u8 sText_All_Out_Pummeling[] = _("All Out Pummeling"); +static const u8 sText_Supersonic_Skystrike[] = _("Supersonic Skystrike"); +static const u8 sText_Acid_Downpour[] = _("Acid Downpour"); +static const u8 sText_Tectonic_Rage[] = _("Tectonic Rage"); +static const u8 sText_Continental_Crush[] = _("Continental Crush"); +static const u8 sText_Savage_Spin_Out[] = _("Savage Spin Out"); +static const u8 sText_Never_Ending_Nightmare[] = _("Never Ending Nightmare"); +static const u8 sText_Corkscrew_Crash[] = _("Corkscrew Crash"); +static const u8 sText_Inferno_Overdrive[] = _("Inferno Overdrive"); +static const u8 sText_Hydro_Vortex[] = _("Hydro Vortex"); +static const u8 sText_Bloom_Doom[] = _("Bloom Doom"); +static const u8 sText_Gigavolt_Havoc[] = _("Gigavolt Havoc"); +static const u8 sText_Shattered_Psyche[] = _("Shattered Psyche"); +static const u8 sText_Subzero_Slammer[] = _("Subzero Slammer"); +static const u8 sText_Devastating_Drake[] = _("Devastating Drake"); +static const u8 sText_Black_Hole_Eclipse[] = _("Black Hole Eclipse"); +static const u8 sText_Twinkle_Tackle[] = _("Twinkle Tackle"); +static const u8 sText_Catastropika[] = _("Catastropika"); +static const u8 sText_10000000_Volt_Thunderbolt[] = _("10000000 Volt Thunderbolt"); +static const u8 sText_Stoked_Sparksurfer[] = _("Stoked Sparksurfer"); +static const u8 sText_Extreme_Evoboost[] = _("Extreme Evoboost"); +static const u8 sText_Pulverizing_Pancake[] = _("Pulverizing Pancake"); +static const u8 sText_Genesis_Supernova[] = _("Genesis Supernova"); +static const u8 sText_Sinister_Arrow_Raid[] = _("Sinister Arrow Raid"); +static const u8 sText_Malicious_Moonsault[] = _("Malicious Moonsault"); +static const u8 sText_Oceanic_Operetta[] = _("Oceanic Operetta"); +static const u8 sText_Splintered_Stormshards[] = _("Splintered Stormshards"); +static const u8 sText_Lets_Snuggle_Forever[] = _("Lets Snuggle Forever"); +static const u8 sText_Clangorous_Soulblaze[] = _("Clangorous Soulblaze"); +static const u8 sText_Guardian_Of_Alola[] = _("Guardian Of Alola"); +static const u8 sText_Searing_Sunraze_Smash[] = _("Searing Sunraze Smash"); +static const u8 sText_Menacing_Moonraze_Maelstrom[] = _("Menacing Moonraze Maelstrom"); +static const u8 sText_Light_That_Burns_The_Sky[] = _("Light That Burns The Sky"); +static const u8 sText_Soul_Stealing_7_Star_Strike[] = _("Soul Stealing 7 Star Strike"); + +const u8 *const gZMoveNames[] = +{ + [MOVE_BREAKNECK_BLITZ - MOVE_BREAKNECK_BLITZ] = sText_Breakneck_Blitz, + [MOVE_ALL_OUT_PUMMELING - MOVE_BREAKNECK_BLITZ] = sText_All_Out_Pummeling, + [MOVE_SUPERSONIC_SKYSTRIKE - MOVE_BREAKNECK_BLITZ] = sText_Supersonic_Skystrike, + [MOVE_ACID_DOWNPOUR - MOVE_BREAKNECK_BLITZ] = sText_Acid_Downpour, + [MOVE_TECTONIC_RAGE - MOVE_BREAKNECK_BLITZ] = sText_Tectonic_Rage, + [MOVE_CONTINENTAL_CRUSH - MOVE_BREAKNECK_BLITZ] = sText_Continental_Crush, + [MOVE_SAVAGE_SPIN_OUT - MOVE_BREAKNECK_BLITZ] = sText_Savage_Spin_Out, + [MOVE_NEVER_ENDING_NIGHTMARE - MOVE_BREAKNECK_BLITZ] = sText_Never_Ending_Nightmare, + [MOVE_CORKSCREW_CRASH - MOVE_BREAKNECK_BLITZ] = sText_Corkscrew_Crash, + [MOVE_INFERNO_OVERDRIVE - MOVE_BREAKNECK_BLITZ] = sText_Inferno_Overdrive, + [MOVE_HYDRO_VORTEX - MOVE_BREAKNECK_BLITZ] = sText_Hydro_Vortex, + [MOVE_BLOOM_DOOM - MOVE_BREAKNECK_BLITZ] = sText_Bloom_Doom, + [MOVE_GIGAVOLT_HAVOC - MOVE_BREAKNECK_BLITZ] = sText_Gigavolt_Havoc, + [MOVE_SHATTERED_PSYCHE - MOVE_BREAKNECK_BLITZ] = sText_Shattered_Psyche, + [MOVE_SUBZERO_SLAMMER - MOVE_BREAKNECK_BLITZ] = sText_Subzero_Slammer, + [MOVE_DEVASTATING_DRAKE - MOVE_BREAKNECK_BLITZ] = sText_Devastating_Drake, + [MOVE_BLACK_HOLE_ECLIPSE - MOVE_BREAKNECK_BLITZ] = sText_Black_Hole_Eclipse, + [MOVE_TWINKLE_TACKLE - MOVE_BREAKNECK_BLITZ] = sText_Twinkle_Tackle, + [MOVE_CATASTROPIKA - MOVE_BREAKNECK_BLITZ] = sText_Catastropika, + [MOVE_10000000_VOLT_THUNDERBOLT - MOVE_BREAKNECK_BLITZ] = sText_10000000_Volt_Thunderbolt, + [MOVE_STOKED_SPARKSURFER - MOVE_BREAKNECK_BLITZ] = sText_Stoked_Sparksurfer, + [MOVE_EXTREME_EVOBOOST - MOVE_BREAKNECK_BLITZ] = sText_Extreme_Evoboost, + [MOVE_PULVERIZING_PANCAKE - MOVE_BREAKNECK_BLITZ] = sText_Pulverizing_Pancake, + [MOVE_GENESIS_SUPERNOVA - MOVE_BREAKNECK_BLITZ] = sText_Genesis_Supernova, + [MOVE_SINISTER_ARROW_RAID - MOVE_BREAKNECK_BLITZ] = sText_Sinister_Arrow_Raid, + [MOVE_MALICIOUS_MOONSAULT - MOVE_BREAKNECK_BLITZ] = sText_Malicious_Moonsault, + [MOVE_OCEANIC_OPERETTA - MOVE_BREAKNECK_BLITZ] = sText_Oceanic_Operetta, + [MOVE_SPLINTERED_STORMSHARDS - MOVE_BREAKNECK_BLITZ] = sText_Splintered_Stormshards, + [MOVE_LETS_SNUGGLE_FOREVER - MOVE_BREAKNECK_BLITZ] = sText_Lets_Snuggle_Forever, + [MOVE_CLANGOROUS_SOULBLAZE - MOVE_BREAKNECK_BLITZ] = sText_Clangorous_Soulblaze, + [MOVE_GUARDIAN_OF_ALOLA - MOVE_BREAKNECK_BLITZ] = sText_Guardian_Of_Alola, + [MOVE_SEARING_SUNRAZE_SMASH - MOVE_BREAKNECK_BLITZ] = sText_Searing_Sunraze_Smash, + [MOVE_MENACING_MOONRAZE_MAELSTROM - MOVE_BREAKNECK_BLITZ] = sText_Menacing_Moonraze_Maelstrom, + [MOVE_LIGHT_THAT_BURNS_THE_SKY - MOVE_BREAKNECK_BLITZ] = sText_Light_That_Burns_The_Sky, + [MOVE_SOUL_STEALING_7_STAR_STRIKE - MOVE_BREAKNECK_BLITZ] = sText_Soul_Stealing_7_Star_Strike, +}; diff --git a/src/graphics.c b/src/graphics.c index c7eff5237..ad7e11d82 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -281,8 +281,8 @@ const u32 gBattleAnimSpritePal_NewHandsAndFeet[] = INCBIN_U32("graphics/battle_a const u32 gBattleAnimSpriteGfx_Tornado[] = INCBIN_U32("graphics/battle_anims/sprites/new/tornado.4bpp.lz"); const u32 gBattleAnimSpritePal_Tornado[] = INCBIN_U32("graphics/battle_anims/sprites/new/tornado.gbapal.lz"); -const u32 gBattleAnimSpriteGfx_ZMoveSymbol[] = INCBIN_U32("graphics/battle_anims/sprites/new/z_move_symbol.4bpp.lz"); -const u32 gBattleAnimSpritePal_ZMoveSymbol[] = INCBIN_U32("graphics/battle_anims/sprites/new/z_move_symbol.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ZMoveSymbol[] = INCBIN_U8("graphics/battle_anims/sprites/new/z_move_symbol.4bpp.lz"); +const u32 gBattleAnimSpritePal_ZMoveSymbol[] = INCBIN_U16("graphics/battle_anims/sprites/new/z_move_symbol.gbapal.lz"); // Battle anims diff --git a/src/pokemon.c b/src/pokemon.c index 62dec3253..5f781faff 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -9,6 +9,7 @@ #include "battle_pyramid.h" #include "battle_setup.h" #include "battle_tower.h" +#include "battle_z_move.h" #include "data.h" #include "event_data.h" #include "evolution_scene.h"