135 lines
4.5 KiB
C#
135 lines
4.5 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(IPokemon 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(IExecutingMove Move, bool Bypass) : ICustomTriggerArgs
|
|
{
|
|
public bool Bypass { get; set; } = Bypass;
|
|
}
|
|
|
|
public static readonly StringKey Whirlpool = "whirlpool";
|
|
|
|
public record WhirlpoolArgs(IExecutingMove Move, IPokemon 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, IPokemon 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(IPokemon Pokemon, int Turns) : ICustomTriggerArgs
|
|
{
|
|
public int Turns { get; set; } = Turns;
|
|
}
|
|
|
|
public static readonly StringKey BypassProtection = "bypass_protection";
|
|
|
|
public record BypassProtectionArgs(IExecutingMove Move, IPokemon Target, byte HitIndex, bool Bypass)
|
|
: ICustomTriggerArgs
|
|
{
|
|
public bool Bypass { get; set; } = Bypass;
|
|
}
|
|
|
|
public static readonly StringKey BypassSubstitute = "bypass_subsitute";
|
|
|
|
public record BypassSubstituteArgs(IExecutingMove Move, IPokemon Target, byte HitIndex, bool Bypass)
|
|
: ICustomTriggerArgs
|
|
{
|
|
public bool Bypass { get; set; } = Bypass;
|
|
}
|
|
|
|
public static readonly StringKey ModifyDrain = "modify_drain";
|
|
|
|
public record ModifyDrainArgs(IExecutingMove Move, IPokemon 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, IPokemon Target, byte Hit, float HealPercent)
|
|
: ICustomTriggerArgs
|
|
{
|
|
public float HealPercent { get; set; } = HealPercent;
|
|
}
|
|
|
|
public static readonly StringKey PoisonedDamage = "poisoned_damage";
|
|
|
|
public record PoisonedDamageArgs(IPokemon 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, IPokemon 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;
|
|
}
|
|
} |