From 1d236490e8865fcb7af9eade85b4516e1904b414 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 06 一月 2026 20:16:35 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(增加属性ID 77贯穿、78抗贯穿、79招架、80抗招架属性支持;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 97 ++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 81 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 042b9e5..d6437de 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -176,7 +176,13 @@
AttrID_PVPDamPerDef, # PVP减伤 72
AttrID_ReviveHPPer, # 复活生命加成 73
AttrID_ReviveXPPer, # 复活怒气加成 74
-) = range(1, 1 + 74)
+AttrID_DOTBurnPer, # 灼烧增伤 75
+AttrID_DOTBurnPerDef, # 灼烧减伤 76
+AttrID_Guanchuan, # 贯穿 77
+AttrID_GuanchuanDef, # 抗贯穿 78
+AttrID_Zhaojia, # 招架 79
+AttrID_ZhaojiaDef, # 抗招架 80
+) = range(1, 1 + 80)
# 需要计算的武将战斗属性ID列表
CalcBattleAttrIDList = [AttrID_Atk, AttrID_Def, AttrID_MaxHP, AttrID_StunRate, AttrID_StunRateDef,
@@ -191,7 +197,8 @@
AttrID_WuFinalDamPer, AttrID_WuFinalDamPerDef, AttrID_QunFinalDamPer, AttrID_QunFinalDamPerDef,
AttrID_BatDamPer, AttrID_BatDamPerDef, AttrID_PursueDamPer, AttrID_PursueDamPerDef,
AttrID_ComboDamPer, AttrID_ComboDamPerDef, AttrID_XPRecoverPer, AttrID_PVPDamPer, AttrID_PVPDamPerDef,
- AttrID_ReviveHPPer, AttrID_ReviveXPPer,
+ AttrID_ReviveHPPer, AttrID_ReviveXPPer, AttrID_DOTBurnPer, AttrID_DOTBurnPerDef,
+ AttrID_Guanchuan, AttrID_GuanchuanDef, AttrID_Zhaojia, AttrID_ZhaojiaDef,
]
# 基础三维属性ID列表
@@ -472,7 +479,6 @@
# 直接转换为对应数值的物品ID列表
Def_ItemID_GoldMoney = 1 # 直接给仙玉/元宝
Def_ItemID_SilverMoney = 22 # 直接给铜钱
-Def_ItemID_FamilyContribution = 26 # 直接给战盟贡献点
Def_ItemID_SP = 29 # 直接给sp
Def_ItemID_GoldPaper = 30 # 直接给绑玉/灵石
Def_ItemID_RealmPoint = 24 # 直接给修行点
@@ -489,7 +495,7 @@
Def_ItemID_GongdePoint = 530 # 直接给功德点
Def_ItemID_FamilyFlagWarPoint = 540 # 直接给万界积分
Def_ItemID_TongTianPoint = 720 # 直接给通天令经验点
-Def_TransformItemIDList = [Def_ItemID_FamilyContribution, Def_ItemID_SP, Def_ItemID_GoldPaper,
+Def_TransformItemIDList = [Def_ItemID_SP, Def_ItemID_GoldPaper,
Def_ItemID_RealmPoint, Def_ItemID_SilverMoney, Def_ItemID_BossReborn, Def_ItemID_Ysog,
Def_ItemID_SoulDust, Def_ItemID_SoulSplinters, Def_ItemID_SoulCore, Def_ItemID_Honor, Def_ItemID_GoldMoney,
Def_ItemID_FuncSysPrivilege, Def_ItemID_FCPartyPoint, Def_ItemID_BTGMPoint, Def_ItemID_GuShenMoney,
@@ -933,7 +939,9 @@
HurtAtkType_HarmSelf, # 自残 12
HurtAtkType_CaorenProtect, # 本次伤害有受曹仁防护标记 13
HurtAtkType_IgnoreShield, # 无视承伤盾 14
-) = range(15)
+HurtAtkType_Guanchuan, # 贯穿 15
+HurtAtkType_Zhaojia, # 招架 16
+) = range(17)
#伤害类型
(
@@ -1337,6 +1345,10 @@
# @return: 1 ~ 总行数
return (posNum - 1) / TurnFightCols + 1
+# 性别
+BatObjSex_Male = 1 # 男
+BatObjSex_Female = 2 # 女
+
# 技能目标 - 瞄准范围
(
SkillTagAim_All, # 全部 0
@@ -1347,7 +1359,12 @@
SkillTagAim_Self, # 自己 5
SkillTagAim_MainSkill, # 继承主技能目标 6
SkillTagAim_MainSkillEx, # 继承主技能目标一次性处理 7
-) = range(8)
+SkillTagAim_MainSkillFriend, # 继承主技能友军 8
+SkillTagAim_Male, # 男性 9
+SkillTagAim_Female, # 女性 10
+SkillTagAim_MainSkillRow, # 继承主技能目标同横排 11
+SkillTagAim_MainSkillCol, # 继承主技能目标同纵排 12
+) = range(13)
# 技能目标 - 细分
(
@@ -1360,7 +1377,9 @@
SkillTagAffect_Burn, # 灼烧/玄火目标优先 6
SkillTagAffect_PoisonCure, # 仅焚血(毒奶)目标 7
SkillTagAffect_DamShield, # 承伤盾目标优先 8
-) = range(9)
+SkillTagAffect_Bleeding, # 仅流血目标 9
+SkillTagAffect_HPPerLowest, # 血量百分比最低 10
+) = range(11)
#技能施法目标
Def_UseSkillAim_Type = 3
@@ -1547,6 +1566,7 @@
BuffLastTimeType_Default = 0 # 默认以获得buff时自身回合前后判断
BuffLastTimeType_BigTurn = 1 # 大回合buff,每大回合开始固定减1回合
BuffLastTimeType_BigTurnLayer = 2 # 大回合buff,每大回合开始固定减1层
+BuffLastTimeType_BigTurnLimit = 3 # 在1的基础上,额外限制不超过战场当前回合
#动作类区分标识
(
@@ -1884,9 +1904,10 @@
Def_FBMapID_Zhanchui = 30010 # 白骨盈野/战锤秘境
Def_FBMapID_Tianzi = 30020 # 天子考验
+Def_FBMapID_Dingjunge = 30030 # 定军阁
#线路未过关时免费的地图
-UnPassFreeMapIDList = [Def_FBMapID_Zhanchui]
+UnPassFreeMapIDList = [Def_FBMapID_Zhanchui, Def_FBMapID_Dingjunge]
#按星级记录过关的地图
PassByStarMapIDList = []
#扫荡不需要检查是否已过关的地图
@@ -1894,7 +1915,7 @@
#固定玩家获胜的地图
PlayerWinMapIDList = [Def_FBMapID_Tianzi]
#需要汇报中心副本过关进度的地图
-ReportCenterMapIDList = [Def_FBMapID_Zhanchui]
+ReportCenterMapIDList = [Def_FBMapID_Zhanchui, Def_FBMapID_Dingjunge]
#注册上传跨服服务器数据后直接进入跨服服务器的地图
RegisterEnter_CrossServerMapIDList = []
@@ -1968,6 +1989,7 @@
'Arena':[Def_FBMapID_ArenaBattle],
'Zhanchui':[Def_FBMapID_Zhanchui],
'Tianzi':[Def_FBMapID_Tianzi],
+ 'Dingjunge':[Def_FBMapID_Dingjunge],
}
#特殊副本ID, 由系统分配, 进入时候不验证IsMapCopyFull
@@ -2996,6 +3018,14 @@
BatObjState_Link, # 链接(董白) 29
) = range(1 + 29)
+BatObjState_Nuhuo = 43 # 怒火(张飞),仅免疫伤害
+
+#免疫伤害的状态
+ImmuneHurtStateList = [BatObjState_Wudi, BatObjState_Nuhuo]
+
+#属于灼烧状态的
+BurnStateList = [BatObjState_Burn, BatObjState_BurnPlus]
+
#玩家状态定义,不能超过31个,如超过,需扩展多个key支持
Def_PlayerStateList = (
Def_PlayerState_Normal, # 无 0
@@ -3188,6 +3218,7 @@
Def_PlayerKey_CrossRegisterMap = "CrossRegisterMap" #跨服注册活动地图, dataMapID
+Def_Player_Dict_FixVersion = "FixVersion" #修正内容版本号
Def_Player_Dict_RouteServerInitOK = "RouteServerInitOK_33" #RouteServer初始化成功(仅登陆一次)
Def_Player_Dict_Wallow_LV = "GameWallowLV_34" #防沉迷等级
Def_Player_Dict_Wallow_OfflineTime = "GameWallowOfflineTime_35" #防沉迷离线累积时间
@@ -3266,7 +3297,10 @@
Def_PDict_TreasureLuck = "TreasureLuck_%s" # 寻宝当前幸运值, 参数(寻宝类型)
Def_PDict_TreasureCntAward = "TreasureCntAward_%s" # 累计寻宝次数对应物品奖励领奖状态, 参数(寻宝类型)
Def_PDict_TreasureGridCnt = "TreasureGridCnt_%s_%s" # 格子对应累计产出次数, 参数(寻宝类型, 格子编号)
-Def_PDict_TreasureWish = "TreasureWish_%s_%s_%s" # 心愿物品产出次数, 参数(寻宝类型, 库ID, 选择编号索引) WishID*100+已产出次数
+Def_PDict_TreasureWishSelect = "TreasureWSel_%s_%s_%s" # 心愿物品选择记录, 参数(寻宝类型, 库ID, index) 已选择心愿物品ID
+Def_PDict_TreasureWishOut = "TreasureWOut_%s_%s" # 心愿物品已产出次数, 参数(寻宝类型, WishID)
+Def_PDict_TreasureWishLibOut = "TreasureWLibOut_%s_%s" # 心愿物品库已产出总次数, 参数(寻宝类型, 库ID)
+Def_PDict_TreasureWishUseItem = "TreasureWUItem_%s_%s" # 心愿物品库是否已启用, 参数(寻宝类型, 库ID)
Def_Player_Dict_LastAutoOpenPackTick = "LastAutoOpenPackTick219_%s" #上一次自动购买的tick<背包类型>
@@ -3523,7 +3557,7 @@
Def_PDict_TravelEnergy = "TravelEnergy" # 剩余体力
Def_PDict_TravelEnergyTime = "TravelEnergyTime" # 上次恢复体力时间戳
Def_PDict_TravelCnt = "TravelCnt" # 累计游历次数
-Def_PDict_TravelScenery = "TravelScenery" # 景观信息,景观左上角所在格子索引 * 10 + 景观类型
+Def_PDict_TravelSceneryState = "TravelScenery" # 景观状态信息,是否已被找到 * 1000 + 景观左上角所在格子行 * 100 + 列 * 10 + 景观类型
Def_PDict_TravelSceneryLVInfo = "TravelSceneryLVInfo" # 景观等级信息,个位数-第1次升级成功与否,1-成功,2-失败;十位-第2次 ...
Def_PDict_TravelGridInfo = "TravelGridInfo_%s_%s" # 格子信息,参数(行, 列) 事件ID*100+是否双倍*10+开启状态
Def_PDict_TravelState = "TravelState" # 本盘游历记录,1-已领取景观奖励
@@ -3860,6 +3894,15 @@
Def_PDict_TianziHisHurtEx = "TianziHisHurtEx_%s" # 历史最高伤害,整除亿部分,参数(bossID)
Def_PDict_TianziTodayHurt = "TianziTodayHurt" # 今日最高伤害,求余亿部分
Def_PDict_TianziTodayHurtEx = "TianziTodayHurtEx" # 今日最高伤害,整除亿部分
+
+#定军阁
+Def_PDict_DJGLineID = "DJGLineID" # 今日已过关的线路ID 层 * 100 + 关卡编号
+Def_PDict_DJGEffect = "DJGEff_%s" # 已生效的加成效果,参数(index) effID * 100 + 效果等级
+Def_PDict_DJGSelectEffect = "DJGSelectEff_%s" # 当前待选择的加成效果,参数(index) effID
+Def_PDict_DJGUnSelectCnt = "DJGUnSelectCnt" # 还有几个未选择的效果
+Def_PDict_DJGEffAuto = "DJGEffAuto" # 是否自动选择效果
+Def_PDict_DJGEffSet = "DJGEffSet_%s" # 预设优先选择属性ID,参数(优先index)
+
#-------------------------------------------------------------------------------
#物品效果(ID或指定类型)对应的属性计算信息 {效果(ID/指定类型):[[属性索引, ...], 是否基础属性,(非)线性]}
@@ -4010,7 +4053,18 @@
TriggerWay_FriendAction, # 友方行动后(包含自己) 45
TriggerWay_HurtTag, # 对目标造成伤害时 46
TriggerWay_BeControlledHard, # 受控时(硬控) 47
-) = range(1, 1 + 47)
+TriggerWay_FriendCombo, # 友军连击时(包含自己) 48
+TriggerWay_FriendPursue, # 友军追击时(包含自己) 49
+TriggerWay_FriendAttackOverDirectOne, # 友方使用技能后(多目标仅触发一次,包含自己) 50
+TriggerWay_FriendAttackOverDirectOneNoSelf, # 友方使用技能后(多目标仅触发一次,不含自己) 51
+TriggerWay_DOTHurt, # 造成持续伤害时 52
+TriggerWay_FriendDotHurt, # 友方造成持续伤害时(多目标仅触发一次,包含自己) 53
+TriggerWay_NoDead, # 不时死(有配置该触发方式的视为有不死,触发死亡时不死保留1点血量) 54
+TriggerWay_ImmuneHurt, # 免疫伤害时 55
+TriggerWay_BeSuckHP, # 被吸血时 56
+TriggerWay_SuckHPOne, # 吸血时(多目标仅触发一次) 57
+TriggerWay_EnemyBeControlledHard, # 敌方受控时(硬控) 58
+) = range(1, 1 + 58)
# 不加载的被动触发方式,一般用于本技能固定触发逻辑用的
TriggerWayNoLoadList = [TriggerWay_CurSkillEff, TriggerWay_CurSkillEffLst]
@@ -4032,7 +4086,7 @@
PassiveEff_AddSkillPerByJob = 6006 # 增加本次技能万分比(验证目标职业)
PassiveEff_AddSkillTagCnt = 6007 # 增加技能目标数
PassiveEff_ImmuneControlBuff = 6008 # 生命值低于x%时免疫控制效果
-PassiveEff_MustSuperHit = 6009 # 生命值低于x%时必定暴击
+PassiveEff_MustSuperHit = 6009 # 必定暴击
PassiveEff_AddSkillPerByHP = 6010 # 增加本次技能万分比(验证当前生命)
PassiveEff_AddSkillPerByBuffLayer = 6011 # 增加本次技能万分比(根据buff层级)
PassiveEff_AddBuffLayerMax = 6012 # 添加buff层级上限: 数值1-增加层级上限
@@ -4052,14 +4106,23 @@
PassiveEff_AddCheckPer5505 = 6026 # 增减5505效果验证生命百分比(根据目标身上buff状态层数)
PassiveEff_AddHurtAtkPerMax = 6027 # 增加技能最大攻击万分比限制
PassiveEff_AddChangeLayers5008 = 6028 # 增减5008效果的转化层数
+PassiveEff_AddBatDamPerByLayer = 6029 # 提升技能战斗伤害(根据身上buff状态层数)
+PassiveEff_LostHPProtect = 6030 # 掉血上限保护
+PassiveEff_ImmuneControlDepBuff = 6031 # 某种buff状态层达到x时免疫减益控制效果
+PassiveEff_AddCureMultiBySkillType = 6032 # 提升治疗技能最终治疗效果(根据目标buff类型层数)
+PassiveEff_ImmuneBadBuff = 6033 # 概率免疫buff类型(免疫添加,针对减益、控制、dot类)
+PassiveEff_IgnoreSex = 6034 # 去除性别验证
+PassiveEff_AddBuffTime = 6035 # 增加buff持续时间
+PassiveEff_AddSkillUseCntLimit = 6036 # 增加7009回合数
+PassiveEff_AddDamBackPerByBuffLayer = 6037 # 增加反弹伤害万分比(根据buff层级)
# 被动效果ID有触发值时就返回的
PassiveEffHappenValueList = [PassiveEff_ChangeHurtType, PassiveEff_ImmuneControlBuff, PassiveEff_MustSuperHit, PassiveEff_SkillInvalid,
- PassiveEff_IgnoreShield]
+ PassiveEff_IgnoreShield, PassiveEff_ImmuneBadBuff, PassiveEff_IgnoreSex]
# 被动效果ID触发值取最大值的
PassiveEffValueMaxList = [PassiveEff_ChangeHurtMulti]
# 被动效果ID触发值取最小值的
-PassiveEffValueMinList = []
+PassiveEffValueMinList = [PassiveEff_LostHPProtect]
# 技能效果 - 不需要配置触发方式的
SkillEff_CureWayEx = 7001 # 额外治疗值计算(对CalcType、SkillPer治疗计算方式扩展): 值1-计算方式;值2-万分比
@@ -4762,6 +4825,7 @@
HeroID_Dongbai = 540009 # 董白
# 部分技能ID
+SkillID_CaorenProtect = 1015070 # 承殇
SkillID_SmyFanzhao = 1012050 # 返照
SkillID_DongbaiRevive = 4009240 # 董白 - 复活
@@ -5125,7 +5189,8 @@
TaskType_FBTianzi, # 挑战天子的考验x次 19
TaskType_Rename, # 改名 20
TaskType_HeroBook, # 武将图鉴激活x个 21
-) = range(1, 1 + 21)
+TaskType_HeroCall, # 武将招募X次 22
+) = range(1, 1 + 22)
# 任务分组
TaskGroupList = (
--
Gitblit v1.8.0