From 1086ba0ceda6b7ca044e9484b142d2478a0b8688 Mon Sep 17 00:00:00 2001 From: Cekis Date: Fri, 20 Jan 2017 17:35:36 +0000 Subject: [PATCH] Fixed issue caused from a lair NPC starting combat with itself. --- .../script/systems/npc_lair/npc_lair_ai.java | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/sku.0/sys.server/compiled/game/script/systems/npc_lair/npc_lair_ai.java b/sku.0/sys.server/compiled/game/script/systems/npc_lair/npc_lair_ai.java index ab4553552..6086f89bb 100755 --- a/sku.0/sys.server/compiled/game/script/systems/npc_lair/npc_lair_ai.java +++ b/sku.0/sys.server/compiled/game/script/systems/npc_lair/npc_lair_ai.java @@ -83,28 +83,25 @@ public class npc_lair_ai extends script.theme_park.poi.base switch (job) { case JOB_DEFEND: - obj_id target = params.getObjId("target"); - respondToScoutAlarm(mobile, target); - return; + obj_id target = params.getObjId("target"); + respondToScoutAlarm(mobile, target); + break; case JOB_HEAL: - if (!ai_lib.isMonster(mobile)) - { - return; - } - obj_id myTarget = getTarget(mobile); - if (!isIdValid(myTarget)) - { - doLairHealing(mobile, params); - } - else if (getTarget(myTarget) != mobile) - { - doLairHealing(mobile, params); - } + if (!ai_lib.isMonster(mobile)) + { + return; + } + obj_id myTarget = getTarget(mobile); + if (!isIdValid(myTarget) || getTarget(myTarget) != mobile) + { + doLairHealing(mobile, params); + } + break; } } public void respondToScoutAlarm(obj_id mobile, obj_id target) throws InterruptedException { - if (!isIdValid(target) || ai_lib.isAiDead(target)) + if (!isIdValid(target) || ai_lib.isAiDead(target) || mobile.equals(target)) { return; }