From fdf293d937f74d7012ad80ef9ea71c23f440193a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 28 十月 2025 10:04:32 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(陆逊技能;增加效果ID5009:检测场上最高层buff复制buff到目标上; 增加效果ID5020:引爆目标所有持续buff所有回合效果(只算按回合结算的))
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
index af1e1e4..1bdbfc9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -1458,6 +1458,7 @@
if hurtValue <= 0:
return 0, 0, hurtTypes
+ hurtValue = int(hurtValue)
buffMgr = defObj.GetBuffManager()
wudiBuffList = buffMgr.FindBuffListByState(ChConfig.BatObjState_Wudi)
if wudiBuffList:
@@ -1685,7 +1686,7 @@
GameWorld.DebugLog("根据buff值: %s" % baseValue)
return baseValue
-def DoDOTAttack(turnFight, batObj, curBuff, hurtValue, hurtTypes):
+def DoDOTAttack(turnFight, batObj, curBuff, hurtValue, hurtTypes, **kwargs):
## 执行单次dot逻辑
skillID = curBuff.GetSkillID()
skillIpyData = IpyGameDataPY.GetIpyGameData("Skill", skillID)
@@ -1717,6 +1718,10 @@
if layer > 0:
hurtValue *= layer
GameWorld.DebugLog(" 多层buff伤害: hurtValue=%s,layer=%s" % (hurtValue, layer))
+ if "FinalDamPer" in kwargs:
+ FinalDamPer = kwargs["FinalDamPer"]
+ hurtValue *= (10000 + FinalDamPer) / 10000.0
+ GameWorld.DebugLog(" 增伤: hurtValue=%s,FinalDamPer=%s" % (hurtValue, FinalDamPer))
hurtValue, realHurtHP, hurtTypes = CalcHurtHPWithBuff(turnFight, atkObj, defObj, useSkill, hurtValue, hurtTypes)
remainHP = max(0, dHP - realHurtHP) # 剩余血量
--
Gitblit v1.8.0