public override void Activate(GameLiving living, bool sendUpdates) { if (m_activeLiving == null) { foreach (eProperty property in m_property) { living.AbilityBonus[(int)property] += GetAmountForLevel(living.CalculateSkillLevel(this)); } m_activeLiving = living; if (sendUpdates) SendUpdates(living); } else { log.Warn("ability " + Name + " already activated on " + living.Name); } }
public override void Deactivate(GameLiving living, bool sendUpdates) { if (m_activeLiving != null) { foreach (eProperty property in m_property) { living.AbilityBonus[(int)property] -= GetAmountForLevel(living.CalculateSkillLevel(this)); } if (sendUpdates) { SendUpdates(living); } m_activeLiving = null; } else { log.Warn("ability " + Name + " already deactivated on " + living.Name); } }
public override void Activate(GameLiving living, bool sendUpdates) { if (m_activeLiving == null) { m_activeLiving = living; foreach (eProperty property in Properties) { living.AbilityBonus[(int)property] += GetAmountForLevel(living.CalculateSkillLevel(this)); } if (sendUpdates) { SendUpdates(living); } } else { Log.Warn($"ability {Name} already activated on {living.Name}"); } }