private static void InternalRemoveSkillMod(this Mobile m, SkillMod mod) { if (!m_SkillMods.ContainsKey(m)) { return; } IList <SkillMod> mods = m_SkillMods[m]; if (mods.Contains(mod)) { mods.Remove(mod); mod.Owner = null; Skill sk = m.Skills[mod.Skill]; if (sk != null) { sk.Update(); } if (mods.Count == 0) { m_SkillMods.Remove(m); } } }
public static void UpdateSkillMods(this Mobile m) { m.ValidateSkillMods(); foreach (SkillMod mod in m.GetSkillMods()) { Skill sk = m.Skills[mod.Skill]; if (sk != null) { sk.Update(); } } }
private static void InternalAddSkillMod(this Mobile m, SkillMod mod) { if (!m_SkillMods.ContainsKey(m)) { m_SkillMods[m] = new List <SkillMod>(); } IList <SkillMod> mods = m_SkillMods[m]; if (!mods.Contains(mod)) { mods.Add(mod); mod.Owner = m; Skill sk = m.Skills[mod.Skill]; if (sk != null) { sk.Update(); } } }