From 2350f87cbba3da859d02632aa8116c1511d6d60b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 24 九月 2025 18:54:13 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(马超所有技能;增加触发方式20 21 22;增加效果5006 6010 6011 6012 6013;修复非学习的子技能加载触发效果bug;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py |   61 ++++++++++++++++++++++--------
 1 files changed, 44 insertions(+), 17 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 0594b0b..390ea1a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -968,7 +968,7 @@
 HurtType_Normal,            # 伤害 1
 HurtTYpe_Recovery,          # 回血 2
 HurtType_3,
-HurtType_4,
+HurtType_Immune,            # 免疫 4
 HurtType_Parry,             # 格挡 5
 HurtType_IgnoreDef,         # 无视防御/真实伤害 6
 HurtType_SuperHit,          # 暴击 7
@@ -1329,7 +1329,9 @@
 Def_Calc_MaxHP, # 最大生命值 1
 Def_Calc_LastHurt, # 最后一次伤害值 2
 Def_Calc_TagMaxHP, # 目标最大生命值 3
-) = range(4)
+Def_Calc_ByBuffValue, # 触发buff的buff值 4
+Def_Calc_TagLostHP, # 目标已损失生命 5
+) = range(6)
 
 #治疗类型(影响公式参数)
 Def_CureTypeList = (
@@ -1392,7 +1394,8 @@
 SkillTagAffect_HPHighest, # 血量最高 2
 SkillTagAffect_Death, # 死亡单位 3
 SkillTagAffect_UncontrolledPriority, # 未被控制优先 4
-) = range(5)
+SkillTagAffect_AtkHighest, # 攻击力最高 5
+) = range(6)
 
 #技能施法目标
 Def_UseSkillAim_Type = 3
@@ -3142,17 +3145,19 @@
     BatObjState_Poison, # 中毒 5
     BatObjState_Bleeding, # 流血 6
     BatObjState_EasyHurt, # 易伤 7
-    BatObjState_Wudi, # 无敌 8
+    BatObjState_Wudi, # 无敌( 受任意伤害、控制类、dot效果,全部飘“免疫”) 8
     BatObjState_Sneer, # 嘲讽 9
     BatObjState_LimitSkill, # 沉默 10
     BatObjState_LimitAddHP, # 禁疗 11
     BatObjState_Stone, # 石化 12
     BatObjState_Disarm, # 缴械 13
     BatObjState_ParryYJ, # 格挡印记 14
-) = range(15)
-
-# 被控制的状态列表,无法行动,处于某些控制类buff影响状态下,如晕眩,冰冻,石化
-InControlledStateList = [BatObjState_Frozen, BatObjState_Stun, BatObjState_Stone]
+    BatObjState_Weak, # 虚弱 15
+    BatObjState_Charm, # 魅惑 16
+    BatObjState_Chaos, # 混乱 17
+    BatObjState_18, # 权谋 18
+    BatObjState_FocusFire, # 军令/集火 19
+) = range(20)
 
 #玩家状态定义,不能超过31个,如超过,需扩展多个key支持
 Def_PlayerStateList = (
@@ -4278,15 +4283,24 @@
 TriggerWay_HeroActionStart, # 武将行动前    6
 TriggerWay_HeroActionEnd, # 武将行动后    7
 TriggerWay_CalcEffValue, # 统计计算效果值时  8
-TriggerWay_9, # 9
-TriggerWay_AttackOverDirect, # 直接攻击后 (非buff攻击)10
+TriggerWay_UseSkillOver, # 使用技能后(每个目标触发一次)9
+TriggerWay_AttackOverDirect, # 直接攻击后(除dot或buff外的攻击,每个目标触发一次)10
 TriggerWay_BeAttackedDirect, # 受到直接攻击时 (非buff攻击)11
 TriggerWay_ShieldBroken, # 承伤盾被击破时 12
 TriggerWay_CurSkillEff, # 本技能/buff释放后,一般用于本技能/buff释放后触发,仅该技能释放后有效 13
 TriggerWay_CurSkillEffLst, # 本持续buff结算后额外触发效果,仅该持续buff结算后有效 14
 TriggerWay_KillOneObj, # 击杀目标后(单次击杀多目标只触发一次) 15
 TriggerWay_KillTagObj, # 击杀每目标后(单次击杀多目标每个目标触发一次) 16
-) = range(1, 1 + 16)
+TriggerWay_BuffDel, # buff消失后  17
+TriggerWay_BeCombo, # 被连击时 18
+TriggerWay_BePursue, # 被追击时 19
+TriggerWay_UseSkillOverOne, # 使用技能后(多目标仅触发一次)20
+TriggerWay_AttackOverDirectOne, # 直接攻击后(除dot或buff外的攻击,多目标仅触发一次)21
+TriggerWay_BeAnyEffect, # 受到任意效果时(除直接攻击外的任意效果,如buff、dot、治疗、额外怒技)22
+) = range(1, 1 + 22)
+
+# 不加载的被动触发方式,一般用于本技能固定触发逻辑用的
+TriggerWayNoLoadList = [TriggerWay_CurSkillEff, TriggerWay_CurSkillEffLst]
 
 # 被动触发有效来源
 TriggerSrc_Skill = 1    # 身上技能有效
@@ -4296,16 +4310,29 @@
 
 # 被动效果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, ...]
+PassiveEff_ChangeHurtType = 6002 # 变更本次伤害类型
+PassiveEff_ChangeHurtMulti = 6003 # 变更伤害倍值(可增可减)
+PassiveEff_AddSkillPer = 6004 # 增加本次技能万分比(验证目标状态)
+PassiveEff_AddSkillPerByJob = 6006 # 增加本次技能万分比(验证目标职业)
+# 6005 增加本次技能万分比(按buff状态层数算)
+PassiveEff_AddSkillTagCnt = 6007 # 增加技能目标数
+PassiveEff_ImmuneControlBuff = 6008 # 生命值低于x%时免疫控制效果
+PassiveEff_MustSuperHit = 6009 # 生命值低于x%时必定暴击
+PassiveEff_AddSkillPerByHP = 6010 # 增加本次技能万分比(验证当前生命)
+PassiveEff_AddSkillPerByBuffLayer = 6011 # 增加本次技能万分比(根据buff层级)
+PassiveEff_AddBuffLayerMax = 6012 # 添加buff层级上限:  数值1-增加层级上限
+PassiveEff_AddFinalDamPer = 6013 # 增加最终增伤(根据属性转化)
 
 # 被动效果ID有触发值时就返回的
-PassiveEffHappenValueList = [PassiveEff_ChangeHurtType]
+PassiveEffHappenValueList = [PassiveEff_ChangeHurtType, PassiveEff_ImmuneControlBuff, PassiveEff_MustSuperHit]
 # 被动效果ID触发值取最大值的
-PassiveEffValueMaxList = []
+PassiveEffValueMaxList = [PassiveEff_ChangeHurtMulti]
 # 被动效果ID触发值取最小值的
 PassiveEffValueMinList = []
+
+# 技能效果 - 不需要配置触发方式的
+SkillEff_CureWayEx = 7001 # 额外治疗值计算(对CalcType、SkillPer治疗计算方式扩展): 值1-计算方式;值2-万分比
+SkillEff_HurtShare = 7002 # 均摊伤害
 
 (
 TriggerType_BeSuperHit, # 被暴击触发技能 1
@@ -4398,7 +4425,7 @@
 TriggerType_ThumpSkillValue, # 重击增加技能固定值伤害 88
 TriggerType_HitValue, # 记录命中个数 89
 TriggerType_ChangeSkillEff, # 改变技能特效广播 90
-) = range(1, 91)
+) = range(1001, 1091)
 
 
 #不可以佩戴翅膀的地图

--
Gitblit v1.8.0