From f5a2d72d60cf43cf28a44868d62deeda8d10482f Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 28 六月 2019 20:48:13 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py                                                   |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py                         |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py                                 |    3 -
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py                          |    9 +++-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py                                      |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py                                      |    8 ++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py                         |    2 
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py                                                           |    8 ++--
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py                                          |    2 
 ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py                                                           |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MagicWeapon.py   |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FairyTreasure.py |   19 ++-------
 12 files changed, 27 insertions(+), 34 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 84eae5a..1938000 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -14001,7 +14001,7 @@
     Head = tagHead()
     PointAttrIDCount = 0    #(BYTE PointAttrIDCount)// 加点属性ID个数
     PointAttrIDList = list()    #(vector<BYTE> PointAttrIDList)// 加点属性ID列表
-    PointValueList = list()    #(vector<WORD> PointValueList)// 加点属性ID对应的点数列表
+    PointValueList = list()    #(vector<DWORD> PointValueList)// 加点属性ID对应的点数列表
     data = None
 
     def __init__(self):
@@ -14018,7 +14018,7 @@
             value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
             self.PointAttrIDList.append(value)
         for i in range(self.PointAttrIDCount):
-            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
+            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
             self.PointValueList.append(value)
         return _pos
 
@@ -14037,7 +14037,7 @@
         length += self.Head.GetLength()
         length += 1
         length += 1 * self.PointAttrIDCount
-        length += 2 * self.PointAttrIDCount
+        length += 4 * self.PointAttrIDCount
 
         return length
 
@@ -14048,7 +14048,7 @@
         for i in range(self.PointAttrIDCount):
             data = CommFunc.WriteBYTE(data, self.PointAttrIDList[i])
         for i in range(self.PointAttrIDCount):
-            data = CommFunc.WriteWORD(data, self.PointValueList[i])
+            data = CommFunc.WriteDWORD(data, self.PointValueList[i])
         return data
 
     def OutputString(self):
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
index e35ab19..5b1da6b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
@@ -677,7 +677,7 @@
 
 def SetBossRefreshTime(bossid, killedTime):
     '''设置boss刷新时间'''
-    ipyData = IpyGameDataPY.GetIpyGameData('BOSSInfo', bossid)
+    ipyData = IpyGameDataPY.GetIpyGameDataNotLog('BOSSInfo', bossid)
     if not ipyData:
         return
     onlineCnt = __GetBossOnlineHeroCnt(bossid)[0]
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
index ffb5720..312fb5d 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py
@@ -132,7 +132,7 @@
             if not lackCnt:
                 break
     elif lackCnt < 0:
-        GameWorld.ErrLog('    随机假仙盟异常 已存在的随机数大于还需要的随机个数lackFakeCnt=%s,fakeIDList=%s'%(lackFakeCnt, fakeIDList))
+        #GameWorld.DebugLog('    随机假仙盟异常 已存在的随机数大于还需要的随机个数lackFakeCnt=%s,fakeIDList=%s'%(lackFakeCnt, fakeIDList))
         return []
     return fakeIDList
 
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 88cb957..1ea02d6 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -1415,7 +1415,7 @@
 DailyActionID_EquipPlus, # 强化
 DailyActionID_FieldFight, # 野外挂机
 DailyActionID_OfflineFight, # 脱机挂机
-DailyActionID_RefineStove, # 炼丹材料消耗 6
+DailyActionID_RefineStove, # 炼丹材料消耗 6(废弃)
 DailyActionID_Dice, # 我要太极
 DailyActionID_Pray, # 祈愿
 DailyActionID_WorldBOSS, # 世界BOSS
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index 84eae5a..1938000 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -14001,7 +14001,7 @@
     Head = tagHead()
     PointAttrIDCount = 0    #(BYTE PointAttrIDCount)// 加点属性ID个数
     PointAttrIDList = list()    #(vector<BYTE> PointAttrIDList)// 加点属性ID列表
-    PointValueList = list()    #(vector<WORD> PointValueList)// 加点属性ID对应的点数列表
+    PointValueList = list()    #(vector<DWORD> PointValueList)// 加点属性ID对应的点数列表
     data = None
 
     def __init__(self):
@@ -14018,7 +14018,7 @@
             value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
             self.PointAttrIDList.append(value)
         for i in range(self.PointAttrIDCount):
-            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
+            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
             self.PointValueList.append(value)
         return _pos
 
@@ -14037,7 +14037,7 @@
         length += self.Head.GetLength()
         length += 1
         length += 1 * self.PointAttrIDCount
-        length += 2 * self.PointAttrIDCount
+        length += 4 * self.PointAttrIDCount
 
         return length
 
@@ -14048,7 +14048,7 @@
         for i in range(self.PointAttrIDCount):
             data = CommFunc.WriteBYTE(data, self.PointAttrIDList[i])
         for i in range(self.PointAttrIDCount):
-            data = CommFunc.WriteWORD(data, self.PointValueList[i])
+            data = CommFunc.WriteDWORD(data, self.PointValueList[i])
         return data
 
     def OutputString(self):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FairyTreasure.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FairyTreasure.py
index c679175..8b87279 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FairyTreasure.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FairyTreasure.py
@@ -52,23 +52,14 @@
     giveItemList = PlayerFairyDomain.GetFairyAppointAward(curPlayer, fdeventID)
     if not giveItemList:
         awardCfg = FBCommon.GetFBLineReward(ChConfig.Def_FBMapID_FairyTreasure, lineID)
-        curAlchemyLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_AlchemyLV)
         giveItemList = []
         for awardRateList in awardCfg:
-            newItemInfoList = []
-            for itemInfo in awardRateList:
-                itemID = itemInfo[1][0]
-                itemData = GameWorld.GetGameData().GetItemByTypeID(itemID)
-                if not itemData:
-                    return
-                if curAlchemyLV < ItemCommon.GetItemClassLV(itemData) - 1:
-                    #丹炉等级不足
-                    continue
-    
-                newItemInfoList.append(itemInfo)
-            if not newItemInfoList:
+            realWeightList = ItemCommon.GetWeightItemListByAlchemyDiffLV(curPlayer, awardRateList, 1)
+            if not realWeightList:
                 continue
-            randomitem = GameWorld.GetResultByWeightList(newItemInfoList)
+            randomitem = GameWorld.GetResultByWeightList(realWeightList)
+            if not randomitem[0]:
+                continue
             giveItemList.append(randomitem)
             
     if giveItemList:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MagicWeapon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MagicWeapon.py
index a4473cb..f9f1ec9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MagicWeapon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MagicWeapon.py
@@ -145,7 +145,7 @@
     gameFB = GameWorld.GetGameFB()
     lineID = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ReqFBFuncLine)
     level, maxLevel = 0, 0
-    ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('MagicWeaponFB', {'LineID':lineID}, True)
+    ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('MagicWeaponFB', {'LineID':lineID}, True, False)
     if ipyDataList:
         mwID = ipyDataList[0].GetMWID()
         level = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MWFBPassLevel % mwID)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
index 6b6a747..77e9171 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
@@ -1927,12 +1927,14 @@
     return itemDict
 
 def GetWeightItemListByAlchemyDiffLV(curPlayer, weightList, alchemyDiffLV):
-    ''' 根据炼丹等级差异等级过滤权重列表中不满足的物品,返回新的权重列表
+    ''' 根据炼丹等级差异等级过滤权重列表中不满足的物品,过滤最低玩家等级要求物品  返回新的权重列表
     @param weightList: 物品权重信息列表
     @param alchemyDiffLV: 是否过滤掉大于X级的炼丹等级物品,0-不过滤,1-过滤且读默认配置,>1-特殊功能指定的过滤等级
     '''
     resultWeightList = []
-    if alchemyDiffLV:
+    itemNeedPlayerLVDict = IpyGameDataPY.GetFuncEvalCfg("AlchemyDiffLV", 2, {})
+    if alchemyDiffLV or itemNeedPlayerLVDict:
+        playerLV = curPlayer.GetLV()
         # 如果有指定大于1的等级则取指定等级,没有的话取默认等级差
         if alchemyDiffLV == 1:
             alchemyDiffLV = IpyGameDataPY.GetFuncCfg("AlchemyDiffLV", 1)
@@ -1945,6 +1947,9 @@
                     continue
                 if GetItemClassLV(itemData) > curAlchemyLV + alchemyDiffLV:
                     continue
+                if itemID in itemNeedPlayerLVDict:
+                    if playerLV < itemNeedPlayerLVDict[itemID]:
+                        continue
             resultWeightList.append(itemInfo)
     else:
         resultWeightList = weightList
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
index a6a5b63..d146863 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
@@ -71,7 +71,7 @@
 
 def ActiveMagicWeaponByFB(curPlayer, mapID, lineID, passLV=0):
     ##通关副本激活法宝(人族、魔族法宝)
-    ipyData = IpyGameDataPY.GetIpyGameDataByCondition('MagicWeaponFB', {'LineID':lineID, 'Level':passLV})
+    ipyData = IpyGameDataPY.GetIpyGameDataByCondition('MagicWeaponFB', {'LineID':lineID, 'Level':passLV}, isLogNone=False)
     if ipyData:
         mwID = ipyData.GetMWID()
         GameWorld.Log('更新魔族副本关卡 mwID=%s,level=%s' % (mwID, passLV), curPlayer.GetID())
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
index b83636a..6ea79b7 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
@@ -139,7 +139,7 @@
         Sycn_AlchemyMsg(curPlayer, alchemyID, False)
         #日常任务
         costItemCnt = sum(needMaterialDict.values())
-        PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_RefineStove, costItemCnt)
+        #PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_RefineStove, costItemCnt)
 
     elif doType == 2:
         if curAlchemyItemID != alchemyItemID:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 88cb957..1ea02d6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -1415,7 +1415,7 @@
 DailyActionID_EquipPlus, # 强化
 DailyActionID_FieldFight, # 野外挂机
 DailyActionID_OfflineFight, # 脱机挂机
-DailyActionID_RefineStove, # 炼丹材料消耗 6
+DailyActionID_RefineStove, # 炼丹材料消耗 6(废弃)
 DailyActionID_Dice, # 我要太极
 DailyActionID_Pray, # 祈愿
 DailyActionID_WorldBOSS, # 世界BOSS
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
index 35e701d..defaefe 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -1871,11 +1871,8 @@
     
     #升级技能CD直接冷却
     curSkill.SetRemainTime(0)
-    learnSkillNotifyDict = IpyGameDataPY.GetFuncEvalCfg("SPSkillType", 3, {})
     if curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_HorseSkill:
         PlayerControl.WorldNotify(0, 'GetMountSkill', [curPlayer.GetName(), curSkillID])
-    elif skillTypeID in learnSkillNotifyDict:
-        PlayerControl.WorldNotify(0, learnSkillNotifyDict[skillTypeID], [curPlayer.GetName(), curSkillID])        
     else:
         #通知技能已升级成功 GeRen_admin_31379
         PlayerControl.NotifyCode(curPlayer, "GeRen_admin_31379", [curSkillID, curSkill.GetSkillLV()])

--
Gitblit v1.8.0