158 lines
5.1 KiB
C#
158 lines
5.1 KiB
C#
namespace PkmnLib.Plugin.Gen7.Scripts;
|
|
|
|
public static class CustomTriggers
|
|
{
|
|
public static readonly StringKey AuroraVeilDuration = "aurora_veil_duration";
|
|
|
|
public record AuroraVeilDurationArgs(IExecutingMove Move, int Duration) : ICustomTriggerArgs
|
|
{
|
|
public int Duration { get; set; } = Duration;
|
|
}
|
|
|
|
public static readonly StringKey ModifyBind = "modify_bind";
|
|
|
|
public record ModifyBindArgs(IExecutingMove Move) : ICustomTriggerArgs
|
|
{
|
|
public int Duration { get; set; } = 5;
|
|
public float DamagePercent { get; set; } = 1f / 8f;
|
|
}
|
|
|
|
public static readonly StringKey IgnoreHail = "ignores_hail";
|
|
|
|
public record IgnoreHailArgs(IBattlePokemon Pokemon) : ICustomTriggerArgs
|
|
{
|
|
public bool Ignore { get; set; } = false;
|
|
}
|
|
|
|
public static readonly StringKey LightScreenNumberOfTurns = "light_screen_number_of_turns";
|
|
|
|
public record LightScreenNumberOfTurnsArgs(IExecutingMove Move, int Duration) : ICustomTriggerArgs
|
|
{
|
|
public int Duration { get; set; } = Duration;
|
|
}
|
|
|
|
public static readonly StringKey ReflectNumberOfTurns = "reflect_number_of_turns";
|
|
|
|
public record ReflectNumberOfTurnsArgs(IExecutingMove Move, int Duration) : ICustomTriggerArgs
|
|
{
|
|
public int Duration { get; set; } = Duration;
|
|
}
|
|
|
|
public static readonly StringKey BypassSleep = "bypass_sleep";
|
|
|
|
public record BypassSleepArgs(IMoveChoice Choice, bool Bypass) : ICustomTriggerArgs
|
|
{
|
|
public bool Bypass { get; set; } = Bypass;
|
|
}
|
|
|
|
public static readonly StringKey Whirlpool = "whirlpool";
|
|
|
|
public record WhirlpoolArgs(
|
|
IExecutingMove Move,
|
|
IBattlePokemon Target,
|
|
byte HitIndex,
|
|
int Turns,
|
|
float DamagePercent) : ICustomTriggerArgs
|
|
{
|
|
public int Turns { get; set; } = Turns;
|
|
public float DamagePercent { get; set; } = DamagePercent;
|
|
}
|
|
|
|
public static readonly StringKey ModifyAuraEffect = "modify_aura_effect";
|
|
|
|
public record ModifyAuraEffectArgs(IExecutingMove Move, IBattlePokemon Target, byte HitIndex, float AuraEffect)
|
|
: ICustomTriggerArgs
|
|
{
|
|
public float AuraEffect { get; set; } = AuraEffect;
|
|
}
|
|
|
|
public static readonly StringKey BypassChargeMove = "bypass_charge_move";
|
|
|
|
public record BypassChargeMoveArgs(IExecutingMove Move, bool Bypass) : ICustomTriggerArgs
|
|
{
|
|
public bool Bypass { get; set; } = Bypass;
|
|
}
|
|
|
|
public static readonly StringKey ModifySleepTurns = "modify_sleep_turns";
|
|
|
|
public record ModifySleepTurnsArgs(IBattlePokemon Pokemon, int Turns) : ICustomTriggerArgs
|
|
{
|
|
public int Turns { get; set; } = Turns;
|
|
}
|
|
|
|
public static readonly StringKey BypassProtection = "bypass_protection";
|
|
|
|
public record BypassProtectionArgs(IExecutingMove Move, IBattlePokemon Target, byte HitIndex, bool Bypass)
|
|
: ICustomTriggerArgs
|
|
{
|
|
public bool Bypass { get; set; } = Bypass;
|
|
}
|
|
|
|
public static readonly StringKey BypassSubstitute = "bypass_subsitute";
|
|
|
|
public record BypassSubstituteArgs(IExecutingMove Move, IBattlePokemon Target, byte HitIndex, bool Bypass)
|
|
: ICustomTriggerArgs
|
|
{
|
|
public bool Bypass { get; set; } = Bypass;
|
|
}
|
|
|
|
public static readonly StringKey ModifyDrain = "modify_drain";
|
|
|
|
public record ModifyDrainArgs(
|
|
IExecutingMove Move,
|
|
IBattlePokemon Target,
|
|
byte Hit,
|
|
uint Damage,
|
|
uint Healed,
|
|
bool Invert) : ICustomTriggerArgs
|
|
{
|
|
public uint Healed { get; set; } = Healed;
|
|
public bool Invert { get; set; } = Invert;
|
|
}
|
|
|
|
public static readonly StringKey ModifyHealPercent = "modify_heal_percent";
|
|
|
|
public record ModifyHealPercentArgs(IExecutingMove Move, IBattlePokemon Target, byte Hit, float HealPercent)
|
|
: ICustomTriggerArgs
|
|
{
|
|
public float HealPercent { get; set; } = HealPercent;
|
|
}
|
|
|
|
public static readonly StringKey PoisonedDamage = "poisoned_damage";
|
|
|
|
public record PoisonedDamageArgs(IBattlePokemon Pokemon, uint Damage) : ICustomTriggerArgs
|
|
{
|
|
public uint Damage { get; set; } = Damage;
|
|
public bool Invert { get; set; } = false;
|
|
}
|
|
|
|
public static readonly StringKey ModifyRecoil = "modify_recoil";
|
|
|
|
public record ModifyRecoilArgs(IExecutingMove Move, IBattlePokemon Target, byte Hit, uint Damage, uint Recoil)
|
|
: ICustomTriggerArgs
|
|
{
|
|
public uint Recoil { get; set; } = Recoil;
|
|
public bool Prevent { get; set; } = false;
|
|
}
|
|
|
|
public static readonly StringKey Modify2_5HitMove = "modify_2_5_hit_move";
|
|
|
|
public record Modify2_5HitMoveArgs(IMoveChoice moveChoice, byte NumberOfHits) : ICustomTriggerArgs
|
|
{
|
|
public byte NumberOfHits { get; set; } = NumberOfHits;
|
|
}
|
|
|
|
public static readonly StringKey OnFlinch = "on_flinch";
|
|
|
|
public record OnFlinchArgs(IExecutingMove Move) : ICustomTriggerArgs
|
|
{
|
|
public bool Prevent { get; set; } = false;
|
|
}
|
|
|
|
public static readonly StringKey BypassSandstormDamage = "bypass_sandstorm_damage";
|
|
|
|
public record BypassSandstormDamageArgs(IBattlePokemon Pokemon) : ICustomTriggerArgs
|
|
{
|
|
public bool Bypass { get; set; } = false;
|
|
}
|
|
} |