From a6b6d774e4039fe551bfe2fbf82182ca1714479c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 11 五月 2024 18:02:35 +0800
Subject: [PATCH] 10071 【后端】灵宠改版(升阶增加玩家属性)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py | 10 ++++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 6 +++++-
PySysDB/PySysDBPY.h | 2 ++
3 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 54cb5e7..68e47cd 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -391,6 +391,8 @@
DWORD _Class; //灵兽阶数
DWORD UpNeedExp; //灵兽升阶所需经验数
DWORD AtkAdd; //每阶攻击力加成
+ list AttrType; //累计总属性类型
+ list AttrValue; //累计总属性值
};
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index f823162..4517f08 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -330,6 +330,8 @@
("DWORD", "Class", 1),
("DWORD", "UpNeedExp", 0),
("DWORD", "AtkAdd", 0),
+ ("list", "AttrType", 0),
+ ("list", "AttrValue", 0),
),
"PetEatEquip":(
@@ -2732,7 +2734,9 @@
def GetPetID(self): return self.attrTuple[0] # 灵兽NPCID DWORD
def GetClass(self): return self.attrTuple[1] # 灵兽阶数 DWORD
def GetUpNeedExp(self): return self.attrTuple[2] # 灵兽升阶所需经验数 DWORD
- def GetAtkAdd(self): return self.attrTuple[3] # 每阶攻击力加成 DWORD
+ def GetAtkAdd(self): return self.attrTuple[3] # 每阶攻击力加成 DWORD
+ def GetAttrType(self): return self.attrTuple[4] # 累计总属性类型 list
+ def GetAttrValue(self): return self.attrTuple[5] # 累计总属性值 list
# 灵兽吸收装备表
class IPY_PetEatEquip():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
index 2abebb8..6e5f552 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
@@ -825,6 +825,16 @@
attrValue = starAttrValue[i]
PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrListStar)
+ #升阶
+ classlv = petItem.GetUserAttr(ShareDefine.Def_IudetPet_ClassLV) + 1
+ classIpyData = IpyGameDataPY.GetIpyGameDataNotLog("PetClassCost", petItemNPCID, classlv)
+ if classIpyData:
+ attrTypeList = classIpyData.GetAttrType()
+ attrValueList = classIpyData.GetAttrValue()
+ for i, attrID in enumerate(attrTypeList):
+ attrValue = attrValueList[i]
+ PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrListStar)
+
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetSkin, allAttrListPetSkin)
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_PetStar, allAttrListStar)
curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Pet, fpExTotal)
--
Gitblit v1.8.0