コード例 #1
0
ファイル: Ladders.cs プロジェクト: xashenx/valheim_ashen_mods
        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);
        }
コード例 #2
0
        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));
            // }
        }