From 57a7f963e83329c191e135c8102b0614dea6d5b4 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期三, 19 十二月 2018 14:09:36 +0800 Subject: [PATCH] 5368 【后端】【1.4】聚魂功能开发 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py | 33 +++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+), 0 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py index c504d6d..2984c64 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py @@ -347,6 +347,13 @@ # @return 返回值真, 检查通过 # @remarks 自定义函数, NPC使用有对象技能 def NPCUseSkillTag(curNPC, curTag, curSkill, tick): + skillTag = GetSkillAffectTag(curSkill) + if skillTag == ChConfig.Def_UseSkillTag_AppointNPC: + # 指定释放的NPCID 和 Def_UseSkillTag_AppointNPC 搭配使用 + curTag = GetAppointNPCBySkillEffect(curSkill) + if not curTag: + return False + if not NPCCanUseSkillTag(curNPC, curTag, curSkill, tick): return False @@ -363,6 +370,29 @@ curNPC.SetDict(ChConfig.Def_NPC_Dict_AtkMovePosY, 0) return result + +# 指定释放的NPCID 和 Def_UseSkillTag_AppointNPC 搭配使用 +def GetAppointNPCBySkillEffect(curSkill): + npcID = 0 + effectID = ChConfig.Def_Skill_Effect_AppointNPC + for i in xrange(0, curSkill.GetEffectCount()): + curEffect = curSkill.GetEffect(i) + curEffectID = curEffect.GetEffectID() + + if not curEffectID: + #策划有可能中途删除,不用return + continue + + #不是需要的效果 + if curEffectID != effectID: + continue + + npcID = curEffect.GetEffectValue(0) + break + + if not npcID: + return None + return GameWorld.FindNPCByNPCID(npcID) # 计算NPC技能位移坐标,预警和非预警都可以用 @@ -511,6 +541,9 @@ # @return 返回值真, 检查通过 def NPCCanUseSkillTag(curNPC, curTag, curSkill, tick): skillTag = GetSkillAffectTag(curSkill) + if skillTag == ChConfig.Def_UseSkillTag_AppointNPC: + return True + #---对象判定--- if IsToPetOwnerSkill(curNPC, skillTag): return True -- Gitblit v1.8.0