From 9f0bb9a7b8a2b1e7aaeaa50df4cebf6bd315fd13 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 17 一月 2019 02:14:42 +0800 Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(进入跨服增加设置不可被攻击) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py | 42 +++++++++++++++++++++++------------------- 1 files changed, 23 insertions(+), 19 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py index 7095fc6..09a4ecf 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py @@ -333,18 +333,21 @@ useSkill = changeSkill #GameWorld.DebugLog("----随机技能 %s"%useSkill.GetSkillID()) - if PetControl.IsPet(curNPC): - petOwner = PetControl.GetPetOwner(curNPC) - - if petOwner == None: - GameWorld.ErrLog("宠物(%s)找不到主人"%curNPC.GetRolePet().PetID) - return False - - #血量条件判定 - effect = SkillCommon.GetSkillEffectByEffectID(useSkill, ChConfig.Def_Skill_Effect_HPPerLimit) - if effect: - if GameObj.GetHP(petOwner)*ChConfig.Def_MaxRateValue/GameObj.GetMaxHP(petOwner) >= effect.GetEffectValue(0): - return False + #=========================================================================== + # 改成被动触发 + # if PetControl.IsPet(curNPC): + # petOwner = PetControl.GetPetOwner(curNPC) + # + # if petOwner == None: + # GameWorld.ErrLog("宠物(%s)找不到主人"%curNPC.GetRolePet().PetID) + # return False + # + # #血量条件判定 + # effect = SkillCommon.GetSkillEffectByEffectID(useSkill, ChConfig.Def_Skill_Effect_HPPerLimit) + # if effect: + # if GameObj.GetHP(petOwner)*ChConfig.Def_MaxRateValue/GameObj.GetMaxHP(petOwner) >= effect.GetEffectValue(0): + # return False + #=========================================================================== skillTag = SkillShell.GetSkillAffectTag(useSkill) skillAim = SkillShell.GetSkillFireAim(useSkill) @@ -480,12 +483,13 @@ if SkillShell.GetSkillFireAim(useSkill) == ChConfig.Def_UseSkillAim_Obj: # 主目标对象判定, 不能释放则不进入队列 curSkillUseTag = SkillShell.GetSkillAffectTag(useSkill) - hurtTypeList = ChConfig.Def_Dict_UseSkillTag_ObjType.get(curSkillUseTag) - if not hurtTypeList: - continue - - if tagObjType not in hurtTypeList: - continue + if curSkillUseTag != ChConfig.Def_UseSkillTag_AppointNPC: + hurtTypeList = ChConfig.Def_Dict_UseSkillTag_ObjType.get(curSkillUseTag) + if not hurtTypeList: + continue + + if tagObjType not in hurtTypeList: + continue if triggerDict != {}: if not CheckSkillTrigger(curNPC, triggerDict, index, tick): @@ -502,7 +506,7 @@ return False useSkillList.sort() # 按使用次数优先升序排,使用次数低的优先判断使用 - #GameWorld.DebugLog('技能使用顺序 = useSkillList%s' % str(useSkillList), curNPC.GetID()) + GameWorld.DebugLog('技能使用顺序 = useSkillList%s' % str(useSkillList), curNPC.GetID()) for useCnt, index, useSkill in useSkillList: if DoNPCUseSkill(curNPC, curTag, useSkill, tagDist, tick): -- Gitblit v1.8.0