Ejemplo n.º 1
0
        public void ActivateTask(PowerActivation activation = PowerActivation.POWER, IPlayable target = null, int chooseOne = 0, IPlayable source = null)
        {
            if (ChooseOne)
            {
                if (Controller.ChooseBoth &&
                    !Card.Id.Equals("EX1_165") &&                       // OG_044a, using choose one 0 option
                    !Card.Id.Equals("BRM_010") &&                       // OG_044b, using choose one 0 option
                    !Card.Id.Equals("AT_042") &&                        // OG_044c, using choose one 0 option
                    !Card.Id.Equals("UNG_101") &&                       // UNG_101t3
                    !Card.Id.Equals("ICC_051") &&                       // ICC_051t3
                    !Card.Id.Equals("ICC_047"))                         // using choose one 0 option
                {
                    ChooseOnePlayables[0].ActivateTask(activation, target, chooseOne, this);
                    ChooseOnePlayables[1].ActivateTask(activation, target, chooseOne, this);
                    return;
                }

                if (!Controller.ChooseBoth && chooseOne > 0)
                {
                    ChooseOnePlayables[chooseOne - 1].ActivateTask(activation, target, chooseOne, this);
                    return;
                }
            }

            if (Power == null)
            {
                return;
            }

            ISimpleTask task = null;

            switch (activation)
            {
            case PowerActivation.POWER:
                task = Power.PowerTask;
                break;

            case PowerActivation.DEATHRATTLE:
                task = Power.DeathrattleTask;
                break;

            case PowerActivation.COMBO:
                task = Power.ComboTask;
                break;
            }
            if (task == null)
            {
                return;
            }

            // clone task here
            ISimpleTask clone = task.Clone();

            clone.Game       = source?.Game ?? Game;
            clone.Controller = source?.Controller ?? Controller;
            clone.Source     = source ?? this;
            clone.Target     = target;

            clone.Game.TaskQueue.Enqueue(clone);
        }
Ejemplo n.º 2
0
 public void ActivateTask(PowerActivation activation, IPlayable target = null, int chooseOne = 0, IPlayable source = null)
 {
     throw new NotImplementedException();
 }