From 47259092e31145f2a2cc4a70f26a15bdfcfc40e2 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 14 Oct 2020 21:50:22 -0300 Subject: [PATCH] LGPE & Isle of Armor move data. --- data/battle_anim_scripts.s | 145 ++++++++- include/constants/moves.h | 113 ++++--- src/battle_debug.c | 2 +- src/data/battle_moves.h | 490 ++++++++++++++++++++++++++++++ src/data/text/move_descriptions.h | 180 ++++++++++- src/data/text/move_names.h | 35 +++ 6 files changed, 920 insertions(+), 45 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index d7353fe6e..370fa78db 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -692,6 +692,19 @@ gBattleAnims_Moves:: .4byte Move_MIND_BLOWN .4byte Move_PLASMA_FISTS .4byte Move_PHOTON_GEYSER + .4byte Move_ZIPPY_ZAP + .4byte Move_SPLISHY_SPLASH + .4byte Move_FLOATY_FALL + .4byte Move_PIKA_POW + .4byte Move_BOUNCY_BUBBLE + .4byte Move_BUZZY_BUZZ + .4byte Move_SIZZLY_SLIDE + .4byte Move_GLITZY_GLOW + .4byte Move_BADDY_BAD + .4byte Move_SAPPY_SEED + .4byte Move_FREEZY_FROST + .4byte Move_SPARKLY_SWIRL + .4byte Move_VEEVEE_VOLLEY .4byte Move_DOUBLE_IRON_BASH @@@@@@@@@@@@ GEN 8 @@@@@@@@@@@@ .4byte Move_DYNAMAX_CANNON @@ -702,7 +715,7 @@ gBattleAnims_Moves:: .4byte Move_TAR_SHOT .4byte Move_MAGIC_POWDER .4byte Move_DRAGON_DARTS - .4byte Move_TEA_TIME + .4byte Move_TEATIME .4byte Move_OCTOLOCK .4byte Move_BOLT_BEAK .4byte Move_FISHIOUS_REND @@ -729,7 +742,29 @@ gBattleAnims_Moves:: .4byte Move_METEOR_ASSAULT .4byte Move_ETERNA_BEAM .4byte Move_STEEL_BEAM - .4byte Move_COUNT @ cannot be reached, because last move is Psycho Boost + .4byte Move_EXPANDING_FORCE + .4byte Move_STEEL_ROLLER + .4byte Move_SCALE_SHOT + .4byte Move_METEOR_BEAM + .4byte Move_SHELL_SIDE_ARM + .4byte Move_MISTY_EXPLOSION + .4byte Move_GRASSY_GLIDE + .4byte Move_RISING_VOLTAGE + .4byte Move_TERRAIN_PULSE + .4byte Move_SKITTER_SMACK + .4byte Move_BURNING_JEALOUSY + .4byte Move_LASH_OUT + .4byte Move_POLTERGEIST + .4byte Move_CORROSIVE_GAS + .4byte Move_COACHING + .4byte Move_FLIP_TURN + .4byte Move_TRIPLE_AXEL + .4byte Move_DUAL_WINGBEAT + .4byte Move_SCORCHING_SANDS + .4byte Move_JUNGLE_HEALING + .4byte Move_WICKED_BLOW + .4byte Move_SURGING_STRIKES + .4byte Move_COUNT @ cannot be reached, because last move is Surging Strikes .align 2 gBattleAnims_StatusConditions:: @@ -13174,6 +13209,44 @@ PhotonGeyserBeam: launchtemplate gPhotonGeyserBeam 0x83, 0x6, 0, -77, ANIM_TARGET, 180, 2, 0 return +Move_ZIPPY_ZAP:: + end @to do: + +Move_SPLISHY_SPLASH:: + end @to do: + +Move_FLOATY_FALL:: + end @to do: + +Move_PIKA_POW:: + end @to do: + +Move_BOUNCY_BUBBLE:: + end @to do: + +Move_BUZZY_BUZZ:: + end @to do: + +Move_SIZZLY_SLIDE:: + end @to do: + +Move_GLITZY_GLOW:: + end @to do: + +Move_BADDY_BAD:: + end @to do: + +Move_SAPPY_SEED:: + end @to do: + +Move_FREEZY_FROST:: + end @to do: + +Move_SPARKLY_SWIRL:: + end @to do: + +Move_VEEVEE_VOLLEY:: + end @to do: Move_DOUBLE_IRON_BASH:: loadspritegfx ANIM_TAG_GUST @@ -13366,7 +13439,7 @@ Move_DRAGON_DARTS:: end -Move_TEA_TIME:: +Move_TEATIME:: goto Move_MILK_DRINK @@ -14048,6 +14121,72 @@ SteelBeamShards: launchtemplate gSteelBeamSpikeShardTemplate 0x80, 0x5 0xf 0xf 0x14 0xffec 0xfff6 delay 0x2 +Move_EXPANDING_FORCE:: + end @to do: + +Move_STEEL_ROLLER:: + end @to do: + +Move_SCALE_SHOT:: + end @to do: + +Move_METEOR_BEAM:: + end @to do: + +Move_SHELL_SIDE_ARM:: + end @to do: + +Move_MISTY_EXPLOSION:: + end @to do: + +Move_GRASSY_GLIDE:: + end @to do: + +Move_RISING_VOLTAGE:: + end @to do: + +Move_TERRAIN_PULSE:: + end @to do: + +Move_SKITTER_SMACK:: + end @to do: + +Move_BURNING_JEALOUSY:: + end @to do: + +Move_LASH_OUT:: + end @to do: + +Move_POLTERGEIST:: + end @to do: + +Move_CORROSIVE_GAS:: + end @to do: + +Move_COACHING:: + end @to do: + +Move_FLIP_TURN:: + end @to do: + +Move_TRIPLE_AXEL:: + end @to do: + +Move_DUAL_WINGBEAT:: + end @to do: + +Move_SCORCHING_SANDS:: + end @to do: + +Move_JUNGLE_HEALING:: + end @to do: + +Move_WICKED_BLOW:: + end @to do: + +Move_SURGING_STRIKES:: + end @to do: + @@@@@@@@@@@@@@@@@@@@@@@ GEN 1-3 @@@@@@@@@@@@@@@@@@@@@@@ Move_NONE: Move_MIRROR_MOVE: diff --git a/include/constants/moves.h b/include/constants/moves.h index e3438f5f2..a45392851 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -693,49 +693,84 @@ #define MOVE_MIND_BLOWN 673 #define MOVE_PLASMA_FISTS 674 #define MOVE_PHOTON_GEYSER 675 -#define MOVE_DOUBLE_IRON_BASH 676 +#define MOVE_ZIPPY_ZAP 676 +#define MOVE_SPLISHY_SPLASH 677 +#define MOVE_FLOATY_FALL 678 +#define MOVE_PIKA_POW 679 +#define MOVE_BOUNCY_BUBBLE 680 +#define MOVE_BUZZY_BUZZ 681 +#define MOVE_SIZZLY_SLIDE 682 +#define MOVE_GLITZY_GLOW 683 +#define MOVE_BADDY_BAD 684 +#define MOVE_SAPPY_SEED 685 +#define MOVE_FREEZY_FROST 686 +#define MOVE_SPARKLY_SWIRL 687 +#define MOVE_VEEVEE_VOLLEY 688 +#define MOVE_DOUBLE_IRON_BASH 689 -#define MOVES_COUNT_GEN7 677 +#define MOVES_COUNT_GEN7 690 // Gen 8 moves. -#define MOVE_DYNAMAX_CANNON (MOVES_COUNT_GEN7 + 0) -#define MOVE_SNIPE_SHOT (MOVES_COUNT_GEN7 + 1) -#define MOVE_JAW_LOCK (MOVES_COUNT_GEN7 + 2) -#define MOVE_STUFF_CHEEKS (MOVES_COUNT_GEN7 + 3) -#define MOVE_NO_RETREAT (MOVES_COUNT_GEN7 + 4) -#define MOVE_TAR_SHOT (MOVES_COUNT_GEN7 + 5) -#define MOVE_MAGIC_POWDER (MOVES_COUNT_GEN7 + 6) -#define MOVE_DRAGON_DARTS (MOVES_COUNT_GEN7 + 7) -#define MOVE_TEATIME (MOVES_COUNT_GEN7 + 8) -#define MOVE_OCTOLOCK (MOVES_COUNT_GEN7 + 9) -#define MOVE_BOLT_BEAK (MOVES_COUNT_GEN7 + 10) -#define MOVE_FISHIOUS_REND (MOVES_COUNT_GEN7 + 11) -#define MOVE_COURT_CHANGE (MOVES_COUNT_GEN7 + 12) -#define MOVE_CLANGOROUS_SOUL (MOVES_COUNT_GEN7 + 13) -#define MOVE_BODY_PRESS (MOVES_COUNT_GEN7 + 14) -#define MOVE_DECORATE (MOVES_COUNT_GEN7 + 15) -#define MOVE_DRUM_BEATING (MOVES_COUNT_GEN7 + 16) -#define MOVE_SNAP_TRAP (MOVES_COUNT_GEN7 + 17) -#define MOVE_PYRO_BALL (MOVES_COUNT_GEN7 + 18) -#define MOVE_BEHEMOTH_BLADE (MOVES_COUNT_GEN7 + 19) -#define MOVE_BEHEMOTH_BASH (MOVES_COUNT_GEN7 + 20) -#define MOVE_AURA_WHEEL (MOVES_COUNT_GEN7 + 21) -#define MOVE_BREAKING_SWIPE (MOVES_COUNT_GEN7 + 22) -#define MOVE_BRANCH_POKE (MOVES_COUNT_GEN7 + 23) -#define MOVE_OVERDRIVE (MOVES_COUNT_GEN7 + 24) -#define MOVE_APPLE_ACID (MOVES_COUNT_GEN7 + 25) -#define MOVE_GRAV_APPLE (MOVES_COUNT_GEN7 + 26) -#define MOVE_SPIRIT_BREAK (MOVES_COUNT_GEN7 + 27) -#define MOVE_STRANGE_STEAM (MOVES_COUNT_GEN7 + 28) -#define MOVE_LIFE_DEW (MOVES_COUNT_GEN7 + 29) -#define MOVE_OBSTRUCT (MOVES_COUNT_GEN7 + 30) -#define MOVE_FALSE_SURRENDER (MOVES_COUNT_GEN7 + 31) -#define MOVE_METEOR_ASSAULT (MOVES_COUNT_GEN7 + 32) -#define MOVE_ETERNABEAM (MOVES_COUNT_GEN7 + 33) -#define MOVE_STEEL_BEAM (MOVES_COUNT_GEN7 + 34) +#define MOVE_DYNAMAX_CANNON 690 +#define MOVE_SNIPE_SHOT 691 +#define MOVE_JAW_LOCK 692 +#define MOVE_STUFF_CHEEKS 693 +#define MOVE_NO_RETREAT 694 +#define MOVE_TAR_SHOT 695 +#define MOVE_MAGIC_POWDER 696 +#define MOVE_DRAGON_DARTS 697 +#define MOVE_TEATIME 698 +#define MOVE_OCTOLOCK 699 +#define MOVE_BOLT_BEAK 700 +#define MOVE_FISHIOUS_REND 701 +#define MOVE_COURT_CHANGE 702 +#define MOVE_CLANGOROUS_SOUL 703 +#define MOVE_BODY_PRESS 704 +#define MOVE_DECORATE 705 +#define MOVE_DRUM_BEATING 706 +#define MOVE_SNAP_TRAP 707 +#define MOVE_PYRO_BALL 708 +#define MOVE_BEHEMOTH_BLADE 709 +#define MOVE_BEHEMOTH_BASH 710 +#define MOVE_AURA_WHEEL 711 +#define MOVE_BREAKING_SWIPE 712 +#define MOVE_BRANCH_POKE 713 +#define MOVE_OVERDRIVE 714 +#define MOVE_APPLE_ACID 715 +#define MOVE_GRAV_APPLE 716 +#define MOVE_SPIRIT_BREAK 717 +#define MOVE_STRANGE_STEAM 718 +#define MOVE_LIFE_DEW 719 +#define MOVE_OBSTRUCT 720 +#define MOVE_FALSE_SURRENDER 721 +#define MOVE_METEOR_ASSAULT 722 +#define MOVE_ETERNABEAM 723 +#define MOVE_STEEL_BEAM 724 +#define MOVE_EXPANDING_FORCE 725 +#define MOVE_STEEL_ROLLER 726 +#define MOVE_SCALE_SHOT 727 +#define MOVE_METEOR_BEAM 728 +#define MOVE_SHELL_SIDE_ARM 729 +#define MOVE_MISTY_EXPLOSION 730 +#define MOVE_GRASSY_GLIDE 731 +#define MOVE_RISING_VOLTAGE 732 +#define MOVE_TERRAIN_PULSE 733 +#define MOVE_SKITTER_SMACK 734 +#define MOVE_BURNING_JEALOUSY 735 +#define MOVE_LASH_OUT 736 +#define MOVE_POLTERGEIST 737 +#define MOVE_CORROSIVE_GAS 738 +#define MOVE_COACHING 739 +#define MOVE_FLIP_TURN 740 +#define MOVE_TRIPLE_AXEL 741 +#define MOVE_DUAL_WINGBEAT 742 +#define MOVE_SCORCHING_SANDS 743 +#define MOVE_JUNGLE_HEALING 744 +#define MOVE_WICKED_BLOW 745 +#define MOVE_SURGING_STRIKES 746 -#define MOVES_COUNT_GEN8 (MOVES_COUNT_GEN7 + 35) +#define MOVES_COUNT_GEN8 747 -#define MOVES_COUNT MOVES_COUNT_GEN8 +#define MOVES_COUNT MOVES_COUNT_GEN8 #endif // GUARD_CONSTANTS_MOVES_H diff --git a/src/battle_debug.c b/src/battle_debug.c index 4cfd9be54..f65fc9ba0 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -1456,7 +1456,7 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data) break; case LIST_ITEM_MOVES: data->modifyArrows.minValue = 0; - data->modifyArrows.maxValue = MOVES_COUNT_GEN7 - 1; + data->modifyArrows.maxValue = MOVES_COUNT_GEN8 - 1; data->modifyArrows.maxDigits = 3; if (data->currentSecondaryListItemId == 4) { diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 2582272bb..12abc0881 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -9486,6 +9486,188 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .split = SPLIT_SPECIAL, }, + [MOVE_ZIPPY_ZAP] = + { + .effect = EFFECT_ALWAYS_CRIT, + .power = 50, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 2, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED, + .split = SPLIT_PHYSICAL, + }, + + [MOVE_SPLISHY_SPLASH] = + { + .effect = EFFECT_PARALYZE_HIT, + .power = 90, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + .split = SPLIT_SPECIAL, + }, + + [MOVE_FLOATY_FALL] = + { + .effect = EFFECT_FLINCH_HIT, + .power = 90, + .type = TYPE_FLYING, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED, + .split = SPLIT_PHYSICAL, + }, + + [MOVE_PIKA_POW] = + { + .effect = EFFECT_RETURN, + .power = 1, + .type = TYPE_FLYING, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .split = SPLIT_SPECIAL, + }, + + [MOVE_BOUNCY_BUBBLE] = + { + .effect = EFFECT_ABSORB, + .power = 90, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .split = SPLIT_SPECIAL, + }, + + [MOVE_BUZZY_BUZZ] = + { + .effect = EFFECT_PARALYZE_HIT, + .power = 90, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .split = SPLIT_SPECIAL, + }, + + [MOVE_SIZZLY_SLIDE] = + { + .effect = EFFECT_BURN_HIT, + .power = 90, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + }, + + [MOVE_GLITZY_GLOW] = + { + .effect = EFFECT_PLACEHOLDER, //TODO (Light Screen + Hit) + .power = 90, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .split = SPLIT_SPECIAL, + }, + + [MOVE_BADDY_BAD] = + { + .effect = EFFECT_PLACEHOLDER, //TODO (Reflect + Hit) + .power = 90, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .split = SPLIT_SPECIAL, + }, + + [MOVE_SAPPY_SEED] = + { + .effect = EFFECT_PLACEHOLDER, //TODO (Leech Seed + Hit) + .power = 90, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED, + .split = SPLIT_PHYSICAL, + }, + + [MOVE_FREEZY_FROST] = + { + .effect = EFFECT_PLACEHOLDER, //TODO (Haze + Hit) + .power = 90, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .split = SPLIT_SPECIAL, + }, + + [MOVE_SPARKLY_SWIRL] = + { + .effect = EFFECT_PLACEHOLDER, //TODO (Heal Bell + Hit) + .power = 90, + .type = TYPE_FAIRY, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .split = SPLIT_SPECIAL, + }, + + [MOVE_VEEVEE_VOLLEY] = + { + .effect = EFFECT_RETURN, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + }, + [MOVE_DOUBLE_IRON_BASH] = { .effect = EFFECT_FLINCH_HIT, @@ -9990,4 +10172,312 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .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_ELECTRIC, + .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_FOES_AND_ALLY, + .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 = FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + .split = SPLIT_STATUS, + }, + + [MOVE_FLIP_TURN] = + { + .effect = EFFECT_PLACEHOLDER, //TODO (U-Turn?) + .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_PLACEHOLDER, //TODO + .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, + .argument = TRUE, // Protects the whole side. + }, + + [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, + .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, + .split = SPLIT_PHYSICAL, + }, }; diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h index 573c8785f..8fa84f95d 100644 --- a/src/data/text/move_descriptions.h +++ b/src/data/text/move_descriptions.h @@ -2618,9 +2618,61 @@ static const u8 sPLASMA_FISTSDescription[] = _( "Normal moves become Electric."); static const u8 sPHOTON_GEYSERDescription[] = _( - "The foe's highest offensive\n" + "The user's highest offensive\n" "determines its category."); +static const u8 sZIPPY_ZAPDescription[] = _( + "An attack that is always goes\n" + "first with a critical hit."); + +static const u8 sSPLISHY_SPLASHDescription[] = _( + "A huge electrified wave that\n" + "may paralyze the foe."); + +static const u8 sFLOATY_FALLDescription[] = _( + "Floats in the air to fall as\n" + "an attack. May cause flinch."); + +static const u8 sPIKA_POWDescription[] = _( + "Pikachu's love increases its\n" + "power. It never misses."); + +static const u8 sBOUNCY_BUBBLEDescription[] = _( + "An attack that absorbs\n" + "half the damage inflicted."); + +static const u8 sBUZZY_BUZZDescription[] = _( + "Shoots a jolt of electricity\n" + "that always paralyzes."); + +static const u8 sSIZZLY_SLIDEDescription[] = _( + "Cloaks itself in fire to\n" + "charge, burning the target."); + +static const u8 sGLITZY_GLOWDescription[] = _( + "Creates a Light Screen after\n" + "a telekinetic attack."); + +static const u8 sBADDY_BADDescription[] = _( + "Creates a Reflect wall after\n" + "acting bad and attacking."); + +static const u8 sSAPPY_SEEDDescription[] = _( + "Grows a stalk that spreads\n" + "damaging Leech Seeds."); + +static const u8 sFREEZY_FROSTDescription[] = _( + "A frozen haze attack that\n" + "eliminates all stat changes."); + +static const u8 sSPARKLY_SWIRLDescription[] = _( + "Heals all status problems\n" + "with a whirlwind of scent."); + +static const u8 sVEEVEE_VOLLEYDescription[] = _( + "Eevee's love increases its\n" + "power. It never misses."); + static const u8 sDOUBLE_IRON_BASHDescription[] = _( "The user spins and hits with\n" "its arms. May cause flinch."); @@ -2766,10 +2818,97 @@ static const u8 sSTEEL_BEAMDescription[] = _( "Fires a beam of steel from\n" "its body. It hurts the user."); +static const u8 sEXPANDING_FORCEDescription[] = _( + "A Psychic attack that's more\n" + "powerful in Psychic Terrain."); + +static const u8 sSTEEL_ROLLERDescription[] = _( + "Destroys the current terrain." + "Otherwise, it fails."); + +static const u8 sSCALE_SHOTDescription[] = _( + "Shoots scales 2 to 5 times.\n" + "Ups Speed, lowers defense."); + +static const u8 sMETEOR_BEAMDescription[] = _( + "A 2-turn move that raises\n" + "Sp. Attack before attacking."); + +static const u8 sSHELL_SIDE_ARMDescription[] = _( + "Its category depends on\n" + "which one will damage more."); + +static const u8 sMISTY_EXPLOSIONDescription[] = _( + "Boosted by Misty Terrain, it\n" + "makes the user faint."); + +static const u8 sGRASSY_GLIDEDescription[] = _( + "On Grassy Terrain, the user\n" + "will always strike first."); + +static const u8 sRISING_VOLTAGEDescription[] = _( + "Its power doubles while\n" + "on Electric Terrain."); + +static const u8 sTERRAIN_PULSEDescription[] = _( + "Type changes depending on\n" + "terrain. Power also doubles."); + +static const u8 sSKITTER_SMACKDescription[] = _( + "User skitters behind target\n" + "to attack. Lowers Sp. Atk."); + +static const u8 sBURNING_JEALOUSYDescription[] = _( + "Burns whoever their stats\n" + "raised on the same turn."); + +static const u8 sLASH_OUTDescription[] = _( + "Power doubles if stats were\n" + "lowered on the same turn."); + +static const u8 sPOLTERGEISTDescription[] = _( + "Only works if the target\n" + "is holding an item."); + +static const u8 sCORROSIVE_GASDescription[] = _( + "Melts all surrounding items\n" + "with highly acidic gas."); + +static const u8 sCOACHINGDescription[] = _( + "The user coaches an ally to\n" + "raise their Atk. and Def."); + +static const u8 sFLIP_TURNDescription[] = _( + "Does damage then switches\n" + "out the user."); + +static const u8 sTRIPLE_AXELDescription[] = _( + "A 3-kick attack that gets\n" + "stronger on each hit."); + +static const u8 sDUAL_WINGBEATDescription[] = _( + "The user uses its wings to\n" + "slam the target twice."); + +static const u8 sSCORCHING_SANDSDescription[] = _( + "It throws scorching sand\n" + "that may burn the target."); + +static const u8 sJUNGLE_HEALINGDescription[] = _( + "Becomes one with the jungle\n" + "to heal the team's health."); + +static const u8 sWICKED_BLOWDescription[] = _( + "By mastering the Dark style,\n" + "always does a critical hit."); + +static const u8 sSURGING_STRIKESDescription[] = _( + "The Water style allows to\n" + "do 3 critical hits in a row."); + static const u8 sNotDoneYetDescription[] = _( "Not done yet."); - // MOVE_NONE is ignored in this table. Make sure to always subtract 1 before getting the right pointer. const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] = { @@ -3448,7 +3587,21 @@ const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] = [MOVE_MIND_BLOWN - 1] = sMIND_BLOWNDescription, [MOVE_PLASMA_FISTS - 1] = sPLASMA_FISTSDescription, [MOVE_PHOTON_GEYSER - 1] = sPHOTON_GEYSERDescription, + [MOVE_ZIPPY_ZAP - 1] = sZIPPY_ZAPDescription, + [MOVE_SPLISHY_SPLASH - 1] = sSPLISHY_SPLASHDescription, + [MOVE_FLOATY_FALL - 1] = sFLOATY_FALLDescription, + [MOVE_PIKA_POW - 1] = sPIKA_POWDescription, + [MOVE_BOUNCY_BUBBLE - 1] = sBOUNCY_BUBBLEDescription, + [MOVE_BUZZY_BUZZ - 1] = sBUZZY_BUZZDescription, + [MOVE_SIZZLY_SLIDE - 1] = sSIZZLY_SLIDEDescription, + [MOVE_GLITZY_GLOW - 1] = sGLITZY_GLOWDescription, + [MOVE_BADDY_BAD - 1] = sBADDY_BADDescription, + [MOVE_SAPPY_SEED - 1] = sSAPPY_SEEDDescription, + [MOVE_FREEZY_FROST - 1] = sFREEZY_FROSTDescription, + [MOVE_SPARKLY_SWIRL - 1] = sSPARKLY_SWIRLDescription, + [MOVE_VEEVEE_VOLLEY - 1] = sVEEVEE_VOLLEYDescription, [MOVE_DOUBLE_IRON_BASH - 1] = sDOUBLE_IRON_BASHDescription, + //GEN 8 [MOVE_DYNAMAX_CANNON - 1] = sDYNAMAX_CANNONDescription, [MOVE_SNIPE_SHOT - 1] = sSNIPE_SHOTDescription, @@ -3485,4 +3638,27 @@ const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] = [MOVE_METEOR_ASSAULT - 1] = sMETEOR_ASSAULTDescription, [MOVE_ETERNABEAM - 1] = sETERNABEAMDescription, [MOVE_STEEL_BEAM - 1] = sSTEEL_BEAMDescription, + [MOVE_EXPANDING_FORCE - 1] = sEXPANDING_FORCEDescription, + [MOVE_STEEL_ROLLER - 1] = sSTEEL_ROLLERDescription, + [MOVE_SCALE_SHOT - 1] = sSCALE_SHOTDescription, + [MOVE_METEOR_BEAM - 1] = sMETEOR_BEAMDescription, + [MOVE_SHELL_SIDE_ARM - 1] = sSHELL_SIDE_ARMDescription, + [MOVE_MISTY_EXPLOSION - 1] = sMISTY_EXPLOSIONDescription, + [MOVE_GRASSY_GLIDE - 1] = sGRASSY_GLIDEDescription, + [MOVE_RISING_VOLTAGE - 1] = sRISING_VOLTAGEDescription, + [MOVE_TERRAIN_PULSE - 1] = sTERRAIN_PULSEDescription, + [MOVE_SKITTER_SMACK - 1] = sSKITTER_SMACKDescription, + [MOVE_BURNING_JEALOUSY - 1] = sBURNING_JEALOUSYDescription, + [MOVE_LASH_OUT - 1] = sLASH_OUTDescription, + [MOVE_POLTERGEIST - 1] = sPOLTERGEISTDescription, + [MOVE_CORROSIVE_GAS - 1] = sCORROSIVE_GASDescription, + [MOVE_COACHING - 1] = sCOACHINGDescription, + [MOVE_FLIP_TURN - 1] = sFLIP_TURNDescription, + [MOVE_TRIPLE_AXEL - 1] = sTRIPLE_AXELDescription, + [MOVE_DUAL_WINGBEAT - 1] = sDUAL_WINGBEATDescription, + [MOVE_SCORCHING_SANDS - 1] = sSCORCHING_SANDSDescription, + [MOVE_JUNGLE_HEALING - 1] = sJUNGLE_HEALINGDescription, + [MOVE_WICKED_BLOW - 1] = sWICKED_BLOWDescription, + [MOVE_SURGING_STRIKES - 1] = sSURGING_STRIKESDescription, + }; diff --git a/src/data/text/move_names.h b/src/data/text/move_names.h index 2b56c0641..26be0f8e4 100644 --- a/src/data/text/move_names.h +++ b/src/data/text/move_names.h @@ -676,6 +676,19 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] = [MOVE_MIND_BLOWN] = _("Mind Blown"), [MOVE_PLASMA_FISTS] = _("Plasma Fists"), [MOVE_PHOTON_GEYSER] = _("PhotonGeyser"), + [MOVE_ZIPPY_ZAP] = _("Zippy Zap"), + [MOVE_SPLISHY_SPLASH] = _("SplishSplash"), + [MOVE_FLOATY_FALL] = _("Floaty Fall"), + [MOVE_PIKA_POW] = _("Pika Pow"), + [MOVE_BOUNCY_BUBBLE] = _("BouncyBubble"), + [MOVE_BUZZY_BUZZ] = _("Buzzy Buzz"), + [MOVE_SIZZLY_SLIDE] = _("Sizzly Slide"), + [MOVE_GLITZY_GLOW] = _("Glitzy Glow"), + [MOVE_BADDY_BAD] = _("Baddy Bad"), + [MOVE_SAPPY_SEED] = _("Sappy Seed"), + [MOVE_FREEZY_FROST] = _("Freezy Frost"), + [MOVE_SPARKLY_SWIRL] = _("SparklySwirl"), + [MOVE_VEEVEE_VOLLEY] = _("VeeveeVolley"), [MOVE_DOUBLE_IRON_BASH] = _("D. Iron Bash"), //GEN 8 [MOVE_DYNAMAX_CANNON] = _("Dyna Cannon"), @@ -713,4 +726,26 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] = [MOVE_METEOR_ASSAULT] = _("Meteor Ass."), [MOVE_ETERNABEAM] = _("Eternabeam"), [MOVE_STEEL_BEAM] = _("Steel Beam"), + [MOVE_EXPANDING_FORCE] = _("Expand Force"), + [MOVE_STEEL_ROLLER] = _("Steel Roller"), + [MOVE_SCALE_SHOT] = _("Scale Shot"), + [MOVE_METEOR_BEAM] = _("Meteor Beam"), + [MOVE_SHELL_SIDE_ARM] = _("Shell S. Arm"), + [MOVE_MISTY_EXPLOSION] = _("Misty Explos"), + [MOVE_GRASSY_GLIDE] = _("Grassy Glide"), + [MOVE_RISING_VOLTAGE] = _("Rise Voltage"), + [MOVE_TERRAIN_PULSE] = _("TerrainPulse"), + [MOVE_SKITTER_SMACK] = _("SkitterSmack"), + [MOVE_BURNING_JEALOUSY] = _("BurnJealousy"), + [MOVE_LASH_OUT] = _("Lash Out"), + [MOVE_POLTERGEIST] = _("Poltergeist"), + [MOVE_CORROSIVE_GAS] = _("CorrosiveGas"), + [MOVE_COACHING] = _("Coaching"), + [MOVE_FLIP_TURN] = _("Flip Turn"), + [MOVE_TRIPLE_AXEL] = _("Triple Axel"), + [MOVE_DUAL_WINGBEAT] = _("DualWingbeat"), + [MOVE_SCORCHING_SANDS] = _("Scorch Sands"), + [MOVE_JUNGLE_HEALING] = _("Jungle Heal"), + [MOVE_WICKED_BLOW] = _("Wicked Blow"), + [MOVE_SURGING_STRIKES] = _("SurgeStrikes"), };