public void CommandGetCombatEffectivenessRank(int netId, OccupationType ocp)
        {
            E_Character charObj = EM_Character.s_instance.GetCharacterByNetworkId(netId);

            if (charObj == null)
            {
                return;
            }
            var topCombatEfctRnkCharInfoList = EM_Rank.s_instance.GetTopCombatEfctRnkCharIdAndCombatEfctList(ocp, 10);
            var topCombatEfctRnkList         = new List <NO_FightCapacityRankInfo> (topCombatEfctRnkCharInfoList.Count);

            for (int i = 0; i < topCombatEfctRnkCharInfoList.Count; i++)
            {
                var charInfo = topCombatEfctRnkCharInfoList[i];
                topCombatEfctRnkList.Add(new NO_FightCapacityRankInfo(charInfo.m_charId, charInfo.m_name, charInfo.m_level, (short)i, charInfo.m_combatEfct, "无", (byte)charInfo.m_ocp));
            }
            var myCombatEfctAndRank = EM_Rank.s_instance.GetCombatEfctAndRank(ocp, charObj.m_characterId, charObj.m_Occupation);

            m_networkService.SendServerCommand(SC_ApplyShowFightCapacityRank.Instance(netId, topCombatEfctRnkList, myCombatEfctAndRank.Item1, (short)myCombatEfctAndRank.Item2));
        }
        public void CommandApplyDistributePoints(int netId, short str, short intl, short agl, short spr)
        {
            E_Character charObj = EM_Character.s_instance.GetCharacterByNetworkId(netId);

            if (charObj == null)
            {
                return;
            }
            charObj.DistributePoints(str, intl, agl, spr);
            // 角色加点后, 具体属性变化
            this.MainPointToConAttr(charObj);
            // 战斗力变化
            GL_CharacterCombatEfct.s_instance.NotifyCombatEffectivenessChange(charObj);
            // dds 与 client
            EM_Character.s_instance.SaveCharacterAttribute(charObj);
            m_networkService.SendServerCommand(SC_ApplySelfMainAttribute.Instance(
                                                   netId,
                                                   charObj.m_strength,
                                                   charObj.m_intelligence,
                                                   charObj.m_agility,
                                                   charObj.m_spirit));
        }
Ejemplo n.º 3
0
        public void CommandApplyAttachTitle(int netId, short misId)
        {
            E_Character charObj = EM_Character.s_instance.GetCharacterByNetworkId(netId);

            if (charObj == null)
            {
                return;
            }
            IReadOnlyList <(ActorUnitConcreteAttributeType, int)> titleAttr, oriTitleAttr;

            if (EM_Mission.s_instance.AttachTitle(netId, misId, out titleAttr, out oriTitleAttr))
            {
                if (oriTitleAttr != null)
                {
                    GL_CharacterAttribute.s_instance.NotifyConcreteAttributeMinus(charObj, oriTitleAttr);
                }
                GL_CharacterAttribute.s_instance.NotifyConcreteAttributeAdd(charObj, titleAttr);
                m_networkService.SendServerCommand(SC_ApplyAllAttachTitle.Instance(EM_Sight.s_instance.GetInSightCharacterNetworkId(netId, true), netId, misId));
            }
            else
            {
                GL_Chat.s_instance.NotifyBuyItemBagFullSendMessage(netId);
            }
        }
 public void NotifyCombatEffectivenessChange(E_Character charObj)
 {
     EM_Rank.s_instance.UpdateCharCombatEfct(charObj.m_characterId, charObj.m_Occupation, charObj.m_name, charObj.m_Level, charObj.m_Attack, charObj.m_Magic, charObj.m_MaxHp, charObj.m_MaxMp, charObj.m_Defence, charObj.m_agility, charObj.m_CriticalRate, charObj.m_CriticalBonus, charObj.m_HitRate, charObj.m_DodgeRate);
 }
 public void NotifyRemoveCharacter(E_Character charObj)
 {
     EM_Rank.s_instance.RemoveCharacter(charObj);
 }
 public void NotifyInitCharacter(E_Character charObj)
 {
     NotifyCombatEffectivenessChange(charObj);
 }
 public void NotifyConcreteAttributeAdd(E_Character charObj, IReadOnlyList <(ActorUnitConcreteAttributeType, int)> attrList)
Ejemplo n.º 8
0
 public void NotifyInitCharacter(E_Character charObj)
 {
     EM_Sight.s_instance.InitCharacter(charObj);
 }