public override void Add(IPlayable entity, int zonePosition = -1) { base.Add(entity, zonePosition); // Add enchantments here. List <Enchantment> enchantments = entity.AppliedEnchantments; if (enchantments == null) { return; } for (int i = enchantments.Count - 1; i >= 0; i--) { Enchantment e = enchantments[i]; e.Remove(); if (e.Card.Modular) { enchantments.Add(e); } } }
public override void Update() { var m = (Minion)Owner; // Remove this EnrageEffect from the target if (!On) { Game.Auras.Remove(this); if (!_enraged) { return; } // Spiteful Smith if (Type == AuraType.WEAPON) { Weapon weapon = m.Controller.Hero.Weapon; if (weapon == null) { return; } if (_target != weapon) { return; } } foreach (IEffect eff in EnchantmentCard.Power.Enchant.Effects) { eff.RemoveFrom(_target); } _currentInstance?.Remove(); //if (_target != null) // for (int i = 0; i < Effects.Length; i++) // Effects[i].RemoveFrom(_target.AuraEffects); } if (Type == AuraType.WEAPON) { Weapon weapon = m.Controller.Hero.Weapon; if (weapon == null) { return; } if (_target != weapon) { _currentInstance?.Remove(); _currentInstance = null; _target = weapon; } } if (!_enraged) { if (m.Damage == 0) { return; } //if (_target != null) // for (int i = 0; i < Effects.Length; i++) // Effects[i].ApplyTo(_target.AuraEffects); Generic.AddEnchantmentBlock.Invoke(m.Controller, EnchantmentCard, m, _target, 0, 0, 0); if (Game.History) { _currentInstance = _target.AppliedEnchantments.Last(); } _enraged = true; } else { if (m.Damage != 0) { return; } for (int i = 0; i < EnchantmentCard.Power.Enchant.Effects.Length; i++) { EnchantmentCard.Power.Enchant.Effects[i].RemoveFrom(m); } _currentInstance?.Remove(); _enraged = false; } }