From fbf3fe5655d97c67db3bf07706ab5af232dcc9a5 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 18 九月 2025 19:17:48 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(甘夫人技能;增加连击、追击增伤减伤属性;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py |   68 ++++++++++++++++++++++++++--------
 1 files changed, 52 insertions(+), 16 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 356ab3b..0594b0b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -160,7 +160,13 @@
 AttrID_WuFinalDamPerDef,                    # 对吴减伤 62
 AttrID_QunFinalDamPer,                      # 对群增伤 63
 AttrID_QunFinalDamPerDef,                   # 对群减伤 64
-) = range(1, 1 + 64)
+AttrID_SkillPer,                            # 技能增伤 65
+AttrID_SkillPerDef,                         # 技能减伤 66
+AttrID_PursueDamPer,                        # 追击增伤 67
+AttrID_PursueDamPerDef,                     # 追击减伤 68
+AttrID_ComboDamPer,                         # 连击增伤 69
+AttrID_ComboDamPerDef,                      # 连击减伤 70
+) = range(1, 1 + 70)
 
 # 需要计算的武将战斗属性ID列表
 CalcBattleAttrIDList = [AttrID_Atk, AttrID_Def, AttrID_MaxHP, AttrID_StunRate, AttrID_StunRateDef, 
@@ -173,6 +179,8 @@
                         AttrID_ShieldPer, AttrID_ShieldPerDef, AttrID_DOTPer, AttrID_DOTPerDef,
                         AttrID_WeiFinalDamPer, AttrID_WeiFinalDamPerDef, AttrID_ShuFinalDamPer, AttrID_ShuFinalDamPerDef,
                         AttrID_WuFinalDamPer, AttrID_WuFinalDamPerDef, AttrID_QunFinalDamPer, AttrID_QunFinalDamPerDef,
+                        AttrID_SkillPer, AttrID_SkillPerDef, AttrID_PursueDamPer, AttrID_PursueDamPerDef,
+                        AttrID_ComboDamPer, AttrID_ComboDamPerDef,
                         ]
 
 # 基础三维属性ID列表
@@ -205,12 +213,14 @@
 Def_CalcAttr_LV, # 主公等级 0
 Def_CalcAttr_MainEquip, # 主装备 1
 Def_CalcAttr_HeroBook, # 武将图鉴 2
-) = range(3)
+Def_CalcAttr_Realm, # 官职 3
+) = range(4)
 
 CalcAttrName = {
                 Def_CalcAttr_LV:"主公等级",
                 Def_CalcAttr_MainEquip:"主装备",
                 Def_CalcAttr_HeroBook:"武将图鉴",
+                Def_CalcAttr_Realm:"官职",
                 }
 
 ##-----------------------------------------------------------------------------------------------
@@ -960,9 +970,9 @@
 HurtType_3,
 HurtType_4,
 HurtType_Parry,             # 格挡 5
-HurtType_IgnoreDef,         # 无视防御 6
+HurtType_IgnoreDef,         # 无视防御/真实伤害 6
 HurtType_SuperHit,          # 暴击 7
-HurtType_8,
+HurtType_Stun,              # 击晕 8 仅算概率触发的击晕,技能额外击晕效果的不算
 HurtType_Miss,              # 闪避 9
 ) = range(10)
 
@@ -1317,7 +1327,7 @@
 Def_CalcTypeList = (
 Def_Calc_Attack, # 攻击 0
 Def_Calc_MaxHP, # 最大生命值 1
-Def_Calc_HurtValue, # 伤害值 2
+Def_Calc_LastHurt, # 最后一次伤害值 2
 Def_Calc_TagMaxHP, # 目标最大生命值 3
 ) = range(4)
 
@@ -3061,9 +3071,6 @@
 Def_Obj_Dict_SkinID = 'SkinID' # 该战斗NPC所绑定的武将皮肤ID,一般仅玩家阵容有
 Def_Obj_Dict_TurnFightPosInfo = 'TurnFightPosInfo' # 回合制站位: 阵营编号*100+阵型站位,阵型站位为0时代表非主战单位
 Def_Obj_Dict_TurnFightTimeline = 'TurnFightTimeline' # 回合制战斗时间线: 回合数*100+行动编号节点
-Def_Obj_Dict_TurnComboNum = 'TurnComboNum' # 单次累计连击次数
-Def_Obj_Dict_TurnAtkBackNum = 'TurnAtkBackNum' # 单次累计反击次数
-Def_Obj_Dict_TurnParryNum = 'TurnParryNum' # 单次累计格挡次数
 Def_Obj_Dict_TurnMissNum = 'TurnMissNum' # 单次累计闪避次数
 Def_Obj_Dict_TurnBattleType = 'TurnBattleType' # 本次攻击战斗类型:TurnBattleType_xxx
 
@@ -3140,7 +3147,9 @@
     BatObjState_LimitSkill, # 沉默 10
     BatObjState_LimitAddHP, # 禁疗 11
     BatObjState_Stone, # 石化 12
-) = range(13)
+    BatObjState_Disarm, # 缴械 13
+    BatObjState_ParryYJ, # 格挡印记 14
+) = range(15)
 
 # 被控制的状态列表,无法行动,处于某些控制类buff影响状态下,如晕眩,冰冻,石化
 InControlledStateList = [BatObjState_Frozen, BatObjState_Stun, BatObjState_Stone]
@@ -4268,17 +4277,35 @@
 TriggerWay_HeroTurnEnd, # 武将回合开始时    5
 TriggerWay_HeroActionStart, # 武将行动前    6
 TriggerWay_HeroActionEnd, # 武将行动后    7
-TriggerWay_CalcTagInState, # 攻击计算时对方处于xx状态时(参数:状态1|2|...)一般用于攻击时属性计算  8
-TriggerWay_AttackOverTagInState, # 攻击计算后对方处于xx状态时(参数:状态1|2|...)一般用于攻击后触发效果  9
+TriggerWay_CalcEffValue, # 统计计算效果值时  8
+TriggerWay_9, # 9
 TriggerWay_AttackOverDirect, # 直接攻击后 (非buff攻击)10
 TriggerWay_BeAttackedDirect, # 受到直接攻击时 (非buff攻击)11
 TriggerWay_ShieldBroken, # 承伤盾被击破时 12
 TriggerWay_CurSkillEff, # 本技能/buff释放后,一般用于本技能/buff释放后触发,仅该技能释放后有效 13
-) = range(1, 1 + 13)
+TriggerWay_CurSkillEffLst, # 本持续buff结算后额外触发效果,仅该持续buff结算后有效 14
+TriggerWay_KillOneObj, # 击杀目标后(单次击杀多目标只触发一次) 15
+TriggerWay_KillTagObj, # 击杀每目标后(单次击杀多目标每个目标触发一次) 16
+) = range(1, 1 + 16)
 
 # 被动触发有效来源
-TriggerSrc_Skill = 1
-TriggerSrc_Buff = 2
+TriggerSrc_Skill = 1    # 身上技能有效
+TriggerSrc_Buff = 2     # 身上buff有效
+TriggerSrc_SkillSelf = 3    # 本技能有效
+TriggerSrc_BuffSelf = 4     # 本buff有效
+
+# 被动效果ID,属性类的直接使用属性ID当做效果ID
+PassiveEff_AddBuffLayerByWeight = 6001 # 根据权重随机添加buff层数 数值1-[[权重,层级], ...]
+PassiveEff_ChangeHurtType = 6002 # 变更伤害类型: 值1-伤害类型;值2-可附加验证处于xx状态 [状态1, 状态2, ...]
+PassiveEff_ChangeHurtMulti = 6003 # 变更伤害倍值(可增可减): 值1-变更倍值;值2-可附加验证处于xx状态 [状态1, 状态2, ...]
+PassiveEff_AddSkillPer = 6004 # 增加本次技能万分比: 值1-增加的万分比;值2-可附加验证处于xx状态 [状态1, 状态2, ...]
+
+# 被动效果ID有触发值时就返回的
+PassiveEffHappenValueList = [PassiveEff_ChangeHurtType]
+# 被动效果ID触发值取最大值的
+PassiveEffValueMaxList = []
+# 被动效果ID触发值取最小值的
+PassiveEffValueMinList = []
 
 (
 TriggerType_BeSuperHit, # 被暴击触发技能 1
@@ -4979,8 +5006,7 @@
 Def_SkillFuncType_TurnNormaSkill,  #1 普攻技能
 Def_SkillFuncType_AngerSkill,  #2 怒气技能
 Def_SkillFuncType_PotentialSkill,  #3 潜能技能
-Def_SkillFuncType_AtkbackSkill,  #4 反击技能
-) = range(5)
+) = range(4)
 
 # MMO项目 - 先保留,重新定义从1000开始,后续可陆续删除
 (Def_SkillFuncType_Common, #0为通用技能
@@ -5028,6 +5054,16 @@
 AtkDistType_Long, # 远程
 ) = range(1, 1 + 2)
 
+# 武将特长
+HeroSpecialtyList = (
+HeroSpecialty_Stun,         # 击晕 1
+HeroSpecialty_SuperHit,     # 暴击 2
+HeroSpecialty_Combo,        # 连击 3
+HeroSpecialty_Miss,         # 闪避 4
+HeroSpecialty_Parry,        # 格挡 5
+HeroSpecialty_SuckHP,       # 吸血 6
+) = range(1, 1 + 6)
+
 # 经验倍率限制类型
 (
 ExpRateLimitType_Recover, # 资源找回

--
Gitblit v1.8.0