| Fight/MapTransferUtility.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/KnapSack/Logic/PackSendQuestMgr.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/OpenServerGiftWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Skill/SkillModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Fight/MapTransferUtility.cs
@@ -287,6 +287,7 @@ { //Debug.LogFormat(" |-- 不在同一分线: {0} != {1}", _lineID, PlayerDatas.Instance.baseData.FBID); _forceTransfer = true; npcID = 0; } } else @@ -294,8 +295,6 @@ Debug.LogErrorFormat("对应的地图ID: {0} 在配置中没有对应的分线id", _npcLocation.mapId); } } npcID = 0; } // 如果不是处于相同地图, 则切图 System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -689,19 +689,6 @@ return; } if (useItemModel.itemInfo.ItemID == fairyModel.changeFairyNameItem) { if(PlayerDatas.Instance.fairyData.HasFairy) { WindowCenter.Instance.Open<FamilyChangeNameWin>(); } else { SysNotifyMgr.Instance.ShowTip("jiazu_andyshao_0"); } return; } if(playerPack.CheckIsDrugById(useItemModel.itemInfo.ItemID)) { if(CheckItemUselimit(useItemModel.chinItemModel)) @@ -827,6 +814,27 @@ return; } if (itemModel.chinItemModel.Effect1 == 209 && !PlayerDatas.Instance.fairyData.HasFairy) { SysNotifyMgr.Instance.ShowTip("jiazu_andyshao_0"); return; } if (useItemModel.itemInfo.ItemID == fairyModel.changeFairyNameItem) { if (PlayerDatas.Instance.fairyData.HasFairy) { WindowCenter.Instance.Open<FamilyChangeNameWin>(); } else { SysNotifyMgr.Instance.ShowTip("jiazu_andyshao_0"); } return; } ulong maxValue = 0; playerPack.IsReachUseLimit(itemModel.itemInfo.ItemGUID, out maxValue); if (itemModel.chinItemModel.BatchUse != 0 && maxValue > 1) @@ -908,13 +916,6 @@ if(fruitConfig != null && (sumHaveUseCnt >= fruitConfig.MaxUseCnt || useCnt > fruitConfig.MaxUseCnt)) { SysNotifyMgr.Instance.ShowTip("UseCntLimit"); return; } if(itemModel.chinItemModel.Effect1 == 209 && !PlayerDatas.Instance.fairyData.HasFairy) { SysNotifyMgr.Instance.ShowTip("jiazu_andyshao_0"); return; } System/OpenServerActivity/OpenServerGiftWin.cs
@@ -111,7 +111,7 @@ private void TimeLimitUpdate() { DisplayTimer(); Display(); } void DisplayTimer() System/Skill/SkillModel.cs
@@ -47,6 +47,8 @@ public Dictionary<int, Dictionary<int, List<SkillConfig>>> skillActDict { get; private set; } public List<int> betterPassSkills { get; private set; } public bool jumpToPass { get; set; } public int minTaskHole { get; private set; } public int maxTaskHole { get; private set; } void ParseConfig() { for (int i = 1; i <= 3; i++) @@ -71,6 +73,14 @@ PassSkillLimit limit = JsonMapper.ToObject<PassSkillLimit>(jsonData[key].ToJson()); limit.hole = int.Parse(key); passSkillLimits.Add(limit); if (minTaskHole == 0 && limit.OpenSkillSlots > 0) { minTaskHole = limit.OpenSkillSlots; } if (limit.OpenSkillSlots > maxTaskHole) { maxTaskHole = limit.OpenSkillSlots; } } passEquipCnt = int.Parse(funcCfg.Numerical2); taskHoleDict = ConfigParse.GetDic<int, int>(funcCfg.Numerical4); @@ -290,7 +300,7 @@ public event Action taskUnlockUpdate; public int taskHoleCondition { get; private set; } public uint taskHoleCondition { get; private set; } public const string TASKHOLEKEY = "OpenSkillSlots"; @@ -305,9 +315,10 @@ if (task._DicTaskInformation.ContainsKey(1) && task._DicTaskInformation[1].ContainsKey(TASKHOLEKEY)) { var value = 0; int.TryParse(task._DicTaskInformation[1][TASKHOLEKEY], out value); return value >= condition; uint value = 0; uint.TryParse(task._DicTaskInformation[1][TASKHOLEKEY], out value); return MathUtility.GetBitValue(value, (ushort)condition); //return value >= condition; } return false; } @@ -319,11 +330,18 @@ var dict = _Dic[1]; if (dict.ContainsKey(TASKHOLEKEY)) { var result = 0; int.TryParse(dict[TASKHOLEKEY], out result); if (result != taskHoleCondition && playerLoginOk) uint result = 0; uint.TryParse(dict[TASKHOLEKEY], out result); if (playerLoginOk) { UnlockPassHole = result; for (int k = minTaskHole; k <= maxTaskHole; k++) { if (!MathUtility.GetBitValue(taskHoleCondition, (ushort)k) && MathUtility.GetBitValue(result, (ushort)k)) { UnlockPassHole = k; } } if (taskUnlockUpdate != null) { taskUnlockUpdate();