From 43a9e6c87a5a4980902e86eb0470d885b1a3fb8f Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 22 十月 2018 21:23:02 +0800
Subject: [PATCH] 4282 【主干】【1.1.0】【后端】新增物品效果:获得X法宝X经验

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
index 818c75f..c826690 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
@@ -205,7 +205,10 @@
                     else:
                         curBuff.SetLayer(layerMaxCnt)
                     changeLayer = True
-            
+                    #BUFF层级变化触发被动
+                    if buffOwner:
+                        PassiveBuffEffMng.OnPassiveSkillTrigger(buffOwner, curObj, curSkill, ChConfig.TriggerType_AddLayer, tick)
+                    
             __BuffCanRemain(buffState, curBuff, i, resultTime, plusValueList, buffOwner)
             # 此处考虑下plusValue变强是否刷属性
             #DoAddBuffOver(curObj, curSkill, addBuff, tick)
@@ -815,12 +818,24 @@
 
 
 # 当层级为0的时候删除此buff
-def SetBuffLayer(curPlayer, buff, layer, delBuff=True, skillTypeID=0, disappearTrigger=True):
+def SetBuffLayer(gameObj, buff, layer, delBuff=True, skillTypeID=0, disappearTrigger=True):
     buff.SetLayer(layer)
     if layer == 0 and delBuff:
         tick = GameWorld.GetGameWorld().GetTick()
-        DelBuffBySkillTypeID(curPlayer, skillTypeID, tick, disappearTrigger)
-        PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrByBuff()
+        DelBuffBySkillTypeID(gameObj, skillTypeID, tick, disappearTrigger)
+        
+        curObjType = gameObj.GetGameObjType()
+        #玩家
+        if curObjType == IPY_GameWorld.gotPlayer:
+            #刷新玩家属性
+            playerControl = PlayerControl.PlayerControl(gameObj)
+            #playerControl.CalcPassiveBuffAttr()
+            playerControl.RefreshPlayerAttrByBuff()
+        #NPC
+        elif curObjType == IPY_GameWorld.gotNPC:
+            npcControl = NPCCommon.NPCControl(gameObj)
+            npcControl.RefreshNPCAttrState()
+        
     return
 
 

--
Gitblit v1.8.0