From 0ce10692f53e9df632d848368f7081440974091f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 23 九月 2025 19:43:42 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(张飞技能;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 132 ++++++++++++++++++++++++++++---------------
1 files changed, 85 insertions(+), 47 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index a915e37..ff9a710 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:"官职",
}
##-----------------------------------------------------------------------------------------------
@@ -958,11 +968,11 @@
HurtType_Normal, # 伤害 1
HurtTYpe_Recovery, # 回血 2
HurtType_3,
-HurtType_4,
+HurtType_Immune, # 免疫 4
HurtType_Parry, # 格挡 5
-HurtType_IgnoreDef, # 无视防御 6
+HurtType_IgnoreDef, # 无视防御/真实伤害 6
HurtType_SuperHit, # 暴击 7
-HurtType_8,
+HurtType_Stun, # 击晕 8 仅算概率触发的击晕,技能额外击晕效果的不算
HurtType_Miss, # 闪避 9
) = range(10)
@@ -1317,9 +1327,11 @@
Def_CalcTypeList = (
Def_Calc_Attack, # 攻击 0
Def_Calc_MaxHP, # 最大生命值 1
-Def_Calc_HurtValue, # 伤害值 2
+Def_Calc_LastHurt, # 最后一次伤害值 2
Def_Calc_TagMaxHP, # 目标最大生命值 3
-) = range(4)
+Def_Calc_ByBuffValue, # 触发buff的buff值 4
+Def_Calc_TagLostHP, # 目标已损失生命 5
+) = range(6)
#治疗类型(影响公式参数)
Def_CureTypeList = (
@@ -1382,7 +1394,8 @@
SkillTagAffect_HPHighest, # 血量最高 2
SkillTagAffect_Death, # 死亡单位 3
SkillTagAffect_UncontrolledPriority, # 未被控制优先 4
-) = range(5)
+SkillTagAffect_AtkHighest, # 攻击力最高 5
+) = range(6)
#技能施法目标
Def_UseSkillAim_Type = 3
@@ -1894,6 +1907,7 @@
Def_FBMapID_Main = 1 # 主线小怪
Def_FBMapID_MainBoss = 2 # 主线Boss
+Def_FBMapID_ArenaBattle = 3 # 演武场
#创角新手村地图ID列表
Def_CreatRoleMapIDList = [10000]
@@ -2001,18 +2015,16 @@
Def_FBMapID_CrossBattlefield = 32060
#跨服仙盟夺旗战/逐鹿万界
Def_FBMapID_CrossFamilyFlagwar = 32090
-#竞技场战斗
-Def_FBMapID_ArenaBattle = 31290
#情缘副本
Def_FBMapID_Love = 31300
#镜像切磋
Def_FBMapID_MirrorBattle = 100
#前端自定义场景地图
-ClientCustomSceneList = [Def_FBMapID_PersonalBoss, Def_FBMapID_ArenaBattle, Def_FBMapID_MirrorBattle]
+ClientCustomSceneList = []
#镜像PK的地图ID列表
-MirrorBattleMapIDList = [Def_FBMapID_MirrorBattle, Def_FBMapID_ArenaBattle, Def_FBMapID_CrossRealmPK, Def_FBMapID_CrossChampionship]
+MirrorBattleMapIDList = []
#注册上传跨服服务器数据后直接进入跨服服务器的地图
RegisterEnter_CrossServerMapIDList = [Def_FBMapID_CrossPenglai, Def_FBMapID_CrossDemonLand, Def_FBMapID_CrossDemonKing,
@@ -2108,6 +2120,7 @@
Def_FB_MapID = {
'MainLevel':[Def_FBMapID_Main], # 主线关卡
'MainLevelBoss':[Def_FBMapID_MainBoss], # 主线关卡boss
+ 'Arena':[Def_FBMapID_ArenaBattle],
}
#特殊副本ID, 由系统分配, 进入时候不验证IsMapCopyFull
@@ -3061,9 +3074,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
@@ -3135,15 +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
-) = range(13)
-
-# 被控制的状态列表,无法行动,处于某些控制类buff影响状态下,如晕眩,冰冻,石化
-InControlledStateList = [BatObjState_Frozen, BatObjState_Stun, BatObjState_Stone]
+ BatObjState_Disarm, # 缴械 13
+ BatObjState_ParryYJ, # 格挡印记 14
+ BatObjState_Weak, # 虚弱 15
+ BatObjState_Charm, # 魅惑 16
+ BatObjState_Chaos, # 混乱 17
+ BatObjState_18, # 权谋 18
+ BatObjState_FocusFire, # 军令/集火 19
+) = range(20)
#玩家状态定义,不能超过31个,如超过,需扩展多个key支持
Def_PlayerStateList = (
@@ -3622,12 +3636,6 @@
Def_PDict_PetTrainLV = "PetTrainLV_%s" # 灵宠培养等阶,参数(培养类型)
Def_PDict_PetTrainItemCount = "PetTrainItemCount_%s" # 灵宠培养当前阶已吃培养丹个数,参数(培养类型)
-#装备分解
-Def_PDict_EquipDecomposeLV = "EquipDecomposeLV" #等级
-Def_PDict_EquipDecomposeExp = "EquipDecomposeExp" #经验
-Def_PDict_EquipDecomposeSeting = "EquipDecomposeSeting" #设置数据
-Def_PDict_EquipDecomposeCnt = "EquipDecomposeCnt" #已分解件数
-
#试炼之塔
Def_Player_Dict_TrialTower_PassLV = "TrialTower_PassLV" # 试炼之塔通关层数
Def_Player_Dict_TrialTower_LastDayPassLV = "Tower_LastDayPassLV" # 试炼之塔昨日通关层数
@@ -4091,13 +4099,7 @@
Def_PDict_SkillElementLV = "SkillElementLV%s" #专精技能技能等级 参数技能ID
#竞技场
-Def_PDict_ArenaOSSeasonState = "ArenaOSSeasonState" # 开服前定制X天赛季状态 0-未比赛过,1-进行中,>1结算时的开服天
Def_PDict_ArenaScore = "ArenaScore" # 当前积分
-Def_PDict_ArenaHighestScore = "ArenaHighestScore" # 历史最高积分
-Def_PDict_ArenaBattleCountDay = "ArenaBattleCountDay" # 今日已战斗次数
-Def_PDict_ArenaMatchRefreshCount = "ArenaMatchRefreshCount" # 匹配刷新列表次数
-Def_PDict_ArenaItemAddCount = "ArenaItemAddCount" # 今日已使用物品增加次数
-Def_PDict_ArenaBattleTagID = "ArenaBattleTagID" # 当前对战的对手ID
#功能系统特权
Def_PDict_FuncSysPrivilegeActTime = "FuncSysPrivilegeActTime_%s" # 系统功能特权激活时间戳,参数(系统功能ID)
@@ -4156,6 +4158,7 @@
#武将
Def_PDict_HeroSkin = "HeroSkin_%s" # 武将皮肤解锁状态,按皮肤索引二进制存储,参数(武将ID)
Def_PDict_HeroBook = "HeroBook_%s" # 武将图鉴激活等级,参数(武将ID) cccbbba a-初始激活状态1-英雄激活,2-初始图鉴激活; bbb-存星级图鉴激活等级;ccc-存突破图鉴激活等级
+Def_PDict_HeroBookH = "HeroBookH_%s" # 武将图鉴历史最高等级,参数(武将ID) cccbbba: bbb-存星级图鉴最高等级;ccc-存突破图鉴最高等级
Def_PDict_HeroAwakeRebirthCnt = "HeroAwakeRebirthCnt" # 已觉醒过的武将今日已重生次数,共享次数
#主线
@@ -4279,17 +4282,49 @@
TriggerWay_HeroTurnEnd, # 武将回合开始时 5
TriggerWay_HeroActionStart, # 武将行动前 6
TriggerWay_HeroActionEnd, # 武将行动后 7
-TriggerWay_CalcTagInState, # 攻击计算时对方处于xx状态时(参数:状态1|2|...)一般用于攻击时属性计算 8
-TriggerWay_AttackOverTagInState, # 攻击计算后对方处于xx状态时(参数:状态1|2|...)一般用于攻击后触发效果 9
-TriggerWay_AttackOverDirect, # 直接攻击后 (非buff攻击)10
+TriggerWay_CalcEffValue, # 统计计算效果值时 8
+TriggerWay_UseSkillOver, # 使用技能后(每个目标触发一次)9
+TriggerWay_AttackOverDirect, # 直接攻击后(除dot或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
+TriggerWay_BuffDel, # buff消失后 17
+TriggerWay_BeCombo, # 被连击时 18
+TriggerWay_BePursue, # 被追击时 19
+) = range(1, 1 + 19)
+
+# 不加载的被动触发方式,一般用于本技能固定触发逻辑用的
+TriggerWayNoLoadList = [TriggerWay_CurSkillEff, TriggerWay_CurSkillEffLst]
# 被动触发有效来源
-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, ...]
+PassiveEff_AddSkillPerByJob = 6006 # 增加本次技能万分比: 值1-增加的万分比;值2-验证目标职业
+PassiveEff_AddSkillTagCnt = 6007 # 增加技能目标数:值1-增加目标个数
+PassiveEff_ImmuneControlBuff = 6008 # 生命值低于x%时免疫控制效果:值1-百分比
+PassiveEff_MustSuperHit = 6009 # 生命值低于x%时必定暴击:值1-百分比
+
+# 被动效果ID有触发值时就返回的
+PassiveEffHappenValueList = [PassiveEff_ChangeHurtType, PassiveEff_ImmuneControlBuff, PassiveEff_MustSuperHit]
+# 被动效果ID触发值取最大值的
+PassiveEffValueMaxList = [PassiveEff_ChangeHurtMulti]
+# 被动效果ID触发值取最小值的
+PassiveEffValueMinList = []
+
+# 技能效果 - 不需要配置触发方式的
+SkillEff_CureWayEx = 7001 # 额外治疗值计算(对CalcType、SkillPer治疗计算方式扩展): 值1-计算方式;值2-万分比
+SkillEff_HurtShare = 7002 # 均摊伤害
(
TriggerType_BeSuperHit, # 被暴击触发技能 1
@@ -4382,7 +4417,7 @@
TriggerType_ThumpSkillValue, # 重击增加技能固定值伤害 88
TriggerType_HitValue, # 记录命中个数 89
TriggerType_ChangeSkillEff, # 改变技能特效广播 90
-) = range(1, 91)
+) = range(1001, 1091)
#不可以佩戴翅膀的地图
@@ -4888,12 +4923,6 @@
CME_FB_RunFamily:"战盟跑环",
}
-# 功能对应的事件记录类型
-FuncCMEDict = {
- ShareDefine.GameFuncID_RunDaily:CME_FB_RunDaily,
- ShareDefine.GameFuncID_RunFamily:CME_FB_RunFamily,
- }
-
# 需要发送到任务事件扩展记录的类型 ShareDefine.Def_UserAction_ExMissionLog
CME_Ex_Log_List = [CME_Class_Horse, CME_Class_Wing, CME_Class_Official]
@@ -4996,8 +5025,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为通用技能
@@ -5045,6 +5073,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