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); }
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); }