少年修仙传客户端代码仓库
Client_PangDeRong
2018-11-01 9dae137ab9eb76ec4e544dacb96180eac8488d3a
2266 【1.2.0】进入人皇副本,不提示使用经验药水
2个文件已修改
94 ■■■■ 已修改文件
System/KnapSack/Logic/PackSendQuestMgr.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PlayerPackModels.cs 92 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -703,7 +703,7 @@
            }
            int dungeonID = playerPack.GetDungeonIDByDrugID(useItemModel.itemInfo.ItemID);
            if (dungeonID != 0 && useItemModel.chinItemModel.Type == (int)ItemType.Buff)
            if (dungeonID != 0)
            {
                MapConfig tagMapModel = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID);
                if (tagMapModel.MapFBType == 0)
System/KnapSack/Logic/PlayerPackModels.cs
@@ -621,6 +621,7 @@
        public int wingsRedpointLvlimt { get; private set; }
        public int fairyGetPathId { get; private set; }
        public Dictionary<int, int> wingsGetPathIdDict { get; private set;}
        public Dictionary<int, List<int>> dungeonUseDict { get; private set; }
        public void ParseConfig()
        {
            FuncConfigConfig funcConfig = Config.Instance.Get<FuncConfigConfig>("WingYuPeiHQTJ");
@@ -628,6 +629,22 @@
            wingsRedpointLvlimt = int.Parse(funcConfig.Numerical2);
            fairyGetPathId = int.Parse(funcConfig.Numerical3);
            wingsGetPathIdDict = ConfigParse.GetDic<int, int>(funcConfig.Numerical4);
            FuncConfigConfig copyItemBulletWindow = Config.Instance.Get<FuncConfigConfig>("CopyItemBulletWindow");
            JsonData copyWinData = JsonMapper.ToObject(copyItemBulletWindow.Numerical1);
            dungeonUseDict = new Dictionary<int, List<int>>();
            foreach (var dungeonId in copyWinData.Keys)
            {
                List<int> idlist = new List<int>();
                dungeonUseDict.Add(int.Parse(dungeonId),idlist);
                if(copyWinData[dungeonId].IsArray)
                {
                    JsonData useData = copyWinData[dungeonId];
                    for(int i = 0; i < useData.Count; i++)
                    {
                        idlist.Add(int.Parse(useData[i].ToString()));
                    }
                }
            }
        }
        public int GetRoleEquipPathId(int equipPlace)
@@ -1205,32 +1222,10 @@
            }
            cacheMapId = PlayerDatas.Instance.baseData.MapID;
            int[] useDrugs = GetDrugIDListByDungeonID(cacheMapId);
            if (useDrugs == null) return;
            UpdateDungeonDanUse();
            UpdateDungeonUse();
            SinglePackModel singlePack = GetSinglePackModel(PackType.rptItem);
            for(int i = 0; i < useDrugs.Length; i++)
            {
                SkillConfig skillConfig = GetSkillConfig(useDrugs[i]);
                if(skillConfig != null)
                {
                    if(!itemUseTypeDict.ContainsKey(skillConfig.SkillTypeID))
                    {
                        itemUseTypeDict.Add(skillConfig.SkillTypeID,useDrugs[i]);
                    }
                    else
                    {
                        SkillConfig preSkillConfig = GetSkillConfig(itemUseTypeDict[skillConfig.SkillTypeID]);
                        if(skillConfig.SkillLV > preSkillConfig.SkillLV)
                        {
                            itemUseTypeDict[skillConfig.SkillTypeID] = useDrugs[i];
                        }
                    }
                }
            }
            foreach(int itemId in itemUseTypeDict.Values)
            foreach (int itemId in itemUseTypeDict.Values)
            {
                List<ItemModel> modellist = null;
                singlePack.GetItemCountByID(itemId, out modellist);
@@ -1247,6 +1242,53 @@
            }
        }
        private void AddItemUseTypeDict(int id)
        {
            SkillConfig skillConfig = GetSkillConfig(id);
            int itemCount = GetItemCountByID(PackType.rptItem, id);
            if (skillConfig != null && itemCount > 0)
            {
                if (!itemUseTypeDict.ContainsKey(skillConfig.SkillTypeID))
                {
                    itemUseTypeDict.Add(skillConfig.SkillTypeID,id);
                }
                else
                {
                    SkillConfig preSkillConfig = GetSkillConfig(itemUseTypeDict[skillConfig.SkillTypeID]);
                    if (skillConfig.SkillLV > preSkillConfig.SkillLV)
                    {
                        itemUseTypeDict[skillConfig.SkillTypeID] = id;
                    }
                }
            }
        }
        private void UpdateDungeonDanUse()
        {
            int mapId = PlayerDatas.Instance.baseData.MapID;
            int[] useDrugs = GetDrugIDListByDungeonID(mapId);
            if (useDrugs == null) return;
            for (int i = 0; i < useDrugs.Length; i++)
            {
                int id = useDrugs[i];
                AddItemUseTypeDict(id);
            }
        }
        private void UpdateDungeonUse()
        {
            int mapId = PlayerDatas.Instance.baseData.MapID;
            if (!dungeonUseDict.ContainsKey(mapId)) return;
            List<int> useIdlist = dungeonUseDict[mapId];
            for(int i = 0; i < useIdlist.Count; i++)
            {
                int id = useIdlist[i];
                AddItemUseTypeDict(id);
            }
        }
        public SkillConfig GetSkillConfig(int itemId)
        {
            ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(itemId);