public override void ProcessResults(ChosenOptions results) { var chosenType = (string)results.Options[0]; var costModifier = new SpellCostModifier(_amount, (card, self) => card.Is().Creature&& card.Is(chosenType)); var addCostModifier = new AddCostModifier(costModifier); addCostModifier.AddLifetime(new PermanentLeavesBattlefieldLifetime( self => self.Modifier.SourceCard )); var mp = new ModifierParameters { SourceCard = Source.OwningCard, SourceEffect = this }; Game.AddModifier(addCostModifier, mp); }
public override void ProcessResults(ChosenOptions results) { var chosenType = (string) results.Options[0]; var costModifier = new SpellCostModifier(_amount, (card, self) => card.Is().Creature && card.Is(chosenType)); var addCostModifier = new AddCostModifier(costModifier); addCostModifier.AddLifetime(new PermanentLeavesBattlefieldLifetime( self => self.Modifier.SourceCard )); var mp = new ModifierParameters { SourceCard = Source.OwningCard, SourceEffect = this }; Game.AddModifier(addCostModifier, mp); }