From 0574c6ba2197a64da47204ad1678ed74c901d3c7 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 04 七月 2019 16:04:58 +0800
Subject: [PATCH] 4393 【主干】【2.0.100】仙缘币2138支持物品使用获得仙缘币

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4507.py |   34 +++++++++++++++-------------------
 1 files changed, 15 insertions(+), 19 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4507.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4507.py
index 67ed17f..4ad39b0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4507.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4507.py
@@ -14,29 +14,25 @@
 import ChConfig
 import GameWorld
 import IPY_GameWorld
-import SkillCommon
+import AttackCommon
 
-def CheckCanHappen(attacker, defender, passiveEffect, skillID):
+def CheckCanHappen(attacker, defender, passiveEffect, skillID, **skillkwargs):
     if not defender:
         return False
-    if defender.GetGameObjType() != IPY_GameWorld.gotPlayer:
-        return False
 
-    curSkill = GameWorld.GetGameData().GetSkillBySkillID(skillID)
-    if not curSkill:
-        return
-    
-    buffType = SkillCommon.GetBuffType(curSkill)
-    buffTuple = SkillCommon.GetBuffManagerByBuffType(attacker, buffType)
-    #通过类型获取目标的buff管理器为空,则跳出
-    if buffTuple == ():
-        return
-    
-    buffManager = buffTuple[0]
-    buff = buffManager.FindBuff(skillID)
-    if not buff:
-        return
-    return buff.GetValue() == defender.GetID()
+    if passiveEffect.GetEffectValue(1):
+        # 第一目标
+        if AttackCommon.GetFirstDefenderID(attacker) != defender.GetID():
+            return False
+        
+    if passiveEffect.GetEffectValue(2):
+        useSkill = skillkwargs.get("useSkill", None)
+        if not useSkill:
+            return False
+        # 普通攻击有效
+        if useSkill.GetFuncType() != ChConfig.Def_SkillFuncType_NormalAttack:
+            return False
+    return True
 
 
 def GetValue(attacker, defender, passiveEffect):

--
Gitblit v1.8.0