70 lines
1.5 KiB
C#
70 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using PkmnLib.Static.Moves;
|
|
using PkmnLib.Static.Utils;
|
|
|
|
namespace PkmnLib.Plugin.Gen7.Scripts.Utils;
|
|
|
|
public static class CopyableMoves
|
|
{
|
|
/// <summary>
|
|
/// Validates if a move can be copied by scripts, such as Assist.
|
|
/// </summary>
|
|
public static bool CanCopyMove(this IMoveData move) => !NonCopyable.Contains(move.Name);
|
|
|
|
/// <summary>
|
|
/// The names of moves that cannot be copied by scripts.
|
|
/// </summary>
|
|
private static readonly HashSet<StringKey> NonCopyable =
|
|
[
|
|
"assist",
|
|
"baneful_bunker",
|
|
"beak_blast",
|
|
"belch",
|
|
"bestow",
|
|
"bounce",
|
|
"celebrate",
|
|
"chatter",
|
|
"circle_throw",
|
|
"copycat",
|
|
"counter",
|
|
"covet",
|
|
"destiny_bond",
|
|
"detect",
|
|
"dig",
|
|
"dive",
|
|
"dragon_tail",
|
|
"endure",
|
|
"feint",
|
|
"fly",
|
|
"focus_punch",
|
|
"follow_me",
|
|
"helping_hand",
|
|
"hold_hands",
|
|
"kings_shield",
|
|
"mat_block",
|
|
"me_first",
|
|
"metronome",
|
|
"mimic",
|
|
"mirror_coat",
|
|
"mirror_move",
|
|
"nature_power",
|
|
"phantom_force",
|
|
"protect",
|
|
"rage_powder",
|
|
"roar",
|
|
"shadow_force",
|
|
"shell_trap",
|
|
"sketch",
|
|
"sky_drop",
|
|
"sleep_talk",
|
|
"snatch",
|
|
"spiky_shield",
|
|
"spotlight",
|
|
"struggle",
|
|
"switcheroo",
|
|
"thief",
|
|
"transform",
|
|
"trick",
|
|
"whirlwind"
|
|
];
|
|
} |