From c2a7d0326f1e779bf6ee184e60d04dd7d43b576b Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 10 五月 2019 16:27:23 +0800
Subject: [PATCH] 3542 【BUG】【2.0】五行灵根重置点数后无法使用五行专精

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1034.py |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1034.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1034.py
index 8bec96a..aaafc21 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1034.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1034.py
@@ -5,6 +5,7 @@
 #
 # @todo: 灼烧(流派专用,额外公式), 持续过程中可能会被改变伤害或者持续时长,无法用次数控制,无层级概念
 #        若同类型buff存在不管等级高低,只给原buff充能只改变值或时间
+#        不同释放者可共存多个灼烧
 # @author: Alee
 # @date 2019-4-28 下午04:12:17
 # @version 1.0
@@ -20,6 +21,8 @@
 import AttackCommon
 import PlayerControl
 import PassiveBuffEffMng
+import GameObj
+import BuffSkill
 #---------------------------------------------------------------------
 #全局变量
 #---------------------------------------------------------------------
@@ -42,6 +45,14 @@
     
     SkillCommon.SkillLostHP(defender, curBuffSkillID, buffOwner, singleDecHP, tick, hurtType=ChConfig.Def_HurtType_Bleed)
     
+    if buffOwner and GameObj.GetHP(buffOwner) > 0:
+        # 此处暂无法用被动效果实现
+        buffManager = defender.GetProcessDeBuffState()
+        burnToHPEffect, plusValue, skillID = BuffSkill.FindBuffEffectByOwnertID(buffManager, ChConfig.Def_Skill_Effect_BurnToAddHP, 
+                                                                           buffOwner.GetID(), buffOwner.GetGameObjType())
+        if burnToHPEffect:
+            addHP = singleDecHP*burnToHPEffect.GetEffectValue(0)/ChConfig.Def_MaxRateValue
+            SkillCommon.SkillAddHP(buffOwner, curBuffSkillID, buffOwner, addHP, tick, hurtType=ChConfig.Def_HurtTYpe_Recovery)
     return
 
 # 灼烧的特征为延长buff时间,重算伤害
@@ -58,3 +69,16 @@
     
     return [hurtValue]
 
+def OnBuffDisappear(defender, curSkill, curBuff, curEffect, tick):
+    #已经死亡不触发
+    if GameObj.GetHP(defender) <= 0:
+        return
+    
+    # 在防御者身上同时取消同一个释放者的相关buff
+    defender.SetDict(ChConfig.Def_PlayerKey_BurnOwnerID, curBuff.GetOwnerID())
+    
+    PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(defender, None, None, ChConfig.TriggerType_BurnDisappear)
+    
+    defender.SetDict(ChConfig.Def_PlayerKey_BurnOwnerID, 0)
+    return
+

--
Gitblit v1.8.0