コード例 #1
0
 public override void Resolve(Game g, StackInstance si)
 {
     foreach (GameObject tgt in si.Targets)
     {
         g.MyExecutor.Do(new CommandCreateStaticPumpEffect(tgt.ID, PowerPump, ToughnessPump));
     }
 }
コード例 #2
0
        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));
        }
コード例 #3
0
 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));
 }
コード例 #5
0
ファイル: Game.cs プロジェクト: DarksteelMike/Sharpening2020
        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));
        }
コード例 #6
0
 public override void Resolve(Game g, StackInstance si)
 {
     g.MyExecutor.Do(new CommandMoveCard(Host.ID, ZoneType.Battlefield));
 }
コード例 #7
0
 public override void Resolve(Game g, StackInstance si)
 {
     g.MyExecutor.Do(new CommandGainLife(DefinedPlayer.ID, Amount));
 }
コード例 #8
0
 public override void Resolve(Game g, StackInstance si)
 {
     g.MyExecutor.Do(new CommandMoveCard(Host.ID, ZoneType.Battlefield));
     g.MyExecutor.Do(new CommandIncrementLandsPlayed(Activator.ID));
 }
コード例 #9
0
 public override void Resolve(Game g, StackInstance si)
 {
     g.MyExecutor.Do(new CommandAddManaToPool(Activator.ID, Color));
 }
コード例 #10
0
 private StackInstance(StackInstance <T> other)
 {
     // copy the contents of the stack
     _Stack = new global::System.Collections.Generic.Stack <T>(other._Stack.Reverse());
 }