public override void Resolve(Game g, StackInstance si) { foreach (GameObject tgt in si.Targets) { g.MyExecutor.Do(new CommandCreateStaticPumpEffect(tgt.ID, PowerPump, ToughnessPump)); } }
public override void Do(Game g) { Activatable act = null; if (Mode == AbilityType.Activatable) { act = CardID.Value(g).CurrentCharacteristics.Activatables[ActivatableIndex]; } else if (Mode == AbilityType.Replacement) { } else { act = CardID.Value(g).CurrentCharacteristics.Triggers[ActivatableIndex].myAbility; } StackInstance si = new StackInstance(act); g.RegisterGameObject(si); siID = si.ID; g.SpellStack.Push(new LazyGameObject <StackInstance>(si)); }
public StackInstanceView(StackInstance si, Game g) { id = si.ID; Text = si.MyActivatable.ToString(g); }
public override void Resolve(Game g, StackInstance si) { g.MyExecutor.Do(new CommandCreatePumpAllControlledByControllerEffect(Host.ID)); }
public void PlayActivatable(Activatable act, Player Activator, AbilityType Mode, StackInstance si = null) { PlayersPassedInSuccession = 0; act.Activator = Activator; if (act is SpecialAction) { act.Resolve(this, si); return; } if (act is Ability) { if (((Ability)act).IsManaAbility) { act.Resolve(this, si); return; } } MyExecutor.Do(new CommandPutOnStack(act.Host.ID, act.Host.Value(this).CurrentCharacteristics.IndexOfAbility(act, Mode), Mode)); }
public override void Resolve(Game g, StackInstance si) { g.MyExecutor.Do(new CommandMoveCard(Host.ID, ZoneType.Battlefield)); }
public override void Resolve(Game g, StackInstance si) { g.MyExecutor.Do(new CommandGainLife(DefinedPlayer.ID, Amount)); }
public override void Resolve(Game g, StackInstance si) { g.MyExecutor.Do(new CommandMoveCard(Host.ID, ZoneType.Battlefield)); g.MyExecutor.Do(new CommandIncrementLandsPlayed(Activator.ID)); }
public override void Resolve(Game g, StackInstance si) { g.MyExecutor.Do(new CommandAddManaToPool(Activator.ID, Color)); }
private StackInstance(StackInstance <T> other) { // copy the contents of the stack _Stack = new global::System.Collections.Generic.Stack <T>(other._Stack.Reverse()); }