public ValueEffect(Types.Effect effectType, int value) : base(effectType) { if (effectType == Types.Effect.PowerAttack && value < 0) { throw new ArgumentException("Power Attack cannot have a negative value"); } _value = value; }
public TimedEffect(Types.Effect effectType, int duration, bool perTurn) : base(effectType, perTurn) { Duration = duration; }
public TimedEffect(Types.Effect effectType, int duration) : base(effectType, false) { Duration = duration; }
public TimedAbilityValueEffect(Types.Effect effectType, Types.Ability ability, int value, int duration, bool perTurn) : base(effectType, duration, perTurn) { _ability = ability; _value = value; }
public TimedValueEffect(Types.Effect effectType, int value, int duration, bool perTurn) : base(effectType, duration, perTurn) { Init(value); }
public TimedValueEffect(Types.Effect effectType, int value, int duration) : base(effectType, duration, false) { Init(value); }
public TimedTextEffect(Types.Effect effectType, string text, int duration, bool perTurn) : base(effectType, duration, perTurn) { _text = text; }
public TimedTextEffect(Types.Effect effectType, string text, int duration) : base(effectType, duration, false) { _text = text; }
public TextEffect(Types.Effect effectType, string text) : base(effectType) { _text = text; }
public Effect(Types.Effect effectType, bool perTurn) { EffectType = effectType; PerTurn = perTurn; }
public Effect(Types.Effect effectType) { EffectType = effectType; PerTurn = false; }
public AbilityValueEffect(Types.Effect effectType, Types.Ability ability, int value) : base(effectType) { _ability = ability; _value = value; }