From 7195d1d30b81845d21e49461099e370ca4c812e1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 31 十二月 2025 16:42:57 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(王异所有技能;优化效果6009;增加效果6036;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6009.py | 30 +++++++++++++++++++++++++-----
1 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6009.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6009.py
index 943909f..60ec420 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6009.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6009.py
@@ -4,18 +4,38 @@
#
##@package Skill.PassiveTrigger.PassiveEff_6009
#
-# @todo:目标生命值低于x%必定暴击
+# @todo:必定暴击
# @author hxp
# @date 2025-09-23
# @version 1.0
#
-# 详细描述: 目标生命值低于x%必定暴击
+# 详细描述: 必定暴击
#
#-------------------------------------------------------------------------------
#"""Version = 2025-09-23 19:00"""
#-------------------------------------------------------------------------------
+import GameWorld
+
def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
- lowerThanPer = curEffect.GetEffectValue(0)
- nowPer = defender.GetHP() / float(defender.GetMaxHP()) * 100
- return 1 if nowPer < lowerThanPer else 0
+ checkValue = curEffect.GetEffectValue(0) # 判断参数
+ checkType = curEffect.GetEffectValue(1) # 判断方式: 0-按目标生命, 1-按目标状态
+ defID = defender.GetID()
+
+ # 0 - 按目标生命低于x%;参数:单值即可,如30就是30%
+ if checkType == 0:
+ lowerThanPer = checkValue
+ defHP = defender.GetHP()
+ defMaxHP = defender.GetMaxHP()
+ nowPer = defHP / float(defMaxHP) * 100
+ if nowPer < lowerThanPer:
+ GameWorld.DebugLogEx("必定暴击->目标血量低于%s%%: defID=%s,hp:%s/%s", lowerThanPer, defID, defHP, defMaxHP)
+ return 1
+
+ # 1 - 按目标处于状态;参数:支持多状态列表 [状态1, ...]
+ elif checkType == 1:
+ if defender.CheckInState(checkValue):
+ GameWorld.DebugLogEx("必定暴击->目标处于状态%s: defID=%s", checkValue, defID)
+ return 1
+
+ return
--
Gitblit v1.8.0