From ca212ad097edfe324b5b6035e64cfbcf5146b044 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 09 十二月 2025 10:50:22 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(突破单独配置所需武将等级,不需要满级才能突破;突破消耗物品改为支持多种物品;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 168 +++++++++----------------------------------------------
1 files changed, 29 insertions(+), 139 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 28fa30a..03bdf94 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -142,6 +142,7 @@
("BYTE", "LayerMax", 0),
("DWORD", "BuffRepeat", 0),
("BYTE", "DispersedLimit", 0),
+ ("BYTE", "BuffRetain", 0),
("DWORD", "FightPower", 0),
),
@@ -224,9 +225,6 @@
("DWORD", "BreakLVAddPer", 0),
("DWORD", "StarAddPer", 0),
("list", "BookActAwardMoney", 0),
- ("DWORD", "BookInitAddPer", 0),
- ("DWORD", "BookStarAddPer", 0),
- ("DWORD", "BookBreakLVAddPer", 0),
("list", "DismissReturnItems", 0),
("list", "RecommendAwardMoney", 0),
),
@@ -235,7 +233,8 @@
("DWORD", "Quality", 1),
("DWORD", "BreakLV", 1),
("WORD", "LVMax", 0),
- ("list", "UPCostItem", 0),
+ ("WORD", "UPLVNeed", 0),
+ ("list", "UPCostItemList", 0),
),
"HeroQualityAwake":(
@@ -500,6 +499,7 @@
("WORD", "LimiRealmLV", 0),
("DWORD", "LimitMissionID", 0),
("WORD", "LimitOpenDay", 0),
+ ("WORD", "LimitManLevel", 0),
("char", "MailKey", 0),
("list", "AwardList", 0),
),
@@ -803,6 +803,7 @@
("BYTE", "UnlockWay", 0),
("DWORD", "UnlockValue", 0),
("BYTE", "UnlockNeedCnt", 0),
+ ("DWORD", "ExclusiveItemID", 0),
("list", "TalentAttrIDList", 0),
("list", "TalentAttrValueList", 0),
("list", "TalentPerLVAddList", 0),
@@ -1079,12 +1080,6 @@
("BYTE", "SkillResist", 0),
),
- "BOSSFirstKill":(
- ("DWORD", "NPCID", 1),
- ("WORD", "PerPlayerMoneyAward", 0),
- ("list", "PersonFirstKillAward", 0),
- ),
-
"NPCShow":(
("DWORD", "NPCID", 1),
("DWORD", "MapID", 1),
@@ -1180,14 +1175,6 @@
"LoginDayAward":(
("BYTE", "DayID", 1),
("dict", "Reward", 0),
- ),
-
- "SpringSale":(
- ("BYTE", "GiftID", 1),
- ("BYTE", "SellDay", 0),
- ("BYTE", "BuyNumLimit", 0),
- ("WORD", "GiftPrice", 0),
- ("list", "GiftItemList", 0),
),
"OrderInfo":(
@@ -1461,23 +1448,6 @@
("BYTE", "ChooseItemCount", 0),
("dict", "LibItemInfo", 0),
("list", "NotifyItemNumList", 0),
- ),
-
- "ActBossReborn":(
- ("DWORD", "CfgID", 1),
- ("char", "StartDate", 0),
- ("char", "EndDate", 0),
- ("BYTE", "ResetType", 0),
- ("WORD", "LVLimit", 0),
- ("BYTE", "TemplateID", 0),
- ),
-
- "BossReborn":(
- ("BYTE", "TemplateID", 1),
- ("BYTE", "ID", 1),
- ("DWORD", "TotalTimes", 0),
- ("WORD", "SingleTimes", 0),
- ("dict", "Reward", 0),
),
"ActRealmPoint":(
@@ -2219,6 +2189,7 @@
"Robot":(
("DWORD", "ID", 1),
+ ("char", "RobotName", 0),
("char", "ViewCache", 0),
),
}
@@ -2362,7 +2333,8 @@
def GetLayerMax(self): return self.attrTuple[37] # 最大层数 BYTE
def GetBuffRepeat(self): return self.attrTuple[38] # Buff叠加规则 DWORD
def GetDispersedLimit(self): return self.attrTuple[39] # 驱散限制 BYTE
- def GetFightPower(self): return self.attrTuple[40] # 技能战斗力 DWORD
+ def GetBuffRetain(self): return self.attrTuple[40] # Buff保留规则 BYTE
+ def GetFightPower(self): return self.attrTuple[41] # 技能战斗力 DWORD
# 武将表
class IPY_Hero():
@@ -2479,16 +2451,13 @@
def GetQuality(self): return self.attrTuple[0] # 品质 DWORD
def GetInitTalentWeight(self): return self.attrTuple[1] # 初始天赋数权重 list
def GetInitStarUpper(self): return self.attrTuple[2] # 初始星级上限 BYTE
- def GetInitAddPer(self): return self.attrTuple[3] # 上阵初始加成万分率 DWORD
- def GetLVAddPer(self): return self.attrTuple[4] # 上阵每等级加成 DWORD
- def GetBreakLVAddPer(self): return self.attrTuple[5] # 上阵每突破等级加成 DWORD
- def GetStarAddPer(self): return self.attrTuple[6] # 上阵每星级加成 DWORD
+ def GetInitAddPer(self): return self.attrTuple[3] # 卡牌初始加成万分率 DWORD
+ def GetLVAddPer(self): return self.attrTuple[4] # 卡牌每等级加成 DWORD
+ def GetBreakLVAddPer(self): return self.attrTuple[5] # 卡牌每突破等级加成 DWORD
+ def GetStarAddPer(self): return self.attrTuple[6] # 卡牌每星级加成 DWORD
def GetBookActAwardMoney(self): return self.attrTuple[7] # 图鉴激活奖励货币 类型|值 list
- def GetBookInitAddPer(self): return self.attrTuple[8] # 图鉴初始加成 DWORD
- def GetBookStarAddPer(self): return self.attrTuple[9] # 图鉴每星级加成 DWORD
- def GetBookBreakLVAddPer(self): return self.attrTuple[10] # 图鉴每突破等级加成 DWORD
- def GetDismissReturnItems(self): return self.attrTuple[11] # 遣散每星返还道具 [[物品ID,个数], ...] list
- def GetRecommendAwardMoney(self): return self.attrTuple[12] # 阵容推荐激活奖励货币 类型|值 list
+ def GetDismissReturnItems(self): return self.attrTuple[8] # 遣散每星返还道具 [[物品ID,个数], ...] list
+ def GetRecommendAwardMoney(self): return self.attrTuple[9] # 阵容推荐激活奖励货币 类型|值 list
# 武将品质突破表
class IPY_HeroQualityBreak():
@@ -2500,7 +2469,8 @@
def GetQuality(self): return self.attrTuple[0] # 品质 DWORD
def GetBreakLV(self): return self.attrTuple[1] # 突破等级 DWORD
def GetLVMax(self): return self.attrTuple[2] # 等级上限 WORD
- def GetUPCostItem(self): return self.attrTuple[3] # 突破到下级消耗道具 list
+ def GetUPLVNeed(self): return self.attrTuple[3] # 突破到下级需要等级 WORD
+ def GetUPCostItemList(self): return self.attrTuple[4] # 突破到下级消耗道具 list
# 武将品质觉醒表
class IPY_HeroQualityAwake():
@@ -2880,8 +2850,9 @@
def GetLimiRealmLV(self): return self.attrTuple[2] # 需要境界等级 WORD
def GetLimitMissionID(self): return self.attrTuple[3] # 需要完成的任务ID DWORD
def GetLimitOpenDay(self): return self.attrTuple[4] # 开服第几天开启 WORD
- def GetMailKey(self): return self.attrTuple[5] # 邮件 char
- def GetAwardList(self): return self.attrTuple[6] # 奖励列表[[物品ID,个数], ...] list
+ def GetLimitManLevel(self): return self.attrTuple[5] # 关卡进度波 WORD
+ def GetMailKey(self): return self.attrTuple[6] # 邮件 char
+ def GetAwardList(self): return self.attrTuple[7] # 奖励列表[[物品ID,个数], ...] list
# 合成表
class IPY_ItemCompound():
@@ -3348,13 +3319,14 @@
def GetUnlockWay(self): return self.attrTuple[2] # 解锁方式 BYTE
def GetUnlockValue(self): return self.attrTuple[3] # 解锁方式值 DWORD
def GetUnlockNeedCnt(self): return self.attrTuple[4] # 解锁所需个数 BYTE
- def GetTalentAttrIDList(self): return self.attrTuple[5] # 天赋属性ID列表 list
- def GetTalentAttrValueList(self): return self.attrTuple[6] # 天赋属性初始值 list
- def GetTalentPerLVAddList(self): return self.attrTuple[7] # 天赋属性每级成长 list
- def GetEffType(self): return self.attrTuple[8] # 天赋效果类型 BYTE
- def GetEffTypeValue(self): return self.attrTuple[9] # 效果类型值 BYTE
- def GetEffValue(self): return self.attrTuple[10] # 效果初始值 BYTE
- def GetEffPerLVAdd(self): return self.attrTuple[11] # 天赋效果每级成长 DWORD
+ def GetExclusiveItemID(self): return self.attrTuple[5] # 专属信物ID DWORD
+ def GetTalentAttrIDList(self): return self.attrTuple[6] # 天赋属性ID列表 list
+ def GetTalentAttrValueList(self): return self.attrTuple[7] # 天赋属性初始值 list
+ def GetTalentPerLVAddList(self): return self.attrTuple[8] # 天赋属性每级成长 list
+ def GetEffType(self): return self.attrTuple[9] # 天赋效果类型 BYTE
+ def GetEffTypeValue(self): return self.attrTuple[10] # 效果类型值 BYTE
+ def GetEffValue(self): return self.attrTuple[11] # 效果初始值 BYTE
+ def GetEffPerLVAdd(self): return self.attrTuple[12] # 天赋效果每级成长 DWORD
# 红颜品质升级表
class IPY_BeautyQualityLV():
@@ -3753,17 +3725,6 @@
def GetCanAssist(self): return self.attrTuple[8] # 是否可协助 BYTE
def GetSkillResist(self): return self.attrTuple[9] # 是否技能抵抗 BYTE
-# Boss首杀
-class IPY_BOSSFirstKill():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetNPCID(self): return self.attrTuple[0] # ID DWORD
- def GetPerPlayerMoneyAward(self): return self.attrTuple[1] # 首杀全服玩家奖励灵石额度/人 WORD
- def GetPersonFirstKillAward(self): return self.attrTuple[2] # 个人首次击杀奖励 [[物品ID,个数,是否拍品], ...] list
-
# NPC秀表
class IPY_NPCShow():
@@ -3905,19 +3866,6 @@
def GetDayID(self): return self.attrTuple[0] # 天数 BYTE
def GetReward(self): return self.attrTuple[1] # 奖励 {"职业":[[物品ID,个数],...], ...} dict
-
-# 七天限时特惠表
-class IPY_SpringSale():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetGiftID(self): return self.attrTuple[0] # 礼包ID BYTE
- def GetSellDay(self): return self.attrTuple[1] # 创角第几天上架 BYTE
- def GetBuyNumLimit(self): return self.attrTuple[2] # 每人限购数量 BYTE
- def GetGiftPrice(self): return self.attrTuple[3] # 礼包价格,仙玉 WORD
- def GetGiftItemList(self): return self.attrTuple[4] # 礼包物品信息列表[[物品ID,个数,是否绑定], ...] list
# 充值商品编号表
class IPY_OrderInfo():
@@ -4326,33 +4274,6 @@
def GetChooseItemCount(self): return self.attrTuple[3] # 选择个数 BYTE
def GetLibItemInfo(self): return self.attrTuple[4] # 物品编号对应物品信息 {物品编号:[物品ID,个数,是否拍品,可选次数], ...} 0不限次数 dict
def GetNotifyItemNumList(self): return self.attrTuple[5] # 需要广播的编号列表 list
-
-# BOSS复活活动时间表
-class IPY_ActBossReborn():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
- def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
- def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
- def GetResetType(self): return self.attrTuple[3] # 重置类型,0-0点重置;1-5点重置 BYTE
- def GetLVLimit(self): return self.attrTuple[4] # 限制等级 WORD
- def GetTemplateID(self): return self.attrTuple[5] # 模板编号 BYTE
-
-# BOSS复活表
-class IPY_BossReborn():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
- def GetID(self): return self.attrTuple[1] # 活动条目ID BYTE
- def GetTotalTimes(self): return self.attrTuple[2] # 可完成的总次数,0表示不限次数 DWORD
- def GetSingleTimes(self): return self.attrTuple[3] # 单次领奖需要的次数 WORD
- def GetReward(self): return self.attrTuple[4] # 奖励物品ID1 dict
# 多倍修行点活动时间表
class IPY_ActRealmPoint():
@@ -5534,7 +5455,8 @@
return
def GetID(self): return self.attrTuple[0] # 机器人ID,同玩家ID DWORD
- def GetViewCache(self): return self.attrTuple[1] # 机器人缓存 char
+ def GetRobotName(self): return self.attrTuple[1] # char
+ def GetViewCache(self): return self.attrTuple[2] # 机器人缓存 char
def Log(msg, playerID=0, par=0):
@@ -5688,7 +5610,6 @@
self.__LoadFileData("DailyTask", onlyCheck)
self.__LoadFileData("DailyLivenessReward", onlyCheck)
self.__LoadFileData("BOSSInfo", onlyCheck)
- self.__LoadFileData("BOSSFirstKill", onlyCheck)
self.__LoadFileData("NPCShow", onlyCheck)
self.__LoadFileData("MapRefreshNPC", onlyCheck)
self.__LoadFileData("RuneCompound", onlyCheck)
@@ -5698,7 +5619,6 @@
self.__LoadFileData("ChestsAward", onlyCheck)
self.__LoadFileData("VIPKillNPC", onlyCheck)
self.__LoadFileData("LoginDayAward", onlyCheck)
- self.__LoadFileData("SpringSale", onlyCheck)
self.__LoadFileData("OrderInfo", onlyCheck)
self.__LoadFileData("CTG", onlyCheck)
self.__LoadFileData("CTGSelectItem", onlyCheck)
@@ -5726,8 +5646,6 @@
self.__LoadFileData("CrossActFamilyGCZSQ", onlyCheck)
self.__LoadFileData("ActGodGift", onlyCheck)
self.__LoadFileData("ActGodGiftAward", onlyCheck)
- self.__LoadFileData("ActBossReborn", onlyCheck)
- self.__LoadFileData("BossReborn", onlyCheck)
self.__LoadFileData("ActRealmPoint", onlyCheck)
self.__LoadFileData("TrialExchange", onlyCheck)
self.__LoadFileData("AllPeopleParty", onlyCheck)
@@ -6713,13 +6631,6 @@
self.CheckLoadData("BOSSInfo")
return self.ipyBOSSInfoCache[index]
- def GetBOSSFirstKillCount(self):
- self.CheckLoadData("BOSSFirstKill")
- return self.ipyBOSSFirstKillLen
- def GetBOSSFirstKillByIndex(self, index):
- self.CheckLoadData("BOSSFirstKill")
- return self.ipyBOSSFirstKillCache[index]
-
def GetNPCShowCount(self):
self.CheckLoadData("NPCShow")
return self.ipyNPCShowLen
@@ -6782,13 +6693,6 @@
def GetLoginDayAwardByIndex(self, index):
self.CheckLoadData("LoginDayAward")
return self.ipyLoginDayAwardCache[index]
-
- def GetSpringSaleCount(self):
- self.CheckLoadData("SpringSale")
- return self.ipySpringSaleLen
- def GetSpringSaleByIndex(self, index):
- self.CheckLoadData("SpringSale")
- return self.ipySpringSaleCache[index]
def GetOrderInfoCount(self):
self.CheckLoadData("OrderInfo")
@@ -6978,20 +6882,6 @@
def GetActGodGiftAwardByIndex(self, index):
self.CheckLoadData("ActGodGiftAward")
return self.ipyActGodGiftAwardCache[index]
-
- def GetActBossRebornCount(self):
- self.CheckLoadData("ActBossReborn")
- return self.ipyActBossRebornLen
- def GetActBossRebornByIndex(self, index):
- self.CheckLoadData("ActBossReborn")
- return self.ipyActBossRebornCache[index]
-
- def GetBossRebornCount(self):
- self.CheckLoadData("BossReborn")
- return self.ipyBossRebornLen
- def GetBossRebornByIndex(self, index):
- self.CheckLoadData("BossReborn")
- return self.ipyBossRebornCache[index]
def GetActRealmPointCount(self):
self.CheckLoadData("ActRealmPoint")
--
Gitblit v1.8.0