Metronome move fix (#3852)
* Draft Indigo Disk move data * Add basic defines (flags, targets and priority missing) * Update move flags * Temper Flare is Stomping Tantrum * Fix failing tests * Disable Burning Bulwark for now
This commit is contained in:
parent
41ff985bb6
commit
fde3fc0a52
@ -860,21 +860,21 @@ gBattleAnims_Moves::
|
||||
.4byte Move_MATCHA_GOTCHA
|
||||
.4byte Move_SYRUP_BOMB
|
||||
.4byte Move_IVY_CUDGEL
|
||||
.4byte Move_833
|
||||
.4byte Move_834
|
||||
.4byte Move_835
|
||||
.4byte Move_836
|
||||
.4byte Move_837
|
||||
.4byte Move_838
|
||||
.4byte Move_839
|
||||
.4byte Move_840
|
||||
.4byte Move_841
|
||||
.4byte Move_842
|
||||
.4byte Move_843
|
||||
.4byte Move_844
|
||||
.4byte Move_845
|
||||
.4byte Move_846
|
||||
.4byte Move_847
|
||||
.4byte Move_ELECTRO_SHOT
|
||||
.4byte Move_TERA_STARSTORM
|
||||
.4byte Move_FICKLE_BEAM
|
||||
.4byte Move_BURNING_BULWARK
|
||||
.4byte Move_THUNDERCLAP
|
||||
.4byte Move_MIGHTY_CLEAVE
|
||||
.4byte Move_TACHYON_CUTTER
|
||||
.4byte Move_HARD_PRESS
|
||||
.4byte Move_DRAGON_CHEER
|
||||
.4byte Move_ALLURING_VOICE
|
||||
.4byte Move_TEMPER_FLARE
|
||||
.4byte Move_SUPERCELL_SLAM
|
||||
.4byte Move_PSYCHIC_NOISE
|
||||
.4byte Move_UPPER_HAND
|
||||
.4byte Move_MALIGNANT_CHAIN
|
||||
@@@@ Z MOVES
|
||||
.4byte Move_BREAKNECK_BLITZ
|
||||
.4byte Move_ALL_OUT_PUMMELING
|
||||
@ -16972,6 +16972,21 @@ Move_HYDRO_STEAM::
|
||||
Move_BLOOD_MOON::
|
||||
Move_MATCHA_GOTCHA::
|
||||
Move_IVY_CUDGEL::
|
||||
Move_ELECTRO_SHOT::
|
||||
Move_TERA_STARSTORM::
|
||||
Move_FICKLE_BEAM::
|
||||
Move_BURNING_BULWARK::
|
||||
Move_THUNDERCLAP::
|
||||
Move_MIGHTY_CLEAVE::
|
||||
Move_TACHYON_CUTTER::
|
||||
Move_HARD_PRESS::
|
||||
Move_DRAGON_CHEER::
|
||||
Move_ALLURING_VOICE::
|
||||
Move_TEMPER_FLARE::
|
||||
Move_SUPERCELL_SLAM::
|
||||
Move_PSYCHIC_NOISE::
|
||||
Move_UPPER_HAND::
|
||||
Move_MALIGNANT_CHAIN::
|
||||
end @to do
|
||||
|
||||
@@@@@@@@@@@@@@@@@@@@@@@ GEN 1-3 @@@@@@@@@@@@@@@@@@@@@@@
|
||||
|
||||
@ -111,6 +111,7 @@
|
||||
#define B_WIDE_GUARD GEN_LATEST // In Gen5 only, Quick Guard has a chance to fail if used consecutively.
|
||||
#define B_QUICK_GUARD GEN_LATEST // In Gen5 only, Wide Guard has a chance to fail if used consecutively.
|
||||
#define B_IMPRISON GEN_LATEST // In Gen5+, Imprison doesn't fail if opposing pokemon don't have any moves the user knows.
|
||||
#define B_SKETCH_BANS GEN_LATEST // In Gen9+, Sketch is unable to copy more moves than in previous generations.
|
||||
|
||||
// Ability settings
|
||||
#define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters.
|
||||
|
||||
@ -886,25 +886,27 @@
|
||||
#define MOVE_MAGICAL_TORQUE 826
|
||||
#define MOVE_PSYBLADE 827
|
||||
#define MOVE_HYDRO_STEAM 828
|
||||
// The Teal Mask Moves
|
||||
#define MOVE_BLOOD_MOON 829
|
||||
#define MOVE_MATCHA_GOTCHA 830
|
||||
#define MOVE_SYRUP_BOMB 831
|
||||
#define MOVE_IVY_CUDGEL 832
|
||||
#define MOVE_833 833
|
||||
#define MOVE_834 834
|
||||
#define MOVE_835 835
|
||||
#define MOVE_836 836
|
||||
#define MOVE_837 837
|
||||
#define MOVE_838 838
|
||||
#define MOVE_839 839
|
||||
#define MOVE_840 840
|
||||
#define MOVE_841 841
|
||||
#define MOVE_842 842
|
||||
#define MOVE_843 843
|
||||
#define MOVE_844 844
|
||||
#define MOVE_845 845
|
||||
#define MOVE_846 846
|
||||
#define MOVE_847 847
|
||||
// The Indigo Disk Moves
|
||||
#define MOVE_ELECTRO_SHOT 833
|
||||
#define MOVE_TERA_STARSTORM 834
|
||||
#define MOVE_FICKLE_BEAM 835
|
||||
#define MOVE_BURNING_BULWARK 836
|
||||
#define MOVE_THUNDERCLAP 837
|
||||
#define MOVE_MIGHTY_CLEAVE 838
|
||||
#define MOVE_TACHYON_CUTTER 839
|
||||
#define MOVE_HARD_PRESS 840
|
||||
#define MOVE_DRAGON_CHEER 841
|
||||
#define MOVE_ALLURING_VOICE 842
|
||||
#define MOVE_TEMPER_FLARE 843
|
||||
#define MOVE_SUPERCELL_SLAM 844
|
||||
#define MOVE_PSYCHIC_NOISE 845
|
||||
#define MOVE_UPPER_HAND 846
|
||||
#define MOVE_MALIGNANT_CHAIN 847
|
||||
|
||||
#define MOVES_COUNT_GEN9 848
|
||||
|
||||
|
||||
@ -461,6 +461,7 @@ struct BattleMove
|
||||
u32 encoreBanned:1;
|
||||
u32 parentalBondBanned:1;
|
||||
u32 skyBattleBanned:1;
|
||||
u32 sketchBanned:1;
|
||||
};
|
||||
|
||||
#define SPINDA_SPOT_WIDTH 16
|
||||
|
||||
@ -12650,10 +12650,8 @@ static void Cmd_copymovepermanently(void)
|
||||
gChosenMove = MOVE_UNAVAILABLE;
|
||||
|
||||
if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED)
|
||||
&& gLastPrintedMoves[gBattlerTarget] != MOVE_STRUGGLE
|
||||
&& gLastPrintedMoves[gBattlerTarget] != MOVE_NONE
|
||||
&& gLastPrintedMoves[gBattlerTarget] != MOVE_UNAVAILABLE
|
||||
&& gLastPrintedMoves[gBattlerTarget] != MOVE_SKETCH)
|
||||
&& !gBattleMoves[gLastPrintedMoves[gBattlerTarget]].sketchBanned)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
|
||||
@ -13,6 +13,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.split = SPLIT_PHYSICAL,
|
||||
.metronomeBanned = TRUE,
|
||||
.mirrorMoveBanned = TRUE,
|
||||
.sketchBanned = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_POUND] =
|
||||
@ -2951,6 +2952,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.instructBanned = TRUE,
|
||||
.encoreBanned = TRUE,
|
||||
.assistBanned = TRUE,
|
||||
.sketchBanned = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_SKETCH] =
|
||||
@ -2975,6 +2977,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.instructBanned = TRUE,
|
||||
.encoreBanned = TRUE,
|
||||
.assistBanned = TRUE,
|
||||
.sketchBanned = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_TRIPLE_KICK] =
|
||||
@ -3176,6 +3179,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.highCritRatio = TRUE,
|
||||
.windMove = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_COTTON_SPORE] =
|
||||
@ -5290,7 +5294,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
[MOVE_LUSTER_PURGE] =
|
||||
{
|
||||
.effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
|
||||
.power = 70,
|
||||
.power = (B_UPDATED_MOVE_DATA >= GEN_9) ? 95 : 70,
|
||||
.type = TYPE_PSYCHIC,
|
||||
.accuracy = 100,
|
||||
.pp = 5,
|
||||
@ -5305,7 +5309,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
[MOVE_MIST_BALL] =
|
||||
{
|
||||
.effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT,
|
||||
.power = 70,
|
||||
.power = (B_UPDATED_MOVE_DATA >= GEN_9) ? 95 : 70,
|
||||
.type = TYPE_PSYCHIC,
|
||||
.accuracy = 100,
|
||||
.pp = 5,
|
||||
@ -8191,6 +8195,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.split = SPLIT_STATUS,
|
||||
.zMoveEffect = Z_EFFECT_RESET_STATS,
|
||||
.magicCoatAffected = TRUE,
|
||||
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
||||
},
|
||||
|
||||
[MOVE_SEED_FLARE] =
|
||||
@ -10849,6 +10854,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.ignoresProtect = TRUE,
|
||||
.ignoresSubstitute = TRUE,
|
||||
.metronomeBanned = TRUE,
|
||||
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
||||
},
|
||||
|
||||
[MOVE_SHORE_UP] =
|
||||
@ -13758,6 +13764,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.ignoresProtect = TRUE,
|
||||
.mirrorMoveBanned = TRUE,
|
||||
.metronomeBanned = TRUE,
|
||||
.healBlockBanned = TRUE,
|
||||
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
||||
},
|
||||
|
||||
[MOVE_SALT_CURE] =
|
||||
@ -14179,7 +14187,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.makesContact = TRUE,
|
||||
.slicingMove = TRUE,
|
||||
.healBlockBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
||||
.healBlockBanned = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_DOUBLE_SHOCK] =
|
||||
@ -14268,6 +14276,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.instructBanned = TRUE,
|
||||
.encoreBanned = TRUE,
|
||||
.assistBanned = TRUE,
|
||||
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
||||
},
|
||||
|
||||
[MOVE_WICKED_TORQUE] =
|
||||
@ -14292,6 +14301,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.instructBanned = TRUE,
|
||||
.encoreBanned = TRUE,
|
||||
.assistBanned = TRUE,
|
||||
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
||||
},
|
||||
|
||||
[MOVE_NOXIOUS_TORQUE] =
|
||||
@ -14316,6 +14326,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.instructBanned = TRUE,
|
||||
.encoreBanned = TRUE,
|
||||
.assistBanned = TRUE,
|
||||
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
||||
},
|
||||
|
||||
[MOVE_COMBAT_TORQUE] =
|
||||
@ -14340,6 +14351,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.instructBanned = TRUE,
|
||||
.encoreBanned = TRUE,
|
||||
.assistBanned = TRUE,
|
||||
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
||||
},
|
||||
|
||||
[MOVE_MAGICAL_TORQUE] =
|
||||
@ -14364,6 +14376,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.instructBanned = TRUE,
|
||||
.encoreBanned = TRUE,
|
||||
.assistBanned = TRUE,
|
||||
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
||||
},
|
||||
|
||||
[MOVE_PSYBLADE] =
|
||||
@ -14426,7 +14439,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.thawsUser = TRUE,
|
||||
.metronomeBanned = TRUE,
|
||||
.healBlockBanned = B_EXTRAPOLATED_MOVE_FLAGS,
|
||||
.healBlockBanned = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_SYRUP_BOMB] =
|
||||
@ -14462,6 +14475,240 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
||||
.metronomeBanned = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_ELECTRO_SHOT] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, //EFFECT_ELECTRO_SHOT
|
||||
.power = 130,
|
||||
.type = TYPE_ELECTRIC,
|
||||
.accuracy = 100,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
//.sheerForceBoost = TRUE, (uncomment when effect is implemented, otherwise it breaks the Sheer Force Test)
|
||||
},
|
||||
|
||||
[MOVE_TERA_STARSTORM] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, //EFFECT_TERA_STARSTORM
|
||||
.power = 120,
|
||||
.type = TYPE_NORMAL, // Stellar type if used by Terapagos-Stellar
|
||||
.accuracy = 100,
|
||||
.pp = 5,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED, // MOVE_TARGET_BOTH if used by Terapagos-Stellar
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.assistBanned = TRUE,
|
||||
.copycatBanned = TRUE,
|
||||
.mimicBanned = TRUE,
|
||||
.sketchBanned = (B_SKETCH_BANS >= GEN_9),
|
||||
},
|
||||
|
||||
[MOVE_FICKLE_BEAM] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, //EFFECT_FICKLE_BEAM
|
||||
.power = 80,
|
||||
.type = TYPE_DRAGON,
|
||||
.accuracy = 100,
|
||||
.pp = 5,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
},
|
||||
|
||||
[MOVE_BURNING_BULWARK] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, // EFFECT_PROTECT with effects
|
||||
.power = 0,
|
||||
.type = TYPE_FIRE,
|
||||
.accuracy = 0,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_USER,
|
||||
.priority = 4,
|
||||
.split = SPLIT_STATUS,
|
||||
.zMoveEffect = Z_EFFECT_DEF_UP_1,
|
||||
.protectionMove = TRUE,
|
||||
.ignoresProtect = TRUE,
|
||||
.mirrorMoveBanned = TRUE,
|
||||
.metronomeBanned = TRUE,
|
||||
.copycatBanned = TRUE,
|
||||
.assistBanned = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_THUNDERCLAP] =
|
||||
{
|
||||
.effect = EFFECT_SUCKER_PUNCH,
|
||||
.power = 70,
|
||||
.type = TYPE_ELECTRIC,
|
||||
.accuracy = 100,
|
||||
.pp = 5,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 1,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
},
|
||||
|
||||
[MOVE_MIGHTY_CLEAVE] =
|
||||
{
|
||||
.effect = EFFECT_FEINT,
|
||||
.power = 95,
|
||||
.type = TYPE_ROCK,
|
||||
.accuracy = 100,
|
||||
.pp = 5,
|
||||
.secondaryEffectChance = 100,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.makesContact = TRUE,
|
||||
.slicingMove = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_TACHYON_CUTTER] =
|
||||
{
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 50,
|
||||
.type = TYPE_STEEL,
|
||||
.accuracy = 0,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.strikeCount = 2,
|
||||
.slicingMove = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_HARD_PRESS] =
|
||||
{
|
||||
.effect = EFFECT_WRING_OUT,
|
||||
.power = 1,
|
||||
.type = TYPE_STEEL,
|
||||
.accuracy = 100,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.makesContact = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_DRAGON_CHEER] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, //EFFECT_DRAGON_CHEER
|
||||
.power = 0,
|
||||
.type = TYPE_DRAGON,
|
||||
.accuracy = 0,
|
||||
.pp = 15,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_ALLY,
|
||||
.priority = 0,
|
||||
.split = SPLIT_STATUS,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.ignoresSubstitute = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_ALLURING_VOICE] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, //EFFECT_ALLURING_VOICE
|
||||
.power = 80,
|
||||
.type = TYPE_FAIRY,
|
||||
.accuracy = 100,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.soundMove = TRUE,
|
||||
.ignoresSubstitute = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_TEMPER_FLARE] =
|
||||
{
|
||||
.effect = EFFECT_STOMPING_TANTRUM,
|
||||
.power = 75,
|
||||
.type = TYPE_FIRE,
|
||||
.accuracy = 100,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.makesContact = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_SUPERCELL_SLAM] =
|
||||
{
|
||||
.effect = EFFECT_RECOIL_IF_MISS,
|
||||
.power = 100,
|
||||
.type = TYPE_ELECTRIC,
|
||||
.accuracy = 95,
|
||||
.pp = 15,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.makesContact = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_PSYCHIC_NOISE] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, //EFFECT_PSYCHIC_NOISE
|
||||
.power = 75,
|
||||
.type = TYPE_PSYCHIC,
|
||||
.accuracy = 100,
|
||||
.pp = 10,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.soundMove = TRUE,
|
||||
.ignoresSubstitute = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_UPPER_HAND] =
|
||||
{
|
||||
.effect = EFFECT_PLACEHOLDER, //EFFECT_UPPER_HAND
|
||||
.power = 65,
|
||||
.type = TYPE_FIGHTING,
|
||||
.accuracy = 100,
|
||||
.pp = 15,
|
||||
.secondaryEffectChance = 0,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 3,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
.makesContact = TRUE,
|
||||
},
|
||||
|
||||
[MOVE_MALIGNANT_CHAIN] =
|
||||
{
|
||||
.effect = EFFECT_POISON_FANG,
|
||||
.power = 100,
|
||||
.type = TYPE_POISON,
|
||||
.accuracy = 100,
|
||||
.pp = 5,
|
||||
.secondaryEffectChance = 50,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.split = SPLIT_SPECIAL,
|
||||
.zMoveEffect = Z_EFFECT_NONE,
|
||||
},
|
||||
|
||||
// Z-Moves
|
||||
[MOVE_BREAKNECK_BLITZ] =
|
||||
{
|
||||
|
||||
@ -6074,6 +6074,36 @@ const struct ContestMove gContestMoves[MOVES_COUNT] =
|
||||
[MOVE_SYRUP_BOMB] = {0}, // TODO
|
||||
|
||||
[MOVE_IVY_CUDGEL] = {0}, // TODO
|
||||
|
||||
[MOVE_ELECTRO_SHOT] = {0}, // TODO
|
||||
|
||||
[MOVE_TERA_STARSTORM] = {0}, // TODO
|
||||
|
||||
[MOVE_FICKLE_BEAM] = {0}, // TODO
|
||||
|
||||
[MOVE_BURNING_BULWARK] = {0}, // TODO
|
||||
|
||||
[MOVE_THUNDERCLAP] = {0}, // TODO
|
||||
|
||||
[MOVE_MIGHTY_CLEAVE] = {0}, // TODO
|
||||
|
||||
[MOVE_TACHYON_CUTTER] = {0}, // TODO
|
||||
|
||||
[MOVE_HARD_PRESS] = {0}, // TODO
|
||||
|
||||
[MOVE_DRAGON_CHEER] = {0}, // TODO
|
||||
|
||||
[MOVE_ALLURING_VOICE] = {0}, // TODO
|
||||
|
||||
[MOVE_TEMPER_FLARE] = {0}, // TODO
|
||||
|
||||
[MOVE_SUPERCELL_SLAM] = {0}, // TODO
|
||||
|
||||
[MOVE_PSYCHIC_NOISE] = {0}, // TODO
|
||||
|
||||
[MOVE_UPPER_HAND] = {0}, // TODO
|
||||
|
||||
[MOVE_MALIGNANT_CHAIN] = {0}, // TODO
|
||||
};
|
||||
|
||||
const struct ContestEffect gContestEffects[] =
|
||||
|
||||
@ -3284,6 +3284,54 @@ static const u8 sIvyCudgelDescription[] = _(
|
||||
"Type changes with held mask.\n"
|
||||
"High critical-hit ratio.");
|
||||
|
||||
static const u8 sElectroShotDescription[] = _(
|
||||
"Absorbs electricity in one turn,\n"
|
||||
"then attacks next turn.");
|
||||
|
||||
static const u8 sTeraStarstormDescription[] = _(
|
||||
"Damages all opponents if user is\n"
|
||||
"Stellar form Terapagos.");
|
||||
|
||||
static const u8 sFickleBeamDescription[] = _(
|
||||
"Shoots a beam of light. Sometimes\n"
|
||||
"twice as strong.");
|
||||
|
||||
static const u8 sBurningBulwarkDescription[] = _(
|
||||
"Evades attack, and burns\n"
|
||||
"the foe if struck.");
|
||||
|
||||
static const u8 sTachyonCutterDescription[] = _(
|
||||
"Launches particle blades at\n"
|
||||
"the target. Strikes twice.");
|
||||
|
||||
static const u8 sDragonCheerDescription[] = _(
|
||||
"Increases allies' critical hit\n"
|
||||
"ration, especially if Dragons.");
|
||||
|
||||
static const u8 sAlluringVoiceDescription[] = _(
|
||||
"Confuses the target if their\n"
|
||||
"stats were boosted this turn.");
|
||||
|
||||
static const u8 sTemperFlareDescription[] = _(
|
||||
"A desperation attack. Power\n"
|
||||
"doubles if last move failed.");
|
||||
|
||||
static const u8 sSupercellSlamDescription[] = _(
|
||||
"An electrified slam. If it\n"
|
||||
"misses, the user is hurt.");
|
||||
|
||||
static const u8 sPsychicNoiseDescription[] = _(
|
||||
"Unpleasant sound waves that\n"
|
||||
"damage and prevent healing.");
|
||||
|
||||
static const u8 sUpperHandDescription[] = _(
|
||||
"Makes the target flinch if\n"
|
||||
"readying a priority move.");
|
||||
|
||||
static const u8 sMalignantChainDescription[] = _(
|
||||
"A corrosive chain attack\n"
|
||||
"that may badly poison.");
|
||||
|
||||
const u8 gNotDoneYetDescription[] = _(
|
||||
"This move can't be used. Its\n"
|
||||
"effect is in development.");
|
||||
@ -4127,4 +4175,19 @@ const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] =
|
||||
[MOVE_MATCHA_GOTCHA - 1] = sMatchaGotchaDescription,
|
||||
[MOVE_SYRUP_BOMB - 1] = sSyrupBombDescription,
|
||||
[MOVE_IVY_CUDGEL - 1] = sIvyCudgelDescription,
|
||||
[MOVE_ELECTRO_SHOT - 1] = sElectroShotDescription,
|
||||
[MOVE_TERA_STARSTORM - 1] = sTeraStarstormDescription,
|
||||
[MOVE_FICKLE_BEAM - 1] = sFickleBeamDescription,
|
||||
[MOVE_BURNING_BULWARK - 1] = sBurningBulwarkDescription,
|
||||
[MOVE_THUNDERCLAP - 1] = sSuckerPunchDescription,
|
||||
[MOVE_MIGHTY_CLEAVE - 1] = sFeintDescription,
|
||||
[MOVE_TACHYON_CUTTER - 1] = sTachyonCutterDescription,
|
||||
[MOVE_HARD_PRESS - 1] = sWringOutDescription,
|
||||
[MOVE_DRAGON_CHEER - 1] = sDragonCheerDescription,
|
||||
[MOVE_ALLURING_VOICE - 1] = sAlluringVoiceDescription,
|
||||
[MOVE_TEMPER_FLARE - 1] = sTemperFlareDescription,
|
||||
[MOVE_SUPERCELL_SLAM - 1] = sSupercellSlamDescription,
|
||||
[MOVE_PSYCHIC_NOISE - 1] = sPsychicNoiseDescription,
|
||||
[MOVE_UPPER_HAND - 1] = sUpperHandDescription,
|
||||
[MOVE_MALIGNANT_CHAIN - 1] = sMalignantChainDescription,
|
||||
};
|
||||
|
||||
@ -835,6 +835,21 @@ const u8 gMoveNames[MOVES_COUNT_DYNAMAX][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_MATCHA_GOTCHA] = _("Matcha Gotcha"),
|
||||
[MOVE_SYRUP_BOMB] = _("Syrup Bomb"),
|
||||
[MOVE_IVY_CUDGEL] = _("Ivy Cudgel"),
|
||||
[MOVE_ELECTRO_SHOT] = _("Electro Shot"),
|
||||
[MOVE_TERA_STARSTORM] = _("Tera Starstorm"),
|
||||
[MOVE_FICKLE_BEAM] = _("Fickle Beam"),
|
||||
[MOVE_BURNING_BULWARK] = _("Burning Bulwark"),
|
||||
[MOVE_THUNDERCLAP] = _("Thunderclap"),
|
||||
[MOVE_MIGHTY_CLEAVE] = _("Mighty Cleave"),
|
||||
[MOVE_TACHYON_CUTTER] = _("Tachyon Cutter"),
|
||||
[MOVE_HARD_PRESS] = _("Hard Press"),
|
||||
[MOVE_DRAGON_CHEER] = _("Dragon Cheer"),
|
||||
[MOVE_ALLURING_VOICE] = _("Alluring Voice"),
|
||||
[MOVE_TEMPER_FLARE] = _("Temper Flare"),
|
||||
[MOVE_SUPERCELL_SLAM] = _("Supercell Slam"),
|
||||
[MOVE_PSYCHIC_NOISE] = _("Psychic Noise"),
|
||||
[MOVE_UPPER_HAND] = _("Upper Hand"),
|
||||
[MOVE_MALIGNANT_CHAIN] = _("Malignant Chain"),
|
||||
// Max Moves
|
||||
[MOVE_MAX_GUARD] = _("Max Guard"),
|
||||
[MOVE_MAX_STRIKE] = _("Max Strike"),
|
||||
@ -1727,6 +1742,21 @@ const u8 gMoveNames[MOVES_COUNT_DYNAMAX][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_MATCHA_GOTCHA] = _("MatchaGotcha"),
|
||||
[MOVE_SYRUP_BOMB] = _("Syrup Bomb"),
|
||||
[MOVE_IVY_CUDGEL] = _("Ivy Cudgel"),
|
||||
[MOVE_ELECTRO_SHOT] = _("Electro Shot"),
|
||||
[MOVE_TERA_STARSTORM] = _("TeraStarstrm"),
|
||||
[MOVE_FICKLE_BEAM] = _("Fickle Beam"),
|
||||
[MOVE_BURNING_BULWARK] = _("BurnngBulwrk"),
|
||||
[MOVE_THUNDERCLAP] = _("Thunderclap"),
|
||||
[MOVE_MIGHTY_CLEAVE] = _("MightyCleave"),
|
||||
[MOVE_TACHYON_CUTTER] = _("TachyonCuttr"),
|
||||
[MOVE_HARD_PRESS] = _("Hard Press"),
|
||||
[MOVE_DRAGON_CHEER] = _("Dragon Cheer"),
|
||||
[MOVE_ALLURING_VOICE] = _("AllurngVoice"),
|
||||
[MOVE_TEMPER_FLARE] = _("Temper Flare"),
|
||||
[MOVE_SUPERCELL_SLAM] = _("SuprcellSlam"),
|
||||
[MOVE_PSYCHIC_NOISE] = _("PsychicNoise"),
|
||||
[MOVE_UPPER_HAND] = _("Upper Hand"),
|
||||
[MOVE_MALIGNANT_CHAIN] = _("MalignntChan"),
|
||||
// Max Moves
|
||||
[MOVE_MAX_GUARD] = _("M-Guard"),
|
||||
[MOVE_MAX_STRIKE] = _("M-Strike"),
|
||||
|
||||
@ -177,15 +177,15 @@ AI_SINGLE_BATTLE_TEST("AI chooses moves with secondary effect that have a 100% c
|
||||
AI_LOG;
|
||||
ASSUME(gBattleMoves[MOVE_SHADOW_BALL].effect == EFFECT_SPECIAL_DEFENSE_DOWN_HIT);
|
||||
ASSUME(gBattleMoves[MOVE_SHADOW_BALL].secondaryEffectChance == 20);
|
||||
ASSUME(gBattleMoves[MOVE_LUSTER_PURGE].effect == EFFECT_SPECIAL_DEFENSE_DOWN_HIT);
|
||||
ASSUME(gBattleMoves[MOVE_LUSTER_PURGE].secondaryEffectChance == 50);
|
||||
ASSUME(gBattleMoves[MOVE_OCTAZOOKA].effect == EFFECT_ACCURACY_DOWN_HIT);
|
||||
ASSUME(gBattleMoves[MOVE_OCTAZOOKA].secondaryEffectChance == 50);
|
||||
AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT);
|
||||
PLAYER(SPECIES_REGICE);
|
||||
OPPONENT(SPECIES_REGIROCK) { Ability(ability); Moves(MOVE_SHADOW_BALL, MOVE_LUSTER_PURGE); }
|
||||
OPPONENT(SPECIES_REGIROCK) { Ability(ability); Moves(MOVE_SHADOW_BALL, MOVE_OCTAZOOKA); }
|
||||
} WHEN {
|
||||
if (ability == ABILITY_NONE)
|
||||
TURN { EXPECT_MOVE(opponent, MOVE_SHADOW_BALL); }
|
||||
else
|
||||
TURN { EXPECT_MOVES(opponent, MOVE_LUSTER_PURGE); }
|
||||
TURN { EXPECT_MOVES(opponent, MOVE_OCTAZOOKA); }
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user