From 9d5ec7599f3abe0cebb76ce1df3c3b8c4e0aa51e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 10 二月 2026 11:40:15 +0800
Subject: [PATCH] 66 【公会】基础主体-服务端(跨服聊天;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py |   31 ++++++++++++++++++-------------
 1 files changed, 18 insertions(+), 13 deletions(-)

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 204b7a5..19e6d2b 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
@@ -30,6 +30,7 @@
 import ChItem
 import IpyGameDataPY
 import ChPyNetSendPack
+import GameWorldEvent
 import NetPackCommon
 import PyGameData
 import ChEquip
@@ -51,7 +52,7 @@
 
 #---------------------------------------------------------------------
 def InitPyItem():
-    if PyGameData.InitPyItem:
+    if PyGameData.g_initPyItem:
         return
     GameWorld.Log("加载物品数据...")
     
@@ -96,7 +97,8 @@
     GameWorld.Log("货币类型1个数量对应物品ID: %s" % PyGameData.MoneyItemIDDict)
     if not PyGameData.MoneyItemIDDict:
         GameWorld.SendGameErrorEx("InitPyItemError", "启动加载物品数据异常! itemCount=%s" % gameData.GetItemCount())
-    PyGameData.InitPyItem = True
+    PyGameData.g_initPyItem = True
+    GameWorldEvent.OnServerInitOK()
     return
 
 def GetMoneyItemID(moneyType):
@@ -573,19 +575,10 @@
         return
     
     gwLV = max(1, curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MGGanwuLV))
-    gwIpyData = IpyGameDataPY.GetIpyGameData("MGGanwuLV", gwLV)
     colorIpyData = IpyGameDataPY.GetIpyGameData("MGGuayuQuality", itemColor)
     typeIpyData = IpyGameDataPY.GetIpyGameData("MGGuayuType", itemType)
-    if not gwIpyData or not colorIpyData or not typeIpyData:
+    if not colorIpyData or not typeIpyData:
         return
-    
-    # 四维基础值、加成值
-    baseAttrDict = {ChConfig.AttrID_Atk:[gwIpyData.GetAtkBase(), colorIpyData.GetAtkPlus()],
-                    ChConfig.AttrID_Def:[gwIpyData.GetDefBase(), colorIpyData.GetDefPlus()],
-                    ChConfig.AttrID_MaxHP:[gwIpyData.GetHPBase(), colorIpyData.GetHPPlus()],
-                    ChConfig.AttrID_AtkSpeed:[gwIpyData.GetAtkSpeedBase(), colorIpyData.GetAtkSpeedPlus()],
-                    }
-    batAttrBaseDict = gwIpyData.GetBatAttrBaseDict() # 其他战斗属性基础值字典,{属性ID:基础值, ...}
     
     # 四维占比
     attrProportion = typeIpyData.GetBaseAttrProportion()
@@ -596,10 +589,22 @@
     if not itemLV:
         # 随机等级
         lowLV, highLV = IpyGameDataPY.GetFuncEvalCfg("MinggeTY", 2)
-        randLVList = range(max(gwLV + lowLV, 1), gwLV + highLV)
+        randLVList = range(max(gwLV + lowLV, 1), gwLV + highLV + 1)
         itemLV = random.choice(randLVList)
     equipAttrDict[str(ShareDefine.Def_IudetItemLV)] = itemLV
     
+    gwIpyData = IpyGameDataPY.GetIpyGameData("MGGanwuLV", itemLV)
+    if not gwIpyData:
+        return
+    
+    # 四维基础值、加成值
+    baseAttrDict = {ChConfig.AttrID_Atk:[gwIpyData.GetAtkBase(), colorIpyData.GetAtkPlus()],
+                    ChConfig.AttrID_Def:[gwIpyData.GetDefBase(), colorIpyData.GetDefPlus()],
+                    ChConfig.AttrID_MaxHP:[gwIpyData.GetHPBase(), colorIpyData.GetHPPlus()],
+                    ChConfig.AttrID_AtkSpeed:[gwIpyData.GetAtkSpeedBase(), colorIpyData.GetAtkSpeedPlus()],
+                    }
+    batAttrBaseDict = gwIpyData.GetBatAttrBaseDict() # 其他战斗属性基础值字典,{属性ID:基础值, ...}
+    
     GameWorld.DebugLog("生成命格卦玉: gwLV=%s,itemID=%s,itemLV=%s,itemColor=%s,itemType=%s" % (gwLV, itemID, itemLV, itemColor, itemType), playerID)
     legendAttrIDList = setAttrDict.get(str(ShareDefine.Def_IudetLegendAttrID))
     legendAttrValueList = setAttrDict.get(str(ShareDefine.Def_IudetLegendAttrValue))

--
Gitblit v1.8.0