From c6c313f866847236583731e2fc64a7981342caa1 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 29 五月 2019 11:31:49 +0800
Subject: [PATCH] 6993 【后端】【2.0】灵根品质属性

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py        |    9 +++------
 PySysDB/PySysDBPY.h                                                                         |    3 +--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py |   12 +++++-------
 3 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 70fd72c..f9628fe 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -17,8 +17,7 @@
 	BYTE		_AttrID;	//属性ID
     dict		AddAttrInfoPerPoint;	//每点增加属性信息 {"职业":[[每X点,属性ID,值], ...], ..}
 	BYTE		FightPowerPerPoint;		//每点附加战斗力
-	dict		PointQualityAttrIDDict;		//点数品质进阶增加属性ID, 根据职业区分
-	dict		PointQualityAttrValueDict;		//点数品质进阶增加属性值列表, 根据职业区分
+	dict		PointQualityAttrDict;		//点数品质进阶增加属性,  {职业:{属性ID:[阶段属性,..],..},..}
 	list		PointQualityIntervalList;		//点数品质进阶属性点区间列表
 };
 
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 3b4a73b..576779c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -45,8 +45,7 @@
                         ("BYTE", "AttrID", 1),
                         ("dict", "AddAttrInfoPerPoint", 0),
                         ("BYTE", "FightPowerPerPoint", 0),
-                        ("dict", "PointQualityAttrIDDict", 0),
-                        ("dict", "PointQualityAttrValueDict", 0),
+                        ("dict", "PointQualityAttrDict", 0),
                         ("list", "PointQualityIntervalList", 0),
                         ),
 
@@ -1491,16 +1490,14 @@
         self.AttrID = 0
         self.AddAttrInfoPerPoint = {}
         self.FightPowerPerPoint = 0
-        self.PointQualityAttrIDDict = {}
-        self.PointQualityAttrValueDict = {}
+        self.PointQualityAttrDict = {}
         self.PointQualityIntervalList = []
         return
         
     def GetAttrID(self): return self.AttrID # 属性ID
     def GetAddAttrInfoPerPoint(self): return self.AddAttrInfoPerPoint # 每点增加属性信息 {"职业":[[每X点,属性ID,值], ...], ..}
     def GetFightPowerPerPoint(self): return self.FightPowerPerPoint # 每点附加战斗力
-    def GetPointQualityAttrIDDict(self): return self.PointQualityAttrIDDict # 点数品质进阶增加属性ID, 根据职业区分
-    def GetPointQualityAttrValueDict(self): return self.PointQualityAttrValueDict # 点数品质进阶增加属性值列表, 根据职业区分
+    def GetPointQualityAttrDict(self): return self.PointQualityAttrDict # 点数品质进阶增加属性,  {职业:{属性ID:[阶段属性,..],..},..}
     def GetPointQualityIntervalList(self): return self.PointQualityIntervalList # 点数品质进阶属性点区间列表
 
 # 境界表
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index bd5cfad..5910cfd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -4163,13 +4163,11 @@
             pointFuncInfo[1](curPlayer, curPQLV)
             if not curPQLV:
                 continue
-            pqAttrIDDict = ipyData.GetPointQualityAttrIDDict()
-            pqAttrID = pqAttrIDDict[curPlayer.GetJob()]
-            pqAttrValueDict = ipyData.GetPointQualityAttrValueDict()
-            pqAttrValueList = pqAttrValueDict[str(curPlayer.GetJob())]
-            pqAttrValue = 0 if curPQLV > len(pqAttrValueList) else pqAttrValueList[curPQLV - 1]
-            CalcAttrDict_Type(pqAttrID, pqAttrValue, lingGenQualityAttrList)
-            #GameWorld.DebugLog("        属性点(%s)品阶等级属性: befPQLV=%s,curPQLV=%s,pqAttrID=%s,pqAttrValue=%s" % (pointAttrID, befPQLV, curPQLV, pqAttrID, pqAttrValue))
+            pqAttrInfoDict = ipyData.GetPointQualityAttrDict().get(str(curPlayer.GetJob()), {})
+            for pqAttrID, pqAttrValueList in pqAttrInfoDict.items():
+                pqAttrValue = 0 if curPQLV > len(pqAttrValueList) else pqAttrValueList[curPQLV - 1]
+                CalcAttrDict_Type(int(pqAttrID), pqAttrValue, lingGenQualityAttrList)
+            #GameWorld.DebugLog("        属性点(%s)品阶等级属性: befPQLV=%s,curPQLV=%s,pqAttrInfoDict=%s" % (pointAttrID, befPQLV, curPQLV, pqAttrInfoDict))
             if hadRefreshAttr and befPQLV < curPQLV:
                 EventShell.EventRespons_LingGenQualityUP(curPlayer, pointAttrID, curPQLV)
                 

--
Gitblit v1.8.0