From e65a33757a3ca9fad94f05f8309654585902d097 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 30 十月 2025 19:50:48 +0800
Subject: [PATCH] 326 【武将】阵容推荐-服务端
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 188 ++++++++--------------------------------------
1 files changed, 33 insertions(+), 155 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 920a31e..ad3240d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -133,7 +133,7 @@
("BYTE", "TriggerWay3", 0),
("BYTE", "TriggerSrc3", 0),
("WORD", "CoolDownTime", 0),
- ("WORD", "BuffStateLimit", 0),
+ ("list", "BuffStateLimit", 0),
("BYTE", "CurBuffState", 0),
("WORD", "LastTime", 0),
("BYTE", "LayerCnt", 0),
@@ -141,7 +141,6 @@
("DWORD", "BuffRepeat", 0),
("BYTE", "DispersedLimit", 0),
("DWORD", "FightPower", 0),
- ("char", "SkillMotionName", 0),
),
"Hero":(
@@ -227,6 +226,7 @@
("DWORD", "BookStarAddPer", 0),
("DWORD", "BookBreakLVAddPer", 0),
("list", "DismissReturnItems", 0),
+ ("list", "RecommendAwardMoney", 0),
),
"HeroQualityBreak":(
@@ -247,6 +247,11 @@
("DWORD", "Quality", 1),
("DWORD", "HeroLV", 1),
("list", "UPCostItem", 0),
+ ),
+
+ "LineupRecommend":(
+ ("DWORD", "RecommendID", 1),
+ ("list", "HeroIDList", 0),
),
"PlayerAttr":(
@@ -477,16 +482,6 @@
("WORD", "EatPerCount", 0),
("list", "LVUpCostItemInfo", 0),
("DWORD", "ActivateSkillID", 0),
- ),
-
- "GodWeapon":(
- ("WORD", "Type", 1),
- ("WORD", "LV", 1),
- ("DWORD", "Exp", 0),
- ("list", "AttrType", 0),
- ("list", "AttrNum", 0),
- ("DWORD", "SkillID", 0),
- ("char", "SysMark", 0),
),
"FuncConfig":(
@@ -1127,10 +1122,6 @@
("WORD", "OldPrice", 0),
),
- "AuctionItem":(
- ("DWORD", "AuctionItemID", 1),
- ),
-
"VipPrivilege":(
("DWORD", "VIPPriID", 1),
("DWORD", "VIP0", 0),
@@ -1266,25 +1257,12 @@
("BYTE", "CanBreakCollect", 0),
),
- "TreasureNPC":(
- ("DWORD", "NPCID", 1),
- ("dict", "AttackCountDropWeightInfo", 0),
- ("list", "AttackDropWeightList", 0),
- ("list", "AttackDropWeightListEx", 0),
- ("BYTE", "DropCountEx", 0),
- ("BYTE", "AlchemyDiffLV", 0),
- ("char", "NotDropNotify", 0),
- ),
-
"Chests":(
("DWORD", "ChestsItemID", 1),
("DWORD", "CostItemID", 0),
("BYTE", "CostItemCount", 0),
- ("WORD", "CostGold", 0),
- ("BYTE", "ShowType", 0),
- ("BYTE", "IsBind", 0),
- ("BYTE", "AucionItemCanSell", 0),
- ("list", "AucionItemDiffSellIDList", 0),
+ ("BYTE", "CostMoneyType", 0),
+ ("WORD", "CostMoneyValue", 0),
),
"ChestsAward":(
@@ -1316,19 +1294,6 @@
("DWORD", "LVExp", 0),
("DWORD", "AddMinAtk", 0),
("DWORD", "AddMaxAtk", 0),
- ),
-
- "OSCBillRankAward":(
- ("BYTE", "OSCBillType", 1),
- ("BYTE", "RankA", 0),
- ("BYTE", "RankB", 0),
- ("dict", "RankAward", 0),
- ),
-
- "OSCBillTagAward":(
- ("BYTE", "OSCBillType", 1),
- ("WORD", "TagCondition", 0),
- ("dict", "TagAward", 0),
),
"LoginDayAward":(
@@ -2567,15 +2532,14 @@
def GetTriggerWay3(self): return self.attrTuple[28] # 触发方式 BYTE
def GetTriggerSrc3(self): return self.attrTuple[29] # 有效来源 BYTE
def GetCoolDownTime(self): return self.attrTuple[30] # 技能冷却时间 WORD
- def GetBuffStateLimit(self): return self.attrTuple[31] # Buff状态限制组 WORD
+ def GetBuffStateLimit(self): return self.attrTuple[31] # Buff状态限制组 list
def GetCurBuffState(self): return self.attrTuple[32] # Buff状态值 BYTE
def GetLastTime(self): return self.attrTuple[33] # 持续时间 WORD
def GetLayerCnt(self): return self.attrTuple[34] # Buff层数 BYTE
def GetLayerMax(self): return self.attrTuple[35] # 最大层数 BYTE
def GetBuffRepeat(self): return self.attrTuple[36] # Buff叠加规则 DWORD
def GetDispersedLimit(self): return self.attrTuple[37] # 驱散限制 BYTE
- def GetFightPower(self): return self.attrTuple[38] # 技能战斗力 DWORD
- def GetSkillMotionName(self): return self.attrTuple[39] # 技能动作名 char
+ def GetFightPower(self): return self.attrTuple[38] # 技能战斗力 DWORD
# 武将表
class IPY_Hero():
@@ -2700,7 +2664,8 @@
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 GetDismissReturnItems(self): return self.attrTuple[11] # 遣散每星返还道具 [[物品ID,个数], ...] list
+ def GetRecommendAwardMoney(self): return self.attrTuple[12] # 阵容推荐激活奖励货币 类型|值 list
# 武将品质突破表
class IPY_HeroQualityBreak():
@@ -2736,6 +2701,16 @@
def GetQuality(self): return self.attrTuple[0] # 品质 DWORD
def GetHeroLV(self): return self.attrTuple[1] # 武将等级 DWORD
def GetUPCostItem(self): return self.attrTuple[2] # 升级到下级消耗道具 list
+
+# 推荐阵容表
+class IPY_LineupRecommend():
+
+ def __init__(self):
+ self.attrTuple = None
+ return
+
+ def GetRecommendID(self): return self.attrTuple[0] # 推荐ID DWORD
+ def GetHeroIDList(self): return self.attrTuple[1] # 推荐武将ID列表 list
# 属性条目表
class IPY_PlayerAttr():
@@ -3061,21 +3036,6 @@
def GetEatPerCount(self): return self.attrTuple[8] # 每次培养消耗x个 WORD
def GetLVUpCostItemInfo(self): return self.attrTuple[9] # 突破等级道具ID|个数 list
def GetActivateSkillID(self): return self.attrTuple[10] # 激活技能ID DWORD
-
-# 神兵表
-class IPY_GodWeapon():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetType(self): return self.attrTuple[0] # 神兵类型 WORD
- def GetLV(self): return self.attrTuple[1] # 等级 WORD
- def GetExp(self): return self.attrTuple[2] # DWORD
- def GetAttrType(self): return self.attrTuple[3] # 属性类型 list
- def GetAttrNum(self): return self.attrTuple[4] # 属性值 list
- def GetSkillID(self): return self.attrTuple[5] # 激活技能ID DWORD
- def GetSysMark(self): return self.attrTuple[6] # 系统提示 char
# 功能配置表格
class IPY_FuncConfig():
@@ -4025,15 +3985,6 @@
def GetPrice(self): return self.attrTuple[2] # 礼包现价 WORD
def GetOldPrice(self): return self.attrTuple[3] # 礼包原价 WORD
-# 拍卖物品表
-class IPY_AuctionItem():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetAuctionItemID(self): return self.attrTuple[0] # DWORD
-
# VIP特权表
class IPY_VipPrivilege():
@@ -4229,21 +4180,6 @@
def GetNotifyCollectResult(self): return self.attrTuple[10] # 是否通知采集结果 BYTE
def GetCanBreakCollect(self): return self.attrTuple[11] # 被攻击是否打断采集 BYTE
-# 宝箱怪表
-class IPY_TreasureNPC():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetNPCID(self): return self.attrTuple[0] # 宝箱怪NPCID DWORD
- def GetAttackCountDropWeightInfo(self): return self.attrTuple[1] # 攻击次数对应掉落权重饼图 {次数:[[权重, [物品ID,个数,是否拍品]], ...], ...} dict
- def GetAttackDropWeightList(self): return self.attrTuple[2] # 常规攻击权重饼图 [[权重, [物品ID,个数,是否拍品]], ...] list
- def GetAttackDropWeightListEx(self): return self.attrTuple[3] # 额外掉落权重饼图库,每次攻击都会掉落 [[权重, [物品ID,个数,是否拍品]], ...] list
- def GetDropCountEx(self): return self.attrTuple[4] # 额外库执行次数 BYTE
- def GetAlchemyDiffLV(self): return self.attrTuple[5] # 过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品 BYTE
- def GetNotDropNotify(self): return self.attrTuple[6] # 没有掉落时提示信息 char
-
# 宝箱表开启
class IPY_Chests():
@@ -4254,11 +4190,8 @@
def GetChestsItemID(self): return self.attrTuple[0] # 宝箱物品ID DWORD
def GetCostItemID(self): return self.attrTuple[1] # 消耗物品ID DWORD
def GetCostItemCount(self): return self.attrTuple[2] # 消耗物品个数 BYTE
- def GetCostGold(self): return self.attrTuple[3] # 消耗仙玉 WORD
- def GetShowType(self): return self.attrTuple[4] # 前端表现类型0-无表现, >0有表现需同步结果,具体类型前端自定义 BYTE
- def GetIsBind(self): return self.attrTuple[5] # 开出物品是否绑定 BYTE
- def GetAucionItemCanSell(self): return self.attrTuple[6] # 开出拍品可否上架集市 BYTE
- def GetAucionItemDiffSellIDList(self): return self.attrTuple[7] # 可否上架差异拍品ID列表,即可上架代表不可上架的拍品ID列表,不可上架代表可上架的拍品ID列表 list
+ def GetCostMoneyType(self): return self.attrTuple[3] # 开启消耗货币类型 BYTE
+ def GetCostMoneyValue(self): return self.attrTuple[4] # 消耗货币 WORD
# 宝箱表产出表
class IPY_ChestsAward():
@@ -4300,29 +4233,6 @@
def GetLVExp(self): return self.attrTuple[2] # 除经验点总经验外升级还需的经验 DWORD
def GetAddMinAtk(self): return self.attrTuple[3] # 增加最小攻击 DWORD
def GetAddMaxAtk(self): return self.attrTuple[4] # 增加最大攻击 DWORD
-
-# 全民冲榜排行奖励表
-class IPY_OSCBillRankAward():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetOSCBillType(self): return self.attrTuple[0] # 冲榜类型 BYTE
- def GetRankA(self): return self.attrTuple[1] # 排名A BYTE
- def GetRankB(self): return self.attrTuple[2] # 至排名B BYTE
- def GetRankAward(self): return self.attrTuple[3] # 排名奖励 {"职业":[[物品ID,个数],...], ...} dict
-
-# 全民冲榜达成奖励表
-class IPY_OSCBillTagAward():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetOSCBillType(self): return self.attrTuple[0] # 冲榜类型 BYTE
- def GetTagCondition(self): return self.attrTuple[1] # 目标条件值 WORD
- def GetTagAward(self): return self.attrTuple[2] # 目标奖励 {"职业":[[物品ID,个数],...], ...} dict
# 七天登录奖励表
class IPY_LoginDayAward():
@@ -6136,6 +6046,7 @@
self.__LoadFileData("HeroQualityBreak", onlyCheck)
self.__LoadFileData("HeroQualityAwake", onlyCheck)
self.__LoadFileData("HeroQualityLV", onlyCheck)
+ self.__LoadFileData("LineupRecommend", onlyCheck)
self.__LoadFileData("PlayerAttr", onlyCheck)
self.__LoadFileData("FightPowerRatio", onlyCheck)
self.__LoadFileData("MainChapter", onlyCheck)
@@ -6155,7 +6066,6 @@
self.__LoadFileData("Realm", onlyCheck)
self.__LoadFileData("RealmLVUPTask", onlyCheck)
self.__LoadFileData("LianTi", onlyCheck)
- self.__LoadFileData("GodWeapon", onlyCheck)
self.__LoadFileData("FuncConfig", onlyCheck)
self.__LoadFileData("FuncOpenLV", onlyCheck)
self.__LoadFileData("ItemCompound", onlyCheck)
@@ -6218,7 +6128,6 @@
self.__LoadFileData("TreasureUp", onlyCheck)
self.__LoadFileData("SignIn", onlyCheck)
self.__LoadFileData("VIPAward", onlyCheck)
- self.__LoadFileData("AuctionItem", onlyCheck)
self.__LoadFileData("VipPrivilege", onlyCheck)
self.__LoadFileData("Store", onlyCheck)
self.__LoadFileData("ActSpringSale", onlyCheck)
@@ -6231,12 +6140,9 @@
self.__LoadFileData("RuneCompound", onlyCheck)
self.__LoadFileData("ResourcesBack", onlyCheck)
self.__LoadFileData("CollectNPC", onlyCheck)
- self.__LoadFileData("TreasureNPC", onlyCheck)
self.__LoadFileData("Chests", onlyCheck)
self.__LoadFileData("ChestsAward", onlyCheck)
self.__LoadFileData("VIPKillNPC", onlyCheck)
- self.__LoadFileData("OSCBillRankAward", onlyCheck)
- self.__LoadFileData("OSCBillTagAward", onlyCheck)
self.__LoadFileData("LoginDayAward", onlyCheck)
self.__LoadFileData("SpringSale", onlyCheck)
self.__LoadFileData("OrderInfo", onlyCheck)
@@ -6701,6 +6607,13 @@
self.CheckLoadData("HeroQualityLV")
return self.ipyHeroQualityLVCache[index]
+ def GetLineupRecommendCount(self):
+ self.CheckLoadData("LineupRecommend")
+ return self.ipyLineupRecommendLen
+ def GetLineupRecommendByIndex(self, index):
+ self.CheckLoadData("LineupRecommend")
+ return self.ipyLineupRecommendCache[index]
+
def GetPlayerAttrCount(self):
self.CheckLoadData("PlayerAttr")
return self.ipyPlayerAttrLen
@@ -6833,13 +6746,6 @@
def GetLianTiByIndex(self, index):
self.CheckLoadData("LianTi")
return self.ipyLianTiCache[index]
-
- def GetGodWeaponCount(self):
- self.CheckLoadData("GodWeapon")
- return self.ipyGodWeaponLen
- def GetGodWeaponByIndex(self, index):
- self.CheckLoadData("GodWeapon")
- return self.ipyGodWeaponCache[index]
def GetFuncConfigCount(self):
self.CheckLoadData("FuncConfig")
@@ -7275,13 +7181,6 @@
self.CheckLoadData("VIPAward")
return self.ipyVIPAwardCache[index]
- def GetAuctionItemCount(self):
- self.CheckLoadData("AuctionItem")
- return self.ipyAuctionItemLen
- def GetAuctionItemByIndex(self, index):
- self.CheckLoadData("AuctionItem")
- return self.ipyAuctionItemCache[index]
-
def GetVipPrivilegeCount(self):
self.CheckLoadData("VipPrivilege")
return self.ipyVipPrivilegeLen
@@ -7366,13 +7265,6 @@
self.CheckLoadData("CollectNPC")
return self.ipyCollectNPCCache[index]
- def GetTreasureNPCCount(self):
- self.CheckLoadData("TreasureNPC")
- return self.ipyTreasureNPCLen
- def GetTreasureNPCByIndex(self, index):
- self.CheckLoadData("TreasureNPC")
- return self.ipyTreasureNPCCache[index]
-
def GetChestsCount(self):
self.CheckLoadData("Chests")
return self.ipyChestsLen
@@ -7393,20 +7285,6 @@
def GetVIPKillNPCByIndex(self, index):
self.CheckLoadData("VIPKillNPC")
return self.ipyVIPKillNPCCache[index]
-
- def GetOSCBillRankAwardCount(self):
- self.CheckLoadData("OSCBillRankAward")
- return self.ipyOSCBillRankAwardLen
- def GetOSCBillRankAwardByIndex(self, index):
- self.CheckLoadData("OSCBillRankAward")
- return self.ipyOSCBillRankAwardCache[index]
-
- def GetOSCBillTagAwardCount(self):
- self.CheckLoadData("OSCBillTagAward")
- return self.ipyOSCBillTagAwardLen
- def GetOSCBillTagAwardByIndex(self, index):
- self.CheckLoadData("OSCBillTagAward")
- return self.ipyOSCBillTagAwardCache[index]
def GetLoginDayAwardCount(self):
self.CheckLoadData("LoginDayAward")
--
Gitblit v1.8.0