Exemple #1
0
        public override IEnumerable <CardTemplate> GetCards()
        {
            yield return(Card
                         .Named("Endoskeleton")
                         .ManaCost("{2}")
                         .Type("Artifact")
                         .Text(
                             "You may choose not to untap Endoskeleton during your untap step.{EOL}{2},{T}: Target creature gets +0/+3 for as long as Endoskeleton remains tapped.")
                         .MayChooseToUntap()
                         .ActivatedAbility(p =>
            {
                p.Text = "{2},{T}: Target creature gets +0/+3 for as long as Endoskeleton remains tapped.";
                p.Cost = new AggregateCost(
                    new PayMana(2.Colorless()),
                    new Tap());

                p.Effect = () => new ApplyModifiersToTargets(() =>
                {
                    var modifier = new AddPowerAndToughness(0, 3);
                    modifier.AddLifetime(new ModifierSourceGetsUntapedLifetime());
                    return modifier;
                });

                p.TargetSelector.AddEffect(trg => trg.Is.Creature().On.Battlefield());
                p.TimingRule(new PumpTargetCardTimingRule(untilEot: false));
                p.TargetingRule(new EffectPumpInstant(0, 3, untilEot: false));
            }));
        }
        protected override void ResolveEffect()
        {
            var p = new ModifierParameters
            {
              SourceEffect = this,
              SourceCard = Source.OwningCard,
              X = X
            };

              var modifier = new AddPowerAndToughness(_countersCount, _countersCount) {UntilEot = true};

              var targetCreature = (Card) Target;
              targetCreature.AddModifier(modifier, p);
        }
Exemple #3
0
        public override IEnumerable <CardTemplate> GetCards()
        {
            yield return(Card
                         .Named("Thran Golem")
                         .ManaCost("{5}")
                         .Type("Artifact Creature Golem")
                         .Text("As long as Thran Golem is enchanted, it gets +2/+2 and has flying, first strike, and trample.")
                         .FlavorText("Karn felt more secure about his value to Urza when he realized he didn't need regular trimming.")
                         .Power(3)
                         .Toughness(3)
                         .TriggeredAbility(p =>
            {
                p.Trigger(new OnAttachmentAttached((c, ctx) => c.Is().Aura)
                {
                    Condition = ctx => ctx.OwningCard.Attachments.Count() == 1
                });

                p.Effect = () =>
                {
                    return new ApplyModifiersToSelf(
                        () =>
                    {
                        var modifier = new AddPowerAndToughness(2, 2);
                        modifier.AddLifetime(UntilAttached());
                        return modifier;
                    },
                        () =>
                    {
                        var modifier = new AddSimpleAbility(Static.Flying);
                        modifier.AddLifetime(UntilAttached());
                        return modifier;
                    },
                        () =>
                    {
                        var modifier = new AddSimpleAbility(Static.FirstStrike);
                        modifier.AddLifetime(UntilAttached());
                        return modifier;
                    },
                        () =>
                    {
                        var modifier = new AddSimpleAbility(Static.Trample);
                        modifier.AddLifetime(UntilAttached());
                        return modifier;
                    });
                };

                p.UsesStack = false;
            }));
        }
        protected override void ResolveEffect()
        {
            var p = new ModifierParameters
            {
                SourceEffect = this,
                SourceCard   = Source.OwningCard,
                X            = X
            };

            var modifier = new AddPowerAndToughness(_countersCount, _countersCount)
            {
                UntilEot = true
            };

            var targetCreature = (Card)Target;

            targetCreature.AddModifier(modifier, p);
        }
        public void ProcessResults(ChosenCards results)
        {
            foreach (var chosenCard in results)
            {
                chosenCard.Reveal();
            }

            var p = new ModifierParameters
            {
                SourceEffect = this,
                SourceCard   = Source.OwningCard,
                X            = X,
            };

            var modifier = new AddPowerAndToughness(_power * results.Count, _toughness * results.Count)
            {
                UntilEot = true
            };

            Target.Card().AddModifier(modifier, p);
        }