Many more tests and fixes
All checks were successful
Build / Build (push) Successful in 3m12s

This commit is contained in:
2026-08-27 17:11:12 +02:00
parent 32b3ef9c4a
commit d2a82b5fe3
204 changed files with 20255 additions and 242 deletions

View File

@@ -38,6 +38,7 @@ public static class CopyableMoves
"follow_me",
"helping_hand",
"hold_hands",
"instruct",
"kings_shield",
"mat_block",
"me_first",
@@ -65,4 +66,66 @@ public static class CopyableMoves
"trick",
"whirlwind",
];
/// <summary>
/// Validates if a move can be selected by Metronome.
/// </summary>
public static bool CanBeSelectedByMetronome(this IMoveData move) =>
!MetronomeUnselectable.Contains(move.Name);
/// <summary>
/// The names of moves that cannot be selected by Metronome. This differs from <see cref="NonCopyable"/>:
/// Metronome additionally cannot select moves such as After You and Wide Guard, while moves that are only
/// excluded for other copying moves (such as semi-invulnerable and forced-switch moves) remain selectable.
/// </summary>
private static readonly HashSet<StringKey> MetronomeUnselectable =
[
"after_you",
"assist",
"baneful_bunker",
"beak_blast",
"belch",
"bestow",
"celebrate",
"chatter",
"copycat",
"counter",
"covet",
"crafty_shield",
"destiny_bond",
"detect",
"endure",
"feint",
"focus_punch",
"follow_me",
"helping_hand",
"hold_hands",
"instruct",
"kings_shield",
"mat_block",
"me_first",
"metronome",
"mimic",
"mirror_coat",
"mirror_move",
"nature_power",
"protect",
"quash",
"quick_guard",
"rage_powder",
"shell_trap",
"sketch",
"sleep_talk",
"snatch",
"snore",
"spectral_thief",
"spiky_shield",
"spotlight",
"struggle",
"switcheroo",
"thief",
"transform",
"trick",
"wide_guard",
];
}