From 7ae9db7a15248cdc6dff8970b55b2efb424d8b5a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 11 五月 2019 15:32:34 +0800
Subject: [PATCH] 6747 【后端】【2.0】灵根调整
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 5 ++++-
PySysDB/PySysDBPY.h | 3 ++-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 18 ++++++++++++------
3 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index eb00701..28908bc 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -15,7 +15,8 @@
struct tagRolePoint
{
BYTE _AttrID; //属性ID
- dict AddAttrInfoPerPoint; //每点增加属性信息
+ dict AddAttrInfoPerPoint; //每点增加属性信息 {"职业":[[每X点,属性ID,值], ...], ..}
+ BYTE FightPowerPerPoint; //每点附加战斗力
dict PointQualityAttrIDDict; //点数品质进阶增加属性ID, 根据职业区分
dict PointQualityAttrValueDict; //点数品质进阶增加属性值列表, 根据职业区分
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 2617274..757b045 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -44,6 +44,7 @@
"RolePoint":(
("BYTE", "AttrID", 1),
("dict", "AddAttrInfoPerPoint", 0),
+ ("BYTE", "FightPowerPerPoint", 0),
("dict", "PointQualityAttrIDDict", 0),
("dict", "PointQualityAttrValueDict", 0),
("list", "PointQualityIntervalList", 0),
@@ -1495,13 +1496,15 @@
def __init__(self):
self.AttrID = 0
self.AddAttrInfoPerPoint = {}
+ self.FightPowerPerPoint = 0
self.PointQualityAttrIDDict = {}
self.PointQualityAttrValueDict = {}
self.PointQualityIntervalList = []
return
def GetAttrID(self): return self.AttrID # 属性ID
- def GetAddAttrInfoPerPoint(self): return self.AddAttrInfoPerPoint # 每点增加属性信息
+ 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 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 c130127..e561f47 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -4085,6 +4085,7 @@
#GameWorld.DebugLog("等级加属性: %s" % allAttrList)
# 属性点属性
+ pointFightPowerEx = 0
pointValueInfo = {ShareDefine.Def_Effect_Metal:[lambda curObj:GetMetal(curObj), lambda curObj, value:SetMetalQualityLV(curObj, value)],
ShareDefine.Def_Effect_Wood:[lambda curObj:GetWood(curObj), lambda curObj, value:SetWoodQualityLV(curObj, value)],
ShareDefine.Def_Effect_Water:[lambda curObj:GetWater(curObj), lambda curObj, value:SetWaterQualityLV(curObj, value)],
@@ -4101,12 +4102,15 @@
if not ipyData:
continue
# 每点属性
- perPointAddAttrDict = ipyData.GetAddAttrInfoPerPoint()
- for perPointAttrID, perPointAttrValue in perPointAddAttrDict.items():
- pointAddValue = perPointAttrValue * pointValue
- CalcAttrDict_Type(perPointAttrID, pointAddValue, allAttrList)
- #GameWorld.DebugLog(" 属性点(%s)加属性: pointValue=%s,perPointAttrID=%s,pointAddValue=%s" % (pointAttrID, pointValue, perPointAttrID, pointAddValue))
+ perPointAddAttrDict = ipyData.GetAddAttrInfoPerPoint() # {"职业":[[每X点,属性ID,值], ...], ..}
+ addAttrList = perPointAddAttrDict.get(str(job), [])
+ for needPoint, pointAddAttrID, pointAddAttrValue in addAttrList:
+ pointAddValueTotal = pointAddAttrValue * (pointValue / needPoint)
+ CalcAttrDict_Type(pointAddAttrID, pointAddValueTotal, allAttrList)
+ #GameWorld.DebugLog(" 属性点(%s)加属性: pointValue=%s,pointAddAttrID=%s,pointAddValueTotal=%s" % (pointAttrID, pointValue, pointAddAttrID, pointAddValueTotal))
+ pointFightPowerEx += (ipyData.GetFightPowerPerPoint() * pointValue)
+
# 点数品质属性
curPQLV = 0
pqIntervalList = ipyData.GetPointQualityIntervalList()
@@ -4127,7 +4131,9 @@
#GameWorld.DebugLog(" 属性点(%s)品阶等级属性: curPQLV=%s,pqAttrID=%s,pqAttrValue=%s" % (pointAttrID, curPQLV, pqAttrID, pqAttrValue))
#GameWorld.DebugLog("等级属性点加属性: %s" % allAttrList)
- #GameWorld.DebugLog("灵根品阶等级属性: %s" % lingGenQualityAttrList)
+ #GameWorld.DebugLog("灵根品阶等级属性: %s" % lingGenQualityAttrList)
+ #GameWorld.DebugLog("灵根点数附加战力: %s" % pointFightPowerEx)
+ curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Role, pointFightPowerEx)
SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_RoleBase, allAttrList)
SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_LingGenQuailty, lingGenQualityAttrList)
return
--
Gitblit v1.8.0