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 }); } }
private void OnMinionTookDamage(IMinion tookDamage) { foreach (var minion in PlayedMinions.Where(m => m != tookDamage)) { minion.OnMinionDamaged(new TriggerParams() { Activator = minion, Board = this, Target = tookDamage }); } }
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); } } }
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)]); }
public List <IMinion> GetValidTargets(MinionType validTargets) { return(PlayedMinions.Where(m => (validTargets & m.MinionType) != 0).ToList()); }