From a075f7841fb2d0a3b32bf10c8bc2df5bf02d6acb Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 14 十二月 2025 14:24:28 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(贾诩所有技能;5022效果支持配置buff额外属性计算方式;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py
index 3293030..c977f45 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py
@@ -17,9 +17,31 @@
import TurnSkill
import IpyGameDataPY
+import GameWorld
-def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill):
+def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
skillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
+ checkHPInfo = curEffect.GetEffectValue(1) # 可附加验证生命值[计算方式, 百分比]
+ checkBatType = curEffect.GetEffectValue(2) # 验证攻击类型 0-不验证;1-连击;2-追击;3-反击
+ if checkHPInfo:
+ checkType, checkHPPer = checkHPInfo
+ nowPer = batObj.GetHP() / float(batObj.GetMaxHP()) * 100
+ # 小于等于
+ if checkType == 0:
+ if nowPer > checkHPPer:
+ return
+ # 大于等于
+ else:
+ if nowPer < checkHPPer:
+ return
+
+ if checkBatType:
+ if not connSkill:
+ return
+ if connSkill.GetBatType() != checkBatType:
+ GameWorld.DebugLog("5011效果非该战斗类型不触发: checkBatType=%s,skillBatType=%s" % (checkBatType, connSkill.GetBatType()))
+ return
+
if not skillID:
passiveSkill = effSkill
else:
@@ -28,8 +50,8 @@
return
effectID = curEffect.GetEffectID()
effSkillID = effSkill.GetSkillID()
- return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkill, connSkill, effSkillID, effectID)
+ return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkill, connSkill, effSkillID, effectID, connBuff, **kwargs)
-def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill):
+def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill, connBuff, **kwargs):
effSkill = effBuff.GetSkillData().GetIpyData()
- return DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill)
+ return DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs)
--
Gitblit v1.8.0