From f611ba2ca93e527c98b2d05ffefdcc21a6ed0bd1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 30 十月 2025 15:42:49 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(何太后技能;优化孙坚技能buff额外属性逻辑;增加技能计算伤害类型6-按自残血量值;增加效果7008 5021 5022;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 104 +++++++++++++++++++++++++++------------------------
1 files changed, 55 insertions(+), 49 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 01ecd37..f0eb727 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -347,8 +347,8 @@
TYPE_Calc_BaseDefAddPer, # 基础防御百分比
TYPE_Calc_BaseHitAddPer, # 基础命中百分比
TYPE_Calc_BaseMissAddPer, # 基础闪避百分比
-TYPE_Calc_GodWeaponMaxHPPer, # 神兵生命百分比
-TYPE_Calc_GodWeaponAtkPer, # 神兵攻击百分比 105
+TYPE_Calc_104, # 神兵生命百分比
+TYPE_Calc_105, # 神兵攻击百分比 105
TYPE_Calc_StoneMaxHPPer, # 宝石生命百分比
TYPE_Calc_StoneAtkPer, # 宝石攻击百分比
TYPE_Calc_HPCureEnhance, # 血瓶恢复效果增加
@@ -508,7 +508,6 @@
Def_ItemType_MissionItem = 17 #任务物品
Def_ItemType_TransMissionItem = 18 #转职任务物品
Def_ItemType_RealmStuff = 19 #头衔(境界)升级道具
-Def_ItemType_GodWeaponStuff = 20 #头衔(境界)升级道具
Def_ItemType_HorseStuff = 21 #坐骑丹
Def_ItemType_HorseSoul = 22 #坐骑兽魂
Def_ItemType_HorseBook = 23 #坐骑技能书
@@ -676,6 +675,7 @@
Def_Effect_RecycleItemMoney = 277 #回收物品转化为货币; A值-直接给货币物品ID;B值-货币数量
Def_Effect_FamilyEmblem = 278 #激活仙盟徽章; A值-徽章ID;
Def_Effect_HeroSkin = 279 #激活武将皮肤; A值-武将ID;B值-皮肤索引
+Def_Effect_FamilyTaofaCnt = 280 #增加公会讨伐次数; A值-讨伐次数
#----以下未使用或代码依然存在的---
Def_Effect_ItemGiveGongXun = 1920 #使用道具给予功勋
Def_Effect_ItemGiveRuneJH = 1925 #使用道具给予符印精华
@@ -771,8 +771,6 @@
Def_Item_Eff_UseClassLV = 2821
#祝福值波动范围 随机用
Def_Item_Eff_BlessRange = 2818
-#神兵经验值
-Def_Item_Eff_GodWeaponExp = 206
#---------------------------------------------------------------------
#写死的任务ID
#新手任务
@@ -975,7 +973,8 @@
HurtType_Miss, # 闪避 9
HurtType_PoisonCureHurt, # 伤害毒奶 10
HurtType_PoisonCureSuck, # 吸血毒奶 11
-) = range(12)
+HurtType_HarmSelf, # 自残 12
+) = range(13)
#伤害类型
(
@@ -1332,7 +1331,8 @@
Def_Calc_TagMaxHP, # 目标最大生命值 3
Def_Calc_ByBuffValue, # 触发buff的buff值 4
Def_Calc_TagLostHP, # 目标已损失生命 5
-) = range(6)
+Def_Calc_HarmSelfHP, # 按本次自残耗血值 6
+) = range(7)
#治疗类型(影响公式参数)
Def_CureTypeList = (
@@ -1484,11 +1484,10 @@
) = range( 0, Def_AutoAtkSkillType )
#技能类型
-Def_SkillType_Count = 25
(
Def_SkillType_Special , #特殊技能 0
Def_SkillType_Atk , #攻击类 1
- Def_SkillType_Rstr , #恢复类 2
+ Def_SkillType_Cure , #恢复类 2
Def_SkillType_LstPlsBuff , #持续增益BUFF 3
Def_SkillType_LstDepBuff , #持续减益BUFF 4
Def_SkillType_PlsBuff , #增益BUFF 5
@@ -1501,6 +1500,11 @@
Def_SkillType_Area , #场景技能(buff) 12
Def_SkillType_Summon , #召唤 13
Def_SkillType_Action , #影响行为BUFF 14
+ Def_SkillType_CleanBuff , #清除buff类(如净化等) 15
+) = range(0, 1 + 15)
+
+# 以下废弃
+(
Def_SkillType_LstPlsBuffAtk, #持续攻击类BUFF 15
Def_SkillType_PassivePlsBuff, #被动触发增益类buff 16
Def_SkillType_PassiveDepBuff, #被动触发减益类buff 17
@@ -1512,7 +1516,7 @@
Def_SkillType_AttrSkillNoLearn, # 可叠加的同类型ID属性类技能 不可学习 算属性直接取表 目前用于神兽技能 23
Def_SkillType_PassiveLstPlsBuffAtk, #被动持续攻击类BUFF 24
-) = range( 0, Def_SkillType_Count )
+) = range(115, 125)
#数据库中的Buff类型对应返回C++中的Buff类型对象
Def_SkillBuffList = {
@@ -1558,7 +1562,7 @@
#不进入战斗状态的技能
Def_NoBattleState_List = [
- Def_SkillType_Rstr , #恢复类 2
+ Def_SkillType_Cure , #恢复类 2
Def_SkillType_LstPlsBuff , #持续增益BUFF 3
Def_SkillType_PlsBuff , #增益BUFF 5
Def_SkillType_Passive , #被动技 7
@@ -2913,6 +2917,10 @@
Def_GameWallow_LV_Max,
)= range(0, 10)
+# 回合时机,以武将自身为参考
+TurnTiming_Before = 0 # 武将回合前
+TurnTiming_After = 1 # 武将回合后
+
# 回合攻击战斗类型
(
TurnBattleType_Normal, # 常规攻击 0
@@ -2936,7 +2944,6 @@
Def_Obj_Dict_HeroID = 'HeroID' # 该战斗NPC所绑定的武将ID,一般仅玩家阵容有
Def_Obj_Dict_SkinID = 'SkinID' # 该战斗NPC所绑定的武将皮肤ID,一般仅玩家阵容有
Def_Obj_Dict_TurnFightPosInfo = 'TurnFightPosInfo' # 回合制站位: 阵营编号*100+阵型站位,阵型站位为0时代表非主战单位
-Def_Obj_Dict_TurnFightTimeline = 'TurnFightTimeline' # 回合制战斗时间线: 回合数*100+行动编号节点
Def_Obj_Dict_TurnMissNum = 'TurnMissNum' # 单次累计闪避次数
Def_Obj_Dict_TurnBattleType = 'TurnBattleType' # 本次攻击战斗类型:TurnBattleType_xxx
@@ -3025,7 +3032,10 @@
BatObjState_DamBackShield, # 荆棘盾 22
BatObjState_BurnPlus, # 玄火(灼烧2) 23
BatObjState_PoisonCure, # 焚血(毒奶) 24
-) = range(1 + 24)
+ BatObjState_RebornLimit, # 无法复活 25
+ BatObjState_26, # 脆弱 26
+ BatObjState_27, # 阴咒 27
+) = range(1 + 27)
#玩家状态定义,不能超过31个,如超过,需扩展多个key支持
Def_PlayerStateList = (
@@ -3074,7 +3084,6 @@
Def_PlayerKey_BuffHurtCnt = "BuffHurtCnt" # 持续buff掉血次数
Def_PlayerKey_Zhansha = "zhansha" # 斩杀标志
Def_PlayerKey_LockHPSkillID = "LockHPSkillID" # 锁血功能的技能
-Def_PlayerKey_GodWeaponBeforeProDef = "GWBPD" # 神兵护盾被攻击前的值
Def_PlayerKey_curHurtValue = "curHurtValue" # 计算中的临时伤害值,技能特殊用
Def_PlayerKey_curHurtValueEx = "curHurtValueEx" # 计算中的临时伤害值,技能特殊用
Def_PlayerKey_SomersaultTime = "Somersault" # 翻滚一定时间内无敌,表现为MISS
@@ -3370,10 +3379,6 @@
Def_PDict_ItemUseCntToday = "ItemUseCntToday_%s" # 物品今日使用次数, 参数为物品ID
-Def_PDict_GodWeaponLV = "GodWeaponLV_%s" # 神器等级, 参数神器索引
-Def_PDict_GodWeaponExp = "GodWeaponExp_%s" # 神器等级对应祝福值经验, 参数神器索引
-Def_PDict_GodWeaponState = "GodWeaponState" # 神器是否已经激活, 按索引位存储神器是否激活
-
Def_PDict_ClothesSkinLV = "ClothesSkinLV_%s" # 时装皮肤等级,参数时装索引
Def_PDict_ClothesChestLV = "ClothesChestLV" # 时装柜等级
Def_PDict_ClothesChestEXP = "ClothesChestEXP" # 时装柜经验
@@ -3381,9 +3386,6 @@
Def_PDict_SplitExpLVCnt = "SplitExpLVCnt_%s" # 单位等级经验已拆分过的等级数, 参数为实际等级
Def_PDict_IsAddReviveTired = "IsAddReviveTired" # 死亡是否增加复活疲劳
-
-Def_PDict_DownloadAwardState = "DownloadAwardState" # 分包包下载奖励状态 0-未领 >0-已领奖励编号
-Def_PDict_DownloadPatchAward = "DownloadPatchAward" # 更新包下载奖励状态 0-未领 >0-已领奖励编号
Def_PDict_ChestsOpenCount = "ChestsOpenCount_%s" # 宝箱已开启次数, 参数(宝箱ID), 只有有开启次数额外奖励的才会记录
@@ -3435,29 +3437,25 @@
Def_Player_Dict_TrialTower_PassLV = "TrialTower_PassLV" # 试炼之塔通关层数
Def_Player_Dict_TrialTower_LastDayPassLV = "Tower_LastDayPassLV" # 试炼之塔昨日通关层数
-#仙盟打坐
-Def_Player_Dict_FamilySitExpRound = "FamilySitExpRound" # 已给经验轮次
-Def_Player_Dict_FamilySitTotalExp = "FamilySitTotalExp" # 获得的总经验
-Def_Player_Dict_FamilySitTotalExpPoint = "FamilySitTotalExpPoint" # 获得的总经验点
+#公会讨伐
+Def_Player_Dict_FamilyTaofaCnt = "FamilyTaofaCnt" # 已讨伐次数
+Def_Player_Dict_FamilyTaofaItemAddCnt = "FamilyTaofaItemAddCnt" # 道具增加讨伐次数
+Def_Player_Dict_FamilyTaofaBuZhenState = "FamilyTaofaBuZhenState" # 是否已布阵
+Def_Player_Dict_FamilyTaofaAnger = "FamilyTaofaAnger" # 当前怒气
+Def_Player_Dict_FamilyTaofaBoxTotalGetCnt = "FamilyTaofaBoxTotalGetCnt" # 累计已领取宝箱奖励数
+Def_Player_Dict_FamilyTaofaBoxUnGetCnt = "FamilyTaofaBoxUnGetCnt" # 当前未领取的宝箱奖励数
+Def_Player_Dict_FamilyTaofaBoxLastTime = "FamilyTaofaBoxLastTime" # 上一次统计未领取宝箱时间戳,超过该时间戳的宝箱才可以再增加未领取
+Def_Player_Dict_FamilyTaofaBoxContribCnt = "FamilyTaofaBoxContribCnt" # 累计贡献的宝箱奖励数
+Def_Player_Dict_FamilyTaofaBoxHurt = "FamilyTaofaBoxHurt" # 宝箱奖励计算累计伤害,求余亿部分
+Def_Player_Dict_FamilyTaofaBoxHurtEx = "FamilyTaofaBoxHurtEx" # 宝箱奖励计算累计伤害,整除亿部分
+Def_Player_Dict_FamilyTaofaBoxHurtHis = "FamilyTaofaBoxHurtHis" # 历史最高累计伤害,求余亿部分
+Def_Player_Dict_FamilyTaofaBoxHurtHisEx = "FamilyTaofaBoxHurtHisEx" # 历史最高累计伤害,整除亿部分
#虚拟背包物品数据
Def_PDict_VPackItem = "VPackItem_%s_%s" # 虚拟背包物品数据, 参数(背包类型, 位置索引)
#物品个数
Def_PDict_ItemCount = "ItemCount_%s" # 存储不放在背包的物品个数, 参数(物品ID)
-
-#一次性最大充值
-Def_Player_RechargeOnce_Coin = "RechargeOnce_Coin"
-
-#悬赏任务
-Def_Player_Dict_ArrestTaskStar = "ArrestTaskStar" # 悬赏任务星级
-Def_Player_Dict_ArrestTaskData = "ArrestTaskData_%s" # 悬赏任务数据,参数索引
-Def_Player_Dict_ArrestTaskAwardRecord = "ArrestTaskAwardRecord" # 悬赏任务积分奖励领取记录
-Def_Player_Dict_ArrestTaskFinishCnt = "ArrestTaskFinishCnt" # 悬赏任务今日完成个数
-
-#封魔坛
-Def_Player_Dict_FMTDouble = "FMTDouble" # 封魔坛是否双倍
-Def_Player_Dict_FMTOldDouble = "FMTOldDouble" # 封魔坛是否曾经可以双倍
#极品白拿
Def_PDict_FreeGoodsOpenTime = "FreeGoodsOpenTime" #极品白拿开启时间
@@ -3969,7 +3967,7 @@
Def_CalcAttrFunc_Pet, # 灵宠 9
Def_CalcAttrFunc_Horse, # 坐骑 10
Def_CalcAttrFunc_Prestige, # 境界 11
-Def_CalcAttrFunc_GodWeapon, # 神兵 12
+Def_CalcAttrFunc_12, # 神兵 12
Def_CalcAttrFunc_Dienstgrad, # 称号 13
Def_CalcAttrFunc_Rune, # 符印 14
Def_CalcAttrFunc_15,
@@ -4051,7 +4049,8 @@
TriggerWay_UseSkillOverOne, # 使用技能后(多目标仅触发一次)20
TriggerWay_AttackOverDirectOne, # 直接攻击后(除dot或buff外的攻击,多目标仅触发一次)21
TriggerWay_BeAnyEffect, # 受到任意效果时(除直接攻击外的任意效果,如buff、dot、治疗、额外怒技)22
-) = range(1, 1 + 22)
+TriggerWay_BuffAddByOwner, # buff添加时(施法者触发) 23
+) = range(1, 1 + 23)
# 不加载的被动触发方式,一般用于本技能固定触发逻辑用的
TriggerWayNoLoadList = [TriggerWay_CurSkillEff, TriggerWay_CurSkillEffLst]
@@ -4067,8 +4066,8 @@
PassiveEff_ChangeHurtType = 6002 # 变更本次伤害类型
PassiveEff_ChangeHurtMulti = 6003 # 变更伤害倍值(可增可减)
PassiveEff_AddSkillPer = 6004 # 增加本次技能万分比(验证目标状态)
+PassiveEff_AddSkillPerByDeadTeammate = 6005 # 增加本次技能万分比(按队友死亡数)
PassiveEff_AddSkillPerByJob = 6006 # 增加本次技能万分比(验证目标职业)
-# 6005 增加本次技能万分比(按buff状态层数算)
PassiveEff_AddSkillTagCnt = 6007 # 增加技能目标数
PassiveEff_ImmuneControlBuff = 6008 # 生命值低于x%时免疫控制效果
PassiveEff_MustSuperHit = 6009 # 生命值低于x%时必定暴击
@@ -4077,9 +4076,13 @@
PassiveEff_AddBuffLayerMax = 6012 # 添加buff层级上限: 数值1-增加层级上限
PassiveEff_AddFinalDamPer = 6013 # 增加最终增伤(根据属性转化)
PassiveEff_AddSkillRate = 6014 # 增加技能概率
+PassiveEff_AddRicochetCnt = 6015 # 增加弹射次数
+PassiveEff_AddShieldHurtPer = 6016 # 对护盾造成伤害加成
+PassiveEff_SkillInvalid = 6017 # 使技能无效
+PassiveEff_AddAngerSkillPerByXP = 6018 # 增加怒气技能伤害(按消耗怒气值)
# 被动效果ID有触发值时就返回的
-PassiveEffHappenValueList = [PassiveEff_ChangeHurtType, PassiveEff_ImmuneControlBuff, PassiveEff_MustSuperHit]
+PassiveEffHappenValueList = [PassiveEff_ChangeHurtType, PassiveEff_ImmuneControlBuff, PassiveEff_MustSuperHit, PassiveEff_SkillInvalid]
# 被动效果ID触发值取最大值的
PassiveEffValueMaxList = [PassiveEff_ChangeHurtMulti]
# 被动效果ID触发值取最小值的
@@ -4089,6 +4092,11 @@
SkillEff_CureWayEx = 7001 # 额外治疗值计算(对CalcType、SkillPer治疗计算方式扩展): 值1-计算方式;值2-万分比
SkillEff_HurtShare = 7002 # 均摊伤害
SkillEff_ChangeTag = 7003 # 修改技能目标
+SkillEff_RandRicochetCnt = 7004 # 随机弹射次数(A~B随机,包含AB)
+SkillEff_MustHit = 7005 # 技能必命中
+SkillEff_ActionUseInvalid = 7006 # 行动时不可释放技能(可连击、反击、追击)
+SkillEff_AngerSkillNoXP = 7007 # 无论多少怒气均可释放该怒气技能
+SkillEff_UseSkillHarmSelf = 7008 # 释放技能时自残(先扣血)
(
TriggerType_BeSuperHit, # 被暴击触发技能 1
@@ -4274,7 +4282,7 @@
Def_Cost_ResetGreatMasterSkill, # 重置天赋技能 35
Def_Cost_BindJadeWheel, # 绑玉转盘
Def_Cost_WishingWell, # 许愿池刷新
-Def_Cost_GodWeapon, # 神兵
+Def_Cost_38, # 神兵
Def_Cost_FBHelpBattle, # 副本助战
Def_Cost_FBGatherSoulBoss, # 聚魂副本BOSS召唤 40
Def_Cost_CrossRealmPK, # 跨服PK
@@ -4370,7 +4378,6 @@
Def_Cost_AlchemyPray:"AlchemyPray",
Def_Cost_BindJadeWheel:"BindJadeWheel",
Def_Cost_WishingWell:"WishingWell",
-Def_Cost_GodWeapon:"GodWeapon",
Def_Cost_FBHelpBattle:"FBHelpBattle",
Def_Cost_FBGatherSoulBoss:"FBGatherSoulBoss",
Def_Cost_CrossRealmPK:"CrossRealmPK",
@@ -4516,7 +4523,7 @@
ItemDelTypeList = (
ItemDel_Unknown, #未知 0
ItemDel_SellPackItem, # 出售物品
-ItemDel_GodWeapon, # 神兵
+ItemDel_2, # 神兵
ItemDel_EquipEnchase, # 宝石镶嵌
ItemDel_Add_LimitingBuff, # 增加buff时间
ItemDel_AddDienstgrad, # 增加称号 5
@@ -4567,7 +4574,6 @@
ItemDelTypeDict = {
ItemDel_Unknown:"Unknown",
ItemDel_SellPackItem:"SellPackItem",
- ItemDel_GodWeapon:"GodWeapon",
ItemDel_EquipEnchase:"EquipEnchase",
ItemDel_Add_LimitingBuff:"Add_LimitingBuff",
ItemDel_AddDienstgrad:"AddDienstgrad",
@@ -4887,7 +4893,7 @@
Def_RewardType_Activity, # 活跃度奖励 0
Def_RewardType_DailyTask, # 每日任务奖励 1
Def_RewardType_LLMJLVUp, # 历练秘笈升级 2
-Def_RewardType_XMZZWinCnt, # 仙魔之争胜利场数奖励 3
+Def_RewardType_FamilyTaofaBox, # 公会讨伐领取宝箱奖励 3
Def_RewardType_FamilyDayAward, # 仙盟每日福利奖励 4
Def_RewardType_LVAward, # 玩家等级奖励5
Def_RewardType_XBXZ, # 仙宝寻主奖励6
@@ -4899,7 +4905,7 @@
Def_RewardType_BossReborn, # BOSS复活12
Def_RewardType_FCRecharge, # 仙界盛典充值大礼13
Def_RewardType_FCParty, # 仙界盛典全民来嗨14
-Def_RewardType_DownLoad, # 分包下载奖励15
+Def_RewardType_15, # 分包下载奖励15
Def_RewardType_WishingWell, # 许愿池奖励16
Def_RewardType_OpenFunc, # 功能开启奖励17
Def_RewardType_TotalRecharge, # 累计充值奖励18
@@ -5061,7 +5067,7 @@
Def_WPAct_Pet, #激活某只灵宠 22
Def_WPAct_Dogz, #出战某只神兽 23
Def_WPAct_Stone, #宝石总等级 24
-Def_WPAct_GodWeapon, #神兵总等级 25
+Def_WPAct_25, #神兵总等级 25
Def_WPAct_Rune, #穿戴某品质符印 26
Def_WPAct_Pray, #祈愿 27
Def_WPAct_FamilyBoss, #仙盟Boss 28
--
Gitblit v1.8.0