From b2e42f52a0a06c6d65cae81ba8561d77c6e6f458 Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Fri, 18 Jun 2021 16:05:08 +0200 Subject: [PATCH] fix(Core/SmartScripts):SMART_TARGET_CREATURE/GAMEOBJECT_GUID (#6298) --- .../game/AI/SmartScripts/SmartScript.cpp | 32 ++++--------------- .../game/AI/SmartScripts/SmartScriptMgr.h | 2 -- 2 files changed, 6 insertions(+), 28 deletions(-) diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index ef938d68b..103632541 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -3619,48 +3619,28 @@ ObjectList* SmartScript::GetTargets(SmartScriptHolder const& e, Unit* invoker /* } case SMART_TARGET_CREATURE_GUID: { - Creature* target = nullptr; if (!scriptTrigger && !baseObject) { LOG_ERROR("server", "SMART_TARGET_CREATURE_GUID can not be used without invoker"); break; } - // xinef: my addition - if (e.target.unitGUID.getFromHashMap) - { - if ((target = ObjectAccessor::GetCreature(scriptTrigger ? *scriptTrigger : *GetBaseObject(), ObjectGuid::Create(e.target.unitGUID.entry, e.target.unitGUID.dbGuid)))) - l->push_back(target); - } - else - { - target = FindCreatureNear(scriptTrigger ? scriptTrigger : GetBaseObject(), e.target.unitGUID.dbGuid); - if (target && (!e.target.unitGUID.entry || target->GetEntry() == e.target.unitGUID.entry)) - l->push_back(target); - } + Creature* target = FindCreatureNear(scriptTrigger ? scriptTrigger : GetBaseObject(), e.target.unitGUID.dbGuid); + if (target && (!e.target.unitGUID.entry || target->GetEntry() == e.target.unitGUID.entry)) + l->push_back(target); break; } case SMART_TARGET_GAMEOBJECT_GUID: { - GameObject* target = nullptr; if (!scriptTrigger && !GetBaseObject()) { LOG_ERROR("server", "SMART_TARGET_GAMEOBJECT_GUID can not be used without invoker"); break; } - // xinef: my addition - if (e.target.goGUID.getFromHashMap) - { - if ((target = ObjectAccessor::GetGameObject(scriptTrigger ? *scriptTrigger : *GetBaseObject(), ObjectGuid::Create(e.target.goGUID.entry, e.target.goGUID.dbGuid)))) - l->push_back(target); - } - else - { - target = FindGameObjectNear(scriptTrigger ? scriptTrigger : GetBaseObject(), e.target.goGUID.dbGuid); - if (target && (!e.target.goGUID.entry || target->GetEntry() == e.target.goGUID.entry)) - l->push_back(target); - } + GameObject* target = FindGameObjectNear(scriptTrigger ? scriptTrigger : GetBaseObject(), e.target.goGUID.dbGuid); + if (target && (!e.target.goGUID.entry || target->GetEntry() == e.target.goGUID.entry)) + l->push_back(target); break; } case SMART_TARGET_PLAYER_RANGE: diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h index 680838fa9..88b98cf27 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -1367,7 +1367,6 @@ struct SmartTarget { uint32 dbGuid; uint32 entry; - uint32 getFromHashMap; // Does not work in instances } unitGUID; struct @@ -1412,7 +1411,6 @@ struct SmartTarget { uint32 dbGuid; uint32 entry; - uint32 getFromHashMap; // Does not work in instances } goGUID; struct