Example #1
0
 private void OnMinionDied(IMinion deadMinion, Board defenderBoard)
 {
     foreach (var minion in PlayedMinions.Where(m => m != deadMinion))
     {
         minion.OnMinionDied(new TriggerParams()
         {
             Activator = minion, Target = deadMinion, Board = this, RivalBoard = defenderBoard
         });
     }
 }
Example #2
0
 private void OnMinionTookDamage(IMinion tookDamage)
 {
     foreach (var minion in PlayedMinions.Where(m => m != tookDamage))
     {
         minion.OnMinionDamaged(new TriggerParams()
         {
             Activator = minion, Board = this, Target = tookDamage
         });
     }
 }
Example #3
0
 public void BuffAllOfType(IMinion buffer, MinionType type, int attack = 0, int health = 0, Attribute attributes = Attribute.None, Action <TriggerParams> deathRattle = null, bool aura = false)
 {
     foreach (var minion in PlayedMinions.Where(m => m != buffer))
     {
         if ((type & minion.MinionType) != 0)
         {
             Buff(buffer, minion, attack, health, attributes, deathRattle, aura);
         }
     }
 }
Example #4
0
        public IMinion GetRandomDefender()
        {
            if (IsEmpty)
            {
                return(null);
            }

            var taunters = PlayedMinions.Where(m => m.Attributes.HasFlag(Attribute.Taunt)).ToArray();

            if (taunters.Any())
            {
                return(taunters[RandomNumber(0, taunters.Length)]);
            }

            return(PlayedMinions[RandomNumber(0, PlayedMinions.Count)]);
        }
Example #5
0
 public List <IMinion> GetValidTargets(MinionType validTargets)
 {
     return(PlayedMinions.Where(m => (validTargets & m.MinionType) != 0).ToList());
 }