From 2f70daba66fed14fcdef73ff2b2018a41a708741 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 23 九月 2025 18:59:12 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(关羽技能;增加效果6009-目标生命值低于x%必定暴击;增加技能计算方式类型5-按目标已损失生命计算伤害;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py |    6 ++++++
 1 files changed, 6 insertions(+), 0 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 0c989bb..1ee372c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -1275,6 +1275,10 @@
     return hurtValue, hurtTypes
 
 def CanSuperHit(turnFight, atkObj, defObj, curSkill):
+    if TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_MustSuperHit, curSkill):
+        GameWorld.DebugLog("目标血量低于百分x时必定暴击: defID=%s,hp:%s/%s" % (defObj.GetID(), defObj.GetHP(), defObj.GetMaxHP()))
+        return True
+    
     aSuperHitRate = atkObj.GetBatAttrValue(ChConfig.AttrID_SuperHitRate)
     aSuperHitRate += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.AttrID_SuperHitRate, curSkill)
     dSuperHitRateDef = defObj.GetBatAttrValue(ChConfig.AttrID_SuperHitRateDef)
@@ -1503,6 +1507,8 @@
         baseValue = curObj.GetLastHurtValue()
     elif calcType == ChConfig.Def_Calc_TagMaxHP:
         baseValue = 0 if not tagObj else tagObj.GetMaxHP()
+    elif calcType == ChConfig.Def_Calc_TagLostHP:
+        baseValue = 0 if not tagObj else max(0, tagObj.GetMaxHP() - tagObj.GetHP())
     elif calcType == ChConfig.Def_Calc_ByBuffValue:
         byBuff = curSkill.GetByBuff()
         if byBuff:

--
Gitblit v1.8.0