public void LoadSkillScript(string skillscriptstr, bool primary = false) { Skill obj; var script = ScriptManager.Load <SkillScript>(skillscriptstr, obj = Skill.Create(1, ServerContext.GlobalSkillTemplateCache[skillscriptstr])); obj.NextAvailableUse = DateTime.UtcNow; if (script != null) { script.Skill = obj; script.IsScriptDefault = primary; SkillScripts.Add(script); } }
public static bool GiveTo(Aisling aisling, string args) { var skillTemplate = ServerContext.GlobalSkillTemplateCache[args]; var slot = aisling.SkillBook.FindEmpty(); if (slot <= 0) { return(false); } var skill = Skill.Create(slot, skillTemplate); skill.Script = ScriptManager.Load <SkillScript>(skill.Template.ScriptName, skill); aisling.SkillBook.Assign(skill); return(true); }
public static bool GiveTo(GameClient client, string args) { var skillTemplate = ServerContext.GlobalSkillTemplateCache[args]; var slot = client.Aisling.SkillBook.FindEmpty(); if (slot <= 0) { return(false); } var skill = Skill.Create(slot, skillTemplate); skill.Script = ScriptManager.Load <SkillScript>(skill.Template.ScriptName, skill); client.Aisling.SkillBook.Assign(skill); client.Aisling.SkillBook.Set(skill, false); client.Send(new ServerFormat2C(skill.Slot, skill.Icon, skill.Name)); return(true); }