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); }
public void ActivateTask(PowerActivation activation, IPlayable target = null, int chooseOne = 0, IPlayable source = null) { throw new NotImplementedException(); }