From bc915a9b717eccef3c8d825f9af79a7596394ac7 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 09 五月 2019 11:34:27 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 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 88f9e7d..6a8df92 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
@@ -25,6 +25,7 @@
 import OperControlManager
 import GameObj
 import CrossPlayerData
+import AttackCommon
 #---------------------------------------------------------------------
 
 #---------------------------------------------------------------------
@@ -51,6 +52,8 @@
     and SkillCommon.GetSkillBattleType(curSkill) == ChConfig.Def_BattleRelationType_CommNoBoss:
         # 释放后 对指定BOSS无效的技能
         return True
+    
+    buffOwner = AttackCommon.ElfChangeAttacker(buffOwner)  # Elf灵为替身攻击,要取玩家的属性
     
     result = AddBuffNoRefreshState(curObj, buffType, curSkill, tick, addBuffValueList, buffOwner, addForce)
     
@@ -378,7 +381,7 @@
         if triggerType == -1:
             continue
         passiveEff = PassiveBuffEffMng.GetPassiveEffManager().InitObjPassiveEff(curObj)
-        passiveEff.AddBuffInfoByEffect(curEffect, skillID)
+        passiveEff.AddBuffInfoByEffect(curEffect, skillID, onwerID, onwerType)
 
         
     #添加BUFF后的特殊处理
@@ -568,6 +571,8 @@
         return curBuff, i
     
     return None, 0
+
+
 #---------------------------------------------------------------------
 ## 刷新BUFF的时间
 #  @param curBuff 当前BUFF
@@ -685,8 +690,10 @@
         SkillShell.ClearBuffEffectBySkillID(curObj, curSkill.GetSkillID(), ownerID, ownerType)
         
         addSkillID = curObj.GetDictByKey(ChConfig.Def_PlayerKey_SkillInDelBuff) 
-        if addSkillID and addSkillID not in skillIDListInDelBuff:
-            skillIDListInDelBuff.append(addSkillID)
+        if addSkillID:
+            skillInfo = [addSkillID, ownerID, ownerType]
+            if skillInfo not in skillIDListInDelBuff:
+                skillIDListInDelBuff.append(skillInfo)
         
     OnSkillAfterBuffDisappear(curObj, skillIDListInDelBuff, tick)
     
@@ -699,12 +706,15 @@
 # DoBuffDisApper不能做Buff添加和删除逻辑!!!!!不然指针会错乱, 故在外层处理
 def OnSkillAfterBuffDisappear(curObj, skillIDListInDelBuff, tick):
     posX, posY = curObj.GetPosX(), curObj.GetPosY()
-    for skillID in skillIDListInDelBuff:
-        skillData = GameWorld.GetGameData().GetSkillBySkillID(skillID)
+    for skillInfo in skillIDListInDelBuff:
+        attacker = GameWorld.GetObj(skillInfo[1], skillInfo[2])
+        if not attacker:
+            attacker = curObj
+        skillData = GameWorld.GetGameData().GetSkillBySkillID(skillInfo[0])
         if not skillData:
             continue
         
-        SkillShell.Trigger_UseSkill(curObj, curObj, skillData, tick, posX, posY)
+        SkillShell.Trigger_UseSkill(attacker, curObj, skillData, tick, posX, posY)
     return
 
 #---------------------------------------------------------------------

--
Gitblit v1.8.0