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 | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 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 8f90924..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
@@ -16,6 +16,8 @@
import GameWorld
import ChConfig
import GameObj
+import IPY_GameWorld
+import PassiveBuffEffMng
#---------------------------------------------------------------------
#全局变量
#---------------------------------------------------------------------
@@ -40,7 +42,32 @@
curBuffSkillID = curBuff.GetSkill().GetSkillTypeID()
SkillCommon.SkillLostHP(defender, curBuffSkillID, buffOwner, singleDecHP, tick, hurtType=ChConfig.Def_HurtType_Bleed)
+ if curEffect.GetEffectValue(2) and buffOwner:
+ SkillCommon.SkillAddHP(buffOwner, curBuffSkillID, singleDecHP)
+
+ OnPassiveSkillByHurtCount(defender, curBuff, curEffect, buffOwner)
return
+
+
+def OnPassiveSkillByHurtCount(defender, curBuff, curEffect, buffOwner):
+ 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
+
## 持续性Buff消失
# @param defender 承受者
@@ -63,6 +90,9 @@
buffOwner = SkillCommon.GetBuffOwner(curBuff)
SkillCommon.SkillLostHP(defender, curSkill.GetSkillTypeID(), buffOwner, buffValue, tick, hurtType=ChConfig.Def_HurtType_Bleed)
+
+ # 执行次数
+ OnPassiveSkillByHurtCount(defender, curBuff, curEffect, buffOwner)
return
--
Gitblit v1.8.0