From 1a3ffe8f1c45c946d9a7286217107bf3e42d86d6 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 12 十一月 2018 21:39:28 +0800
Subject: [PATCH] 2683 子 天赋技能和新增双职业各两个技能 / 【后端】天赋技能  --- 天赋技能减CD,buff减层关联技能可触发

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4508.py |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4508.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4508.py
index fdd6126..f01be80 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4508.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4508.py
@@ -19,6 +19,20 @@
 import IPY_GameWorld
 
 def CheckCanHappen(attacker, defender, passiveEffect, skillID, **skillkwargs):
+    # 先判断概率
+    rate = passiveEffect.GetEffectValue(0)
+    if rate and not GameWorld.CanHappen(rate):
+        return False
+    
+    # 关联技能
+    checkSkillID = passiveEffect.GetEffectValue(2)
+    if checkSkillID:
+        useSkill = skillkwargs.get("useSkill", None)
+        if not useSkill:
+            return False
+        if useSkill.GetSkillTypeID() != checkSkillID:
+            return False
+        
     curSkill = GameWorld.GetGameData().GetSkillBySkillID(skillID)
     if not curSkill:
         return False
@@ -35,10 +49,6 @@
         return False
 
     if buff.GetLayer() <= 0:
-        return False
-
-    rate = passiveEffect.GetEffectValue(0)
-    if rate and not GameWorld.CanHappen(rate):
         return False
     
     BuffSkill.SetBuffLayer(attacker, buff, buff.GetLayer()-1, skillTypeID=curSkill.GetSkillTypeID())

--
Gitblit v1.8.0