diff --git a/include/constants/moves.h b/include/constants/moves.h index dc8bc59a3f..0b7c8421a3 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -910,7 +910,11 @@ #define MOVES_COUNT_GEN9 848 -#define MOVES_COUNT MOVES_COUNT_GEN9 +// Mystery Dungeon Moves +#define MOVE_WIDE_SLASH 848 +#define MOVE_VACUUM_CUT 849 + +#define MOVES_COUNT (MOVES_COUNT_GEN9 + 2) // Z Moves #define MOVE_BREAKNECK_BLITZ (MOVES_COUNT + 0) diff --git a/src/data/moves_info.h b/src/data/moves_info.h index 4ff3b71f4c..e0ae5efa00 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -20724,6 +20724,51 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .battleAnimScript = gBattleAnimMove_MalignantChain, }, + // Mystery Dungeon Moves + [MOVE_WIDE_SLASH] = + { + .name = COMPOUND_STRING("Wide Slash"), + .description = COMPOUND_STRING( + "Slashes with claws, etc.\n" + "Deals typeless damage."), + .effect = EFFECT_HIT, + .power = 100, + .type = TYPE_MYSTERY, + .accuracy = 85, + .pp = 10, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .category = DAMAGE_CATEGORY_PHYSICAL, + .makesContact = TRUE, + .slicingMove = TRUE, + .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .contestComboStarterId = 0, + .contestComboMoves = {0}, + .battleAnimScript = gBattleAnimMove_AirCutter, + }, + [MOVE_VACUUM_CUT] = + { + .name = COMPOUND_STRING("Vacuum-Cut"), + .description = COMPOUND_STRING( + "Attack that always inflicts\n" + "35 HP typeless damage."), + .effect = EFFECT_FIXED_DAMAGE_ARG, + .power = 1, + .type = TYPE_MYSTERY, + .accuracy = 100, + .pp = 10, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .category = DAMAGE_CATEGORY_SPECIAL, + .argument = 35, + .contestEffect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .contestComboStarterId = 0, + .contestComboMoves = {0}, + .battleAnimScript = gBattleAnimMove_AirCutter, + }, + // Z-Moves [MOVE_BREAKNECK_BLITZ] = { diff --git a/test/battle/move_effect/vacuum_cut.c b/test/battle/move_effect/vacuum_cut.c new file mode 100644 index 0000000000..272c387c7a --- /dev/null +++ b/test/battle/move_effect/vacuum_cut.c @@ -0,0 +1,14 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Vacuum-Cut attacks through Wonder Guard") +{ + GIVEN { + PLAYER(SPECIES_SHEDINJA) { Ability(ABILITY_WONDER_GUARD); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_VACUUM_CUT); } + } SCENE { + MESSAGE("Shedinja fainted!"); + } +} diff --git a/test/battle/move_effect/wide_slash.c b/test/battle/move_effect/wide_slash.c new file mode 100644 index 0000000000..efb83f5c5b --- /dev/null +++ b/test/battle/move_effect/wide_slash.c @@ -0,0 +1,14 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Wide Slash attacks through Wonder Guard") +{ + GIVEN { + PLAYER(SPECIES_SHEDINJA) { Ability(ABILITY_WONDER_GUARD); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_WIDE_SLASH); } + } SCENE { + MESSAGE("Shedinja fainted!"); + } +}