From 6f748a76a12a9f8c9e799ed12edcce193c38f6bb Mon Sep 17 00:00:00 2001 From: Rat Date: Wed, 3 Nov 2010 16:40:12 +0100 Subject: Core/SmartAI: use BaseObject for guid based targeting if available --HG-- branch : trunk --- src/server/game/AI/SmartScripts/SmartScript.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 6e090dafd68..7857cd1d75e 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1303,12 +1303,12 @@ ObjectList* SmartScript::GetTargets(SmartScriptHolder e, Unit* invoker) target = HashMapHolder::Find(guid); } else { - if (!invoker) + if (!invoker && !GetBaseObject()) { - sLog.outError("SMART_TARGET_CREATURE_GUID can not be used without invoker and without entry"); + sLog.outErrorDb("SMART_TARGET_CREATURE_GUID can not be used without invoker and without entry"); return NULL; } - target = FindCreatureNear(invoker, e.target.unitGUID.guid); + target = FindCreatureNear(invoker?invoker:GetBaseObject(), e.target.unitGUID.guid); } if (target) { @@ -1325,12 +1325,12 @@ ObjectList* SmartScript::GetTargets(SmartScriptHolder e, Unit* invoker) target = HashMapHolder::Find(guid); } else { - if (!invoker) + if (!invoker && !GetBaseObject()) { - sLog.outError("SMART_TARGET_GAMEOBJECT_GUID can not be used without invoker and without entry"); + sLog.outErrorDb("SMART_TARGET_GAMEOBJECT_GUID can not be used without invoker and without entry"); return NULL; } - target = FindGameObjectNear(invoker, e.target.goGUID.guid); + target = FindGameObjectNear(invoker?invoker:GetBaseObject(), e.target.goGUID.guid); } if (target) { -- cgit v1.2.3