From 45929a827c30e7c63e6070fba09b1b507d33f051 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 27 三月 2019 17:46:07 +0800
Subject: [PATCH] 6307 【后端】【2.0】多套装备开发单(洗炼属性根据当前装备生效)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4508.py | 39 +++++++++++++++++++++++++++++++++------
1 files changed, 33 insertions(+), 6 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 ab20270..07c913c 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
@@ -15,8 +15,24 @@
import GameWorld
import SkillCommon
import BuffSkill
+import SkillShell
+import IPY_GameWorld
-def CheckCanHappen(attacker, defender, passiveEffect, skillID):
+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
@@ -28,16 +44,27 @@
return False
buffManager = buffTuple[0]
- buff = buffManager.FindBuff(skillID)
+ buff = buffManager.FindBuff(curSkill.GetSkillTypeID())
if not buff:
return False
-
+
if buff.GetLayer() <= 0:
return False
-
+ triggerSkillID = passiveEffect.GetEffectValue(1)
+
BuffSkill.SetBuffLayer(attacker, buff, buff.GetLayer()-1, skillTypeID=curSkill.GetSkillTypeID())
+
+ if triggerSkillID and attacker.GetGameObjType() == IPY_GameWorld.gotPlayer:
+ skillManager = attacker.GetSkillManager()
+ #获得技能
+ triggerSkill = skillManager.FindSkillBySkillTypeID(triggerSkillID)
+ if triggerSkill:
+ #玩家技能会升级
+ SkillShell.UsePassiveTriggerSkill(attacker, triggerSkill, defender, GameWorld.GetGameWorld().GetTick(), isEnhanceSkill = True)
+ else:
+ triggerSkill = GameWorld.GetGameData().GetSkillBySkillID(triggerSkillID)
+ if triggerSkill:
+ SkillShell.UsePassiveTriggerSkill(attacker, triggerSkill, defender, GameWorld.GetGameWorld().GetTick(), isEnhanceSkill = True)
return True
-def GetValue(attacker, defender, passiveEffect):
- return 0
--
Gitblit v1.8.0