From d8a2bceecaa8b68d2059b150c25c00035a4a8afb Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 23 五月 2022 17:01:59 +0800
Subject: [PATCH] 9415 【BT】【后端】古神战场(修复击杀积分王时刚好获胜导致重复结算奖励bug)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1089.py |   28 ++++++++++++++++------------
 1 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1089.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1089.py
index 2e5560a..f5433d2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1089.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1089.py
@@ -50,18 +50,22 @@
 
 
 def OnPassiveSkillByHurtCount(defender, curBuff, curEffect, buffOwner):
-    if not buffOwner:
-        return
-    if buffOwner.GetGameObjType() != IPY_GameWorld.gotPlayer:
-        return
-    # 执行次数。 当汲灵对目标造成3次伤害时,可降低目标20%的防御
-    curBuff.SetValue1(curBuff.GetValue1() + 1)
-    tick = GameWorld.GetGameWorld().GetTick()
-    
-    defender.SetDict(ChConfig.Def_PlayerKey_BuffHurtCnt, curBuff.GetValue1())
-    PassiveBuffEffMng.OnPassiveSkillTrigger(buffOwner, defender, curBuff.GetSkill(), ChConfig.TriggerType_BuffHurtCnt, tick)
-    defender.SetDict(ChConfig.Def_PlayerKey_BuffHurtCnt, 0)
-    
+    try:
+        if not buffOwner:
+            return
+        if buffOwner.GetGameObjType() != IPY_GameWorld.gotPlayer:
+            return
+        if not defender or not defender.GetID() or GameObj.GetHP(defender) <= 0:
+            return
+        # 执行次数。 当汲灵对目标造成3次伤害时,可降低目标20%的防御
+        curBuff.SetValue1(curBuff.GetValue1() + 1)
+        tick = GameWorld.GetGameWorld().GetTick()
+        
+        defender.SetDict(ChConfig.Def_PlayerKey_BuffHurtCnt, curBuff.GetValue1())
+        PassiveBuffEffMng.OnPassiveSkillTrigger(buffOwner, defender, curBuff.GetSkill(), ChConfig.TriggerType_BuffHurtCnt, tick)
+        defender.SetDict(ChConfig.Def_PlayerKey_BuffHurtCnt, 0)
+    except:
+        GameWorld.ErrLog("OnPassiveSkillByHurtCount error!!!")
     return
 
 

--
Gitblit v1.8.0