protected override void Resolve(IEntity source, IEntity target) { ICombatant combatant = (target as ICombatant); if (combatant != null) { if (restriction_ids.ContainsKey(target)) { combatant.RemoveAttackRestriction(restriction_ids[target]); restriction_ids.Remove(target); } int id = combatant.AddAttackRestriction(new AttackRestriction(CantAttackPlayers)); restriction_ids.Add(target, id); GameStateManager.instance.TrackTimedEffect(this, source, target); } }