protected override void ResolveEffect() { var mp = new ModifierParameters { SourceCard = Source.OwningCard, SourceEffect = this, }; foreach (var target in ValidEffectTargets) { var prevention = new PreventDamageToTarget(target); var modifier = new AddDamagePrevention(prevention) {UntilEot = true}; Game.AddModifier(modifier, mp); } }
protected override void ResolveEffect() { var mp = new ModifierParameters { SourceCard = Source.OwningCard, SourceEffect = this, }; var prevention = new PreventDamageToTarget( target: Source.OwningCard.AttachedTo, amount: (creatureOrPlayer, ctx) => _amount((Card)(creatureOrPlayer))); var modifier = new AddDamagePrevention(prevention); Game.AddModifier(modifier, mp); }
protected override void ResolveEffect() { var mp = new ModifierParameters { SourceCard = Source.OwningCard, SourceEffect = this, }; foreach (var target in ValidEffectTargets) { var prevention = new PreventDamageToTarget(target); var modifier = new AddDamagePrevention(prevention) { UntilEot = true }; Game.AddModifier(modifier, mp); } }
public override void ProcessResults(ChosenOptions results) { var color = ChoiceToColorMap.Single(x => x.Choice.Equals(results.Options[0])).Color; var mp = new ModifierParameters { SourceCard = Source.OwningCard, SourceEffect = this, }; foreach (var target in ValidEffectTargets) { var prevention = new PreventDamageToTarget(target, sourceSelector: (c, ctx) => c.HasColor(color)); var modifier = new AddDamagePrevention(prevention) { UntilEot = true }; Game.AddModifier(modifier, mp); } }