示例#1
0
        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);
        }