public static void SkillRankUpNotification(long sender, String skill, String message) { // EpicTitles.Log.LogInfo($"SkillRankUpNotification: {message}"); Skills.SkillType _skillType = (Skills.SkillType)Enum.Parse(typeof(Skills.SkillType), skill, true); var icon = PatchedSkills.getSkillIcon(_skillType); PatchedPlayer.ShowMessage(skill, message, icon: icon); }
static void CheckSkills(Player __instance, Skills.SkillType skill, float level) { string title = PatchedSkills.getSkillTitle(skill.ToString().ToLower()); string rank = PatchedSkills.getSkillRank((byte)level); int levelInt = (int)level; string message = ""; ZPackage pkg = new ZPackage(); //Add number of clean lines to package pkg.Write(1); // check if a new rank has been acquired if (levelInt % 10 == 0) { message = $"{rank} {title}!"; // TODO use Message() on Player class! // _instance.Message(, message); var icon = PatchedSkills.getSkillIcon(skill); // MessageHud.MessageType type, string msg, int amount = 0, icon = null) ShowMessage("self", message, icon: icon); } pkg.Write($"{skill.ToString()}:{(byte)level}"); EpicTitles.Log.LogInfo($"SENT SKILL: {skill.ToString()}:{(byte)level}"); ZRoutedRpc.instance.InvokeRoutedRPC("SkillUpdate", Player.m_localPlayer.GetPlayerName(), pkg); // send update to the server // sendSkillUpdate(skill, level); // ZRoutedRpc.instance.InvokeRoutedRPC(ZRoutedRpc.Everybody, "SkillUpdate", Player.m_localPlayer.GetPlayerName(), skill.ToString(), (int)level); // ZRoutedRpc.instance.InvokeRoutedRPC("SkillUpdate", Player.m_localPlayer.GetPlayerName(), skill.ToString(), (int)level); // EpicTitles.Log.LogInfo("SkillUpdateSent"); // TODO retrieve a list of the skills with the current value // List<Skills.Skill> char_skills = __instance.GetSkills().GetSkillList(); // Log.LogInfo($"{skill.m_info}: {skill.m_level}"); // foreach (KeyValuePair<Skills.SkillType, Skills.Skill> keyValuePair in __instance.GetSkills().char_skills) // { // list.Add(keyValuePair.Value); // } // foreach (var skillx in char_skills){ // Log.LogInfo(string.Format("Skill: {0}", skillx)); // } }