public override void Run(ConvergeEffectContext context)
 {
     foreach (ConvergeObject player in affected.GetList(context))
     {
         player.controller.SkipMana();
     }
 }
 public override void Run(ConvergeEffectContext context)
 {
     foreach (ConvergeObject subject in subjects.GetList(context))
     {
         subject.tapped = true;
     }
 }
 public override void Run(ConvergeEffectContext context)
 {
     foreach (ConvergeObject victim in victims.GetList(context))
     {
         victim.destroyed = true;
     }
 }
 public override void Run(ConvergeEffectContext context)
 {
     foreach (ConvergeObject victim in victims.GetList(context))
     {
         victim.MoveZone(victim.owner.GetZone(ConvergeZoneId.DiscardPile));
     }
 }
 public override void Run(ConvergeEffectContext context)
 {
     foreach (ConvergeObject patient in patients.GetList(context))
     {
         patient.tapped = false;
     }
 }
 public override void Run(ConvergeEffectContext context)
 {
     foreach (ConvergeObject subject in subjects.GetList(context))
     {
         subject.AddEffect(new ConvergeEffect_GainTriggered(abilitySpec, subject, context.source, duration));
     }
 }
 public override void Run(ConvergeEffectContext context)
 {
     foreach (ConvergeObject subject in subjects.GetList(context))
     {
         subject.WithdrawAttack();
     }
 }
        public override void Run(ConvergeEffectContext context)
        {
            int amountValue = amount.GetValue(context);

            foreach (ConvergeObject subject in subjects.GetList(context))
            {
                subject.controller.GainLife(amountValue);
            }
        }
        public override void Run(ConvergeEffectContext context)
        {
            int amountValue = amount.GetValue(context);

            foreach (ConvergeObject patient in patients.GetList(context))
            {
                patient.Heal(amountValue);
            }
        }
        public override void Run(ConvergeEffectContext context)
        {
            int power     = powerAmount.GetValue(context);
            int toughness = toughnessAmount.GetValue(context);

            foreach (ConvergeObject patient in patients.GetList(context))
            {
                patient.AddEffect(new ConvergeEffect_Upgrade(power, toughness, keywords, context.source, new_art, duration));
            }
        }
        public override int GetValue(ConvergeEffectContext context)
        {
            int total = 0;

            foreach (ConvergeObject obj in select.GetList(context))
            {
                total += obj.toughness;
            }
            return(total);
        }
 public override void Run(ConvergeEffectContext context)
 {
     foreach (ConvergeObject player in players.GetList(context))
     {
         ConvergeZone   spawnZone  = player.controller.GetZone(zoneId);
         ConvergeObject newSpawned = new ConvergeObject(cardSpec, spawnZone);
         if (spawnZone.inPlay && newSpawned.cardType.HasFlag(ConvergeCardType.Unit))
         {
             newSpawned.tapped = true;
         }
     }
 }
        public override void Run(ConvergeEffectContext context)
        {
            List <ConvergeObject> sourcesList = sources.GetList(context);

            foreach (ConvergeObject victim in victims.GetList(context))
            {
                foreach (ConvergeObject source in sourcesList)
                {
                    source.Fight(victim, false);
                }
            }
        }
        public override List <ConvergeObject> GetList(ConvergeEffectContext context)
        {
            List <ConvergeObject> players = whose.GetList(context);
            List <ConvergeObject> result  = new List <ConvergeObject>();

            foreach (ConvergeObject player in players)
            {
                result.AddRange(player.controller.GetZone(zoneId).contents);
            }

            Filter(result, context);
            return(result);
        }
        public override bool Test(ConvergeObject subject, ConvergeEffectContext context)
        {
            context.subject = subject;
            foreach (ConvergeObject potentialController in controller.GetList(context))
            {
                if (potentialController.controller == subject.controller)
                {
                    return(true);
                }
            }

            return(false);
        }
        public override void Run(ConvergeEffectContext context)
        {
            List <ConvergeObject> sourcesList = sources.GetList(context);
            int amountValue = amount.GetValue(context);

            foreach (ConvergeObject victim in victims.GetList(context))
            {
                foreach (ConvergeObject source in sourcesList)
                {
                    source.DealDamage(victim, amountValue, false);
                }
            }
        }
        public override void Run(ConvergeEffectContext context)
        {
            List <ConvergeObject> newControllerList = newControllerSelector.GetList(context);

            if (newControllerList.Count == 0)
            {
                return;
            }
            ConvergePlayer newController = newControllerList[0].controller;

            foreach (ConvergeObject victim in victims.GetList(context))
            {
                victim.AddEffect(new ConvergeEffect_Control(newController, context.source, duration));
            }
        }