From 070a0dfddf2d5f85ac348a8d37a606bdbcd0ea0a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 05 十一月 2025 16:45:46 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(完善技能目标选择逻辑;支持软控魅惑、混乱、嘲讽,及反击复仇目标,buff状态细分目标,属性细分目标等优先级处理;修复反击逻辑bug;)
---
PySysDB/PySysDBPY.h | 383 ++++++++----------------------------------------------
1 files changed, 56 insertions(+), 327 deletions(-)
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 34064ab..e553401 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -110,8 +110,9 @@
list EffectValues3; //效果值列表3
BYTE TriggerWay3; //触发方式
BYTE TriggerSrc3; //有效来源
+ WORD CoolDownInit; //初始冷却时间
WORD CoolDownTime; //技能冷却时间
- WORD BuffStateLimit; //Buff状态限制组
+ list BuffStateLimit; //Buff状态限制组
BYTE CurBuffState; //Buff状态值
WORD LastTime; //持续时间
BYTE LayerCnt; //Buff层数
@@ -119,7 +120,6 @@
DWORD BuffRepeat; //Buff叠加规则
BYTE DispersedLimit; //驱散限制
DWORD FightPower; //技能战斗力
- char SkillMotionName; //技能动作名
};
//武将表
@@ -221,6 +221,7 @@
DWORD BookStarAddPer; // 图鉴每星级加成
DWORD BookBreakLVAddPer; // 图鉴每突破等级加成
list DismissReturnItems; // 遣散每星返还道具 [[物品ID,个数], ...]
+ list RecommendAwardMoney; // 阵容推荐激活奖励货币 类型|值
};
//武将品质突破表
@@ -247,6 +248,13 @@
DWORD _Quality; //品质
DWORD _HeroLV; //武将等级
list UPCostItem; // 升级到下级消耗道具
+};
+
+//推荐阵容表
+struct LineupRecommend
+{
+ DWORD _RecommendID; //推荐ID
+ list HeroIDList; // 推荐武将ID列表
};
//属性条目表
@@ -337,8 +345,8 @@
DWORD PosNPCID4; //4号位NPCID
DWORD PosNPCID5; //5号位NPCID
DWORD PosNPCID6; //6号位NPCID
- DWORD PosNPCID7; //7号位NPCID
DWORD BossID; // 本阵容的BossID,没有boss时为0
+ BYTE BossPosView; //Boss通知站位
list SkillIDExList; // boss附加技能列表
BYTE SkillExCnt; //随机附加技能数,0为所有
};
@@ -421,14 +429,6 @@
list AttrIDList; //属性ID列表
list InitAttrValueList; //初始属性值列表
list AttrPerStarAddList; //每星加成值列表
-};
-
-//技能搭配表
-
-struct tagSkillMatch
-{
- BYTE _IDIndex;
- list Skills; //主动技能(职业1id|职业2id)
};
//灵根表 #tagRolePoint
@@ -531,19 +531,6 @@
DWORD ActivateSkillID; //激活技能ID
};
-//神兵表 #tagGodWeapon
-
-struct tagGodWeapon
-{
- WORD _Type; //神兵类型
- WORD _LV; //等级
- DWORD Exp;
- list AttrType; //属性类型
- list AttrNum; //属性值
- DWORD SkillID; //激活技能ID
- char SysMark; //系统提示
-};
-
//功能配置表格 #tagFuncConfig
struct tagFuncConfig
@@ -564,6 +551,7 @@
DWORD LimitLV; //开启等级
WORD LimiRealmLV; //需要境界等级
DWORD LimitMissionID; //需要完成的任务ID
+ WORD LimitOpenDay; //开服第几天开启
char MailKey; //邮件
};
@@ -876,68 +864,35 @@
DWORD UpEatItemPerCount; //每次培养消耗x个
};
-//坐骑升级表
+//坐骑阶级表
-struct tagHorseLVUp
+struct HorseClass
{
- BYTE _HorseLV; //坐骑等级
- DWORD HorseSkinID; //外观物品ID
- WORD NeedEatCount; //升级所需个数(非累计)
- list LVAttrType; //每级额外属性类型(非累积)
- list LVAttrValue; //每级额外属性值(非累积)
- list UpItemAttrType; //每x个培养丹增加属性类型,x=UpEatItemPerCount
- list UpItemAttrValue; //每x个培养丹增加属性值,x=UpEatItemPerCount
- DWORD UpEatItemPerCount; //每次培养消耗x个
+ BYTE _ClassLV; //阶级
+ WORD MaxHorseLV; //最高等级
+ WORD LVUPItemCnt; //升级道具数
+ WORD ClassUPItemCnt; //进阶道具数
+ list ClassSpecAttrIDList; //本阶特殊属性ID列表
+ list ClassSpecAttrValueList; //本阶特殊属性值列表
+ list AttrIDList; //基础属性ID列表
+ list ClassAttrValueList; //本阶基础属性值列表
+ list PerLVAttrValueList; //本阶每级基础属性值列表
};
-//坐骑培养表
+//坐骑外观表
-struct tagHorseTrain
+struct HorseSkin
{
- BYTE _TrainType; //培养类型
- BYTE _TrainLV; //培养等阶
- WORD NeedRealmLV; //培养所需境界
- DWORD EatCntTotal; //升阶所需个数(非累计)
- DWORD EatCntEverytime; //每次培养消耗x个
- list EatItemAttrTypeList; //每X个培养丹增加属性类型=EatCntEverytime
- list EatItemAttrValueList; //每X个培养丹增加属性值=EatCntEverytime
- list LVAttrTypeList; //每级额外属性类(非累积)
- list LVAttrValueList; //每级额外属性值(非累积)
-};
-
-//坐骑幻化表
-
-struct tagHorseSkinPlus
-{
- BYTE _ID; //幻化编号ID
- DWORD HorseSkinPlusID; //外观物品ID
- DWORD UnlockItemID; //解锁坐骑物品编号
- BYTE UnlockItemCnt; //解锁所需物品数量
- list AttrType; //激活加成属性类型
- list AttrValue; //激活加成属性值
- DWORD InitFightPower; //皮肤额外战力
- DWORD HorseID; //对应坐骑ID
- DWORD SkinValidTime; //有效时长秒
-};
-
-//坐骑表
-
-struct tagHorse
-{
- DWORD _HorseID; //坐骑ID
- DWORD HorseSkinID; //外观物品ID
- BYTE Quality; //坐骑品质
-};
-
-//坐骑升星表
-
-struct tagHorseStarUp
-{
- DWORD _HorseID; //坐骑ID
- BYTE _HorseStar; //坐骑星级
- list StarUpNeedItemList; //升下一星所需道具 [[物品ID,个数], ...]
- list StarAttrType; //累计总属性类型
- list StarAttrValue; //累计总属性值
+ DWORD _SkinID; //外观ID
+ DWORD ExpireMinutes; //时效分钟,0永久
+ BYTE UnlockWay; //解锁方式
+ DWORD UnlockValue; //解锁方式值
+ BYTE UnlockNeedCnt; //解锁所需个数
+ BYTE UpNeedCnt; //升级所需个数
+ BYTE StarMax; //最高星级
+ list AttrIDList; //属性ID列表
+ list InitAttrValueList; //初始属性值列表
+ list AttrPerStarAddList; //每星加成值列表
};
//古宝表
@@ -1069,112 +1024,6 @@
dict AttrExDict; //特殊属性值字典 {attrKey:value, ...}
};
-//成长型境界怪物表
-
-struct tagNPCRealmStrengthen
-{
- DWORD _NPCID; //NPCID
- BYTE _RealmDifficulty; //境界难度
- DWORD MapID;
- DWORD LV; //NPC等级
- DWORD Exp;//基础经验
- WORD MaxDrapLV;//玩家最大可掉落等级
- BYTE EquipClassLV; //掉落装备阶
- DWORD DropMoneyMin;//最小金币
- DWORD DropMoneyMax;//最大金币
- WORD LowLV; // 推荐最低等级
- WORD HighestLV; // 推荐最高等级
- DWORD Defense; // 推荐防御
- DWORD MDef; // 标准击杀时间/毫秒
- DWORD FireDef; // 脱机挂经验计算战力
- DWORD SP; // SP
-};
-
-//NPC时间掉血表
-
-struct tagNPCTimeLostHP
-{
- DWORD _NPCID; //NPCID
- DWORD LostHPPerSecond; //单人每秒掉血量
- BYTE MaxPlayerCount; //最大人数
- DWORD LostHPPerSecondEx; //每增加一人附加掉血量
- BYTE FightPowerMinByLV; //标准战力是否取等级表
- DWORD FightPowerMin; //标准战力
- DWORD FightPowerMax; //上限战力
- DWORD EveryFightPower; //每x点战力
- DWORD EveryFightPowerLostHPEx; //每x点战力附加伤害
-};
-
-//装备套装属性表
-
-struct tagEquipSuitAttr
-{
- WORD _SuiteID; //套装ID
- BYTE SuiteCnt; //套装件数
- BYTE Star; //星数
- dict AttrInfo; //属性
- DWORD SkillID; //技能ID
- BYTE IsNotify; //是否广播
- WORD ActivateIndex; //激活索引
-};
-
-
-//羽翼精炼属性表
-
-struct tagWingRefineAttr
-{
- BYTE _WingClassLV; //翅膀阶级
- dict AttrInfo; //精炼属性信息
- dict ItemColorInfo; //精炼经验对应颜色信息
- DWORD MaxRefineExp; //本阶最大精炼值
-};
-
-//羽翼精炼经验表
-
-struct tagWingRefineExp
-{
- DWORD _ItemID; //精炼物品ID
- DWORD RandExpMin; //最小随机精炼值
- DWORD RandExpMax; //最大随机精炼值
- dict ExpMaterial; //翅膀代数对应精炼值
-};
-
-//NPC掉落表
-
-struct tagNPCDropItem
-{
- DWORD _NPCID; //NPCID
- WORD MaxWorldLV; //最大世界等级,0为不限制,不受最大掉落等级影响
- WORD MaxDropLV; //最大可掉落的玩家等级, 不影响世界等级
- BYTE CanDropRatePlus; //额外提升掉率的是否有效
- BYTE IsDropJobSelf; //是否只掉落本职业
- list PieRateDrop; //饼图概率掉落信息 [(概率,0),(概率,(阶,颜色)),...]
- BYTE PieRateDoCnt; //饼图概率执行次数
- dict IndepRateDrop; //独立概率掉落信息 {(阶,颜色):概率,...}
- BYTE IndepRateDoCnt; //独立概率执行次数
- dict EquipColorMaxDropCount; //装备颜色最大掉落物品数 {颜色:上限数量,...}
- list TianxuanEquipRateList; //天玄丹装备掉落饼图 [[概率,(阶,品质)], ...]
- dict EquipColorSuitInfo; //装备颜色对应套装概率 {颜色:套装概率, ...}
- dict EquipPartKeyRateInfo; //装备部位集合信息 {(颜色,是否套装):部位集合key, ...}
- BYTE ColorSuitPartOptimization; //部位颜色套评分优选掉落,十位代表颜色,个位代表套装
- dict KillCountDropEquipPub; //第x次击杀附加必掉装备 {次数:[阶,颜色,是否套装,部位集合key], ...}
- dict ItemIDDropRate; //指定物品ID掉率信息 {物品ID:概率, ...}
- dict TianxuanItemIDRate; //天玄丹指定ID概率 {物品ID:概率, ...}
- dict ItemIDMaxDropCount; //指定物品ID最大掉落个数,没配默认1次 {物品ID:随机次数,...}
- dict ItemKeyDropRate; //物品ID集合Key概率, 随机一个, 优先级低 {物品ID集合key:概率, ...}
- dict ItemKeyDropRateJob; //物品ID集合Key概率, 自身职业, 优先级高 {物品ID集合key:概率, ...}
- dict TianxuanItemKeyRate; //天玄丹指定ID集合Key概率{物品ID集合key:概率, ...}
- dict ItemKeyMaxDropCount; //物品ID集合Key随机次数,没配默认1次 {物品ID集合key:随机次数,...}
- BYTE DropMoneyDoCnt; //掉落金币执行次数
- WORD DropMoneyRate; //掉落金币概率
- WORD DropMoneyMin; //掉落金币最小值
- WORD DropMoneyMax; //掉落金币最大值
- dict KillCountDropPub; //击杀次数必掉(公共){击杀次数:[[物品ID, ...], [随机物品ID, ...]], ...}
- list KillCountDropPri; //击杀次数必掉(私有)[击杀次数,[物品ID,...],是否直接放入背包]
- list PriItemIDDrop; //所有归属者私有掉落物品ID列表,每人一份,默认绑定,没有职业区分[物品ID, ...]
- BYTE AucionItemCanSell; //掉落拍品可否上架集市
-};
-
//符印塔表
struct tagRuneTower
@@ -1247,58 +1096,6 @@
BYTE ADCntMax; //每日次数
list ADAwardItemList; //广告奖励物品列表
DWORD ADMapID; //对应副本ID,默认给该副本1次次数
-};
-
-//装备评分属性系数表
-
-struct tagEquipGSParam
-{
- BYTE _ClassLV; // 装备阶级
- BYTE _EquipColor; // 装备颜色
- BYTE _IsSuit; // 是否套装
- BYTE _ItemQuality; //物品星级
- DWORD BaseEquipMaxHPAddPerC; // 基础防具生命百分比系数
- DWORD BaseEquipAtkAddPerC; // 基础武器攻击百分比系数
- DWORD SuperHitC; // 暴击值系数
- DWORD SuperHitPerC; // 暴击值百分比系数
- DWORD LuckyHitRateC; // 会心一击率系数
- DWORD LuckyHitRateReduceC; // 会心一击抗性系数
- DWORD LuckPerC; // 气运百分比系数
- DWORD PerLVAtkC; // 每级增加攻击力系数
- DWORD PerLVMaxHPC; // 每级增加生命值系数
- DWORD DropMoneyPerC; // 增加掉落金币量百分比系数
- DWORD SuperHitReduceC; // 暴击减伤百分比系数
- DWORD SuperHitRateReduceC; // 暴击抗性系数
- DWORD HitC; // 命中系数
- DWORD MissC; // 闪避系数
- DWORD PetDamPerC; // 灵宠增伤百分比系数
- DWORD MaxHPPerC; // 生命加成系数
- DWORD AtkPerC; // 攻击加成系数
- DWORD SkillAtkRateC; // 技能加成系数
- DWORD SkillAtkRateReduceC; // 技能减免系数
- DWORD SkillAddPer1C; // 技能伤害增强1系数
- DWORD SkillAddPer2C; // 技能伤害增强2系数
- DWORD SkillAddPer3C; // 技能伤害增强3系数
- DWORD SkillAddPer4C; // 技能伤害增强4系数
- DWORD SkillAddPer5C; // 技能伤害增强5系数
- DWORD SkillAddPer6C; // 技能伤害增强6系数
- DWORD SkillAddPer7C; // 技能伤害增强7系数
- DWORD SkillReducePer1C; // 受到技能伤害减少1系数
- DWORD SkillReducePer2C; // 受到技能伤害减少2系数
- DWORD SkillReducePer3C; // 受到技能伤害减少3系数
- DWORD SkillReducePer4C; // 受到技能伤害减少4系数
- DWORD SkillReducePer5C; // 受到技能伤害减少5系数
- DWORD SkillReducePer6C; // 受到技能伤害减少6系数
- DWORD SkillReducePer7C; // 受到技能伤害减少7系数
- DWORD ReduceSkillCDPerC; // 减少所有技能CD系数
- DWORD LuckyHitPerC; // 会心伤害加成系数
- DWORD FaintDefRateC; // 控制抵抗系数
- DWORD SuperHitRateC; // 暴击率加成系数
- DWORD IgnoreDefRateC; // 无视防御系数
- DWORD IgnoreDefRateReduceC; // 无视防御减免系数
- DWORD ProDefPerC; // 防护百分比系数
- DWORD FinalHurtPerC; // 最终伤害加成系数
- DWORD FinalHurtReducePerC; // 最终伤害减免系数
};
//成就表
@@ -1377,13 +1174,6 @@
WORD OldPrice; //礼包原价
};
-//拍卖物品表
-
-struct tagAuctionItem
-{
- DWORD _AuctionItemID;
-};
-
//VIP特权表
struct tagVipPrivilege
@@ -1409,29 +1199,20 @@
//商城表
-struct tagStore
+struct Store
{
DWORD _ID; //ID
DWORD ShopType; //商店类型
- BYTE OperationActionShop; //是否运营活动商店
DWORD ItemID; //物品ID
WORD ItemCnt; //物品数量
- BYTE IsBind; //是否绑定
list ItemListEx; //扩展物品列表[[物品ID,个数,是否绑定],...]
- DWORD MainItemID; //标的物品ID
- list JobItem; //职业替换物品
- BYTE RefreshLimit; //是否限制刷新限购次数,即是否永久限购,包含活动也不重置
- BYTE RefreshType; //刷新类型 0-不重置,1-onWeek0点,2-onWeek5点,3-OnDay0点,4-OnDay5点
- list LimitVIPLV; //VIP限制
- DWORD LimitLV; //等级限制
- list LimitCnt; //个人限制数量
- DWORD ServerLimitCnt; //全服限制数量
+ BYTE ResetType; //重置类型
+ DWORD LimitCnt; //个人限制数量
BYTE MoneyType; //金钱类型
DWORD MoneyNum; //金钱数量
DWORD MoneyOriginal; //原价
- DWORD LimitValue; //限制条件
- char NotifyMark; //广播提示
- char MailKey; //背包不足时邮件KEY
+ BYTE UnlockType; //解锁类型
+ DWORD UnlockValue; //解锁所需值
};
//限时特惠表
@@ -1564,19 +1345,6 @@
BYTE CanBreakCollect; //被攻击是否打断采集
};
-//宝箱怪表
-
-struct tagTreasureNPC
-{
- DWORD _NPCID; //宝箱怪NPCID
- dict AttackCountDropWeightInfo; //攻击次数对应掉落权重饼图 {次数:[[权重, [物品ID,个数,是否拍品]], ...], ...}
- list AttackDropWeightList; //常规攻击权重饼图 [[权重, [物品ID,个数,是否拍品]], ...]
- list AttackDropWeightListEx; //额外掉落权重饼图库,每次攻击都会掉落 [[权重, [物品ID,个数,是否拍品]], ...]
- BYTE DropCountEx; //额外库执行次数
- BYTE AlchemyDiffLV; //过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品
- char NotDropNotify; //没有掉落时提示信息
-};
-
//宝箱表开启
struct Chests
@@ -1584,11 +1352,8 @@
DWORD _ChestsItemID; //宝箱物品ID
DWORD CostItemID; //消耗物品ID
BYTE CostItemCount; //消耗物品个数
- WORD CostGold; //消耗仙玉
- BYTE ShowType; //前端表现类型0-无表现, >0有表现需同步结果,具体类型前端自定义
- BYTE IsBind; //开出物品是否绑定
- BYTE AucionItemCanSell; //开出拍品可否上架集市
- list AucionItemDiffSellIDList; //可否上架差异拍品ID列表,即可上架代表不可上架的拍品ID列表,不可上架代表可上架的拍品ID列表
+ BYTE CostMoneyType; //开启消耗货币类型
+ WORD CostMoneyValue; //消耗货币
};
//宝箱表产出表
@@ -1626,27 +1391,6 @@
DWORD LVExp; //除经验点总经验外升级还需的经验
DWORD AddMinAtk; //增加最小攻击
DWORD AddMaxAtk; //增加最大攻击
-};
-
-
-//全民冲榜排行奖励表
-
-struct tagOSCBillRankAward
-{
- BYTE _OSCBillType; //冲榜类型
- BYTE RankA; //排名A
- BYTE RankB; //至排名B
- dict RankAward; //排名奖励 {"职业":[[物品ID,个数],...], ...}
-};
-
-
-//全民冲榜达成奖励表
-
-struct tagOSCBillTagAward
-{
- BYTE _OSCBillType; //冲榜类型
- WORD TagCondition; //目标条件值
- dict TagAward; //目标奖励 {"职业":[[物品ID,个数],...], ...}
};
//七天登录奖励表
@@ -1800,6 +1544,7 @@
list GridItemRateList1; //常规产出格子编号饼图 [[概率, 格子编号], ...]
list GridItemRateList2; //每满x次保底产出格子编号饼图 [[概率, 格子编号], ...]
dict GridItemRateList3; //第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...}
+ list GridItemRateList4; //第x次x抽必出
dict LuckyItemRateInfo; //幸运产出概率饼图 {"幸运值":[[概率, 格子编号], ...], ...}
};
@@ -2119,15 +1864,6 @@
WORD LowLV; // 推荐最低等级
WORD HighestLV; // 推荐最高等级
DWORD Defense; // 推荐防御
-};
-
-//天赋技能表
-
-struct tagTalentSkill
-{
- DWORD _SkillID; //技能ID
- BYTE TalentType; //天赋类型
- BYTE Series; //天赋系别
};
//限时抢购表
@@ -2811,14 +2547,6 @@
list AwardItemList; //奖励物品列表[[物品ID,个数,是否拍品], ...]
};
-//神秘商店表
-
-struct tagMysteryShop
-{
- list LVRange; //等级范围
- DWORD GoodsID; //商城表ID
-};
-
//装备位背包索引映射表
struct tagEquipPlaceIndexMap
@@ -2926,17 +2654,6 @@
BYTE _ItemGroupNum; //物品组编号
DWORD ItemWeight; //随机权重
list ItemList; //物品列表[[物品ID,个数,是否拍品], ...]
-};
-
-//仙盟阵法表
-
-struct tagFamilyZhenfa
-{
- BYTE _ZhenfaType; // 阵法类型
- WORD _ZhenfaLV; // 阵法等级
- DWORD LVUpNeedExp; //升下一级所需经验
- list LVAttrType; //累计总属性类型
- list LVAttrValue; //累计总属性值
};
//装备洗练等级上限
@@ -3088,7 +2805,7 @@
//祝福树
-struct tagTreeLV
+struct TreeLV
{
BYTE _TreeLV; //仙树等级
DWORD LVUPNeedMoney; //升到下一级所需货币数
@@ -3098,6 +2815,18 @@
list EquipColorRateList2; //boss产出装备品质概率列表,[0品质万分率, 1品质万分率, ...]
};
+//历练秘笈
+
+struct LLMJ
+{
+ BYTE _MJLV; //秘笈等级
+ DWORD CostWarhammer; //消耗战锤
+ BYTE ExpAddPer; //经验加成比例,百分比
+ DWORD ExpExUpper; //经验加成每日上限
+ BYTE DecomposeAddPer; //分解加成比例,百分比
+ DWORD DecomposeExUpper; //结晶加成每日上限
+};
+
//淘金营地表
struct GoldRushCamp
--
Gitblit v1.8.0