public override void ActOnRound(RoundState roundState, CardModifierState cardModifierState) { var totalDuration = cardModifierState.GetDuration(this.Duration); roundState.AddCardModifier(totalDuration, new MultiplyDuration(this.Multiplier)); roundState.AddCardModifier(totalDuration, new MultiplyDamage(this.Multiplier)); }
public override void ModifyCurrentState(CardModifierState currentModifierState, Card card) { currentModifierState.DurationMultipler = 0; currentModifierState.DurationIncrease = 0; currentModifierState.DamageMultiplier = 0; currentModifierState.DamageIncrease = 0; currentModifierState.OnDmgIncChange.Add((c, m) => c.DamageIncrease = 0); currentModifierState.OnDmgMultChange.Add((c, m) => c.DamageMultiplier = 0); currentModifierState.OnDurIncChange.Add((c, m) => c.DurationIncrease = 0); currentModifierState.OnDurMultChange.Add((c, m) => c.DurationMultipler = 0); }
public override void ModifyCurrentState(CardModifierState currentModifierState, Card card) { currentModifierState.DurationMultipler *= this.factor; }
/// <summary> /// Modifies the Card Modifier State /// </summary> /// <param name="currentModifierState">The current modifications to apply to a card</param> /// <param name="card">The card being modified - some modifiers will only apply to certain classes of cards</param> public abstract void ModifyCurrentState(CardModifierState currentModifierState, Card card);
/// <summary> /// Has the card act on the round state /// </summary> /// <param name="roundState">The current round state</param> /// <param name="cardModifierState">The final card modifier state to modify this card</param> public abstract void ActOnRound(RoundState roundState, CardModifierState cardModifierState);
public override void ActOnRound(RoundState roundState, CardModifierState cardModifierState) { var totalDuration = cardModifierState.GetDuration(this.Duration); roundState.AddCardModifier(totalDuration, new NullifyCard()); }
public override void ActOnRound(RoundState roundState, CardModifierState cardModifierState) { var totalDamage = cardModifierState.GetDamageDone(this.DamageDone); roundState.DamageToMonster[this.Owner] += totalDamage; }