diff options
author | ariel- <ariel-@users.noreply.github.com> | 2016-11-16 04:59:43 -0300 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2018-01-13 15:46:05 +0100 |
commit | 6d246e4a0aca899532766fbefdbf853fb5a7c755 (patch) | |
tree | d9cdfd6fe0299da339259bb4b513d11e019e072f /src | |
parent | acdc2d6d63b2606de70134a3dbfa8cb230b3ed8e (diff) |
Core/Gameobject: fixed sometimes not found linked trap
Closes #18256
(cherry picked from commit 400a69bf9efb227e8734668f07ed2f3f2863ba47)
# Conflicts:
# src/server/game/Entities/GameObject/GameObject.cpp
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 8fd83003876..7e6a557c499 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1221,18 +1221,8 @@ void GameObject::TriggeringLinkedGameObject(uint32 trapEntry, Unit* target) if (!trapSpell) // checked at load already return; - float range = float(target->GetSpellMaxRangeForTarget(GetOwner(), trapSpell)); - - // search nearest linked GO - GameObject* trapGO = nullptr; - // using original GO distance - Trinity::NearestGameObjectEntryInObjectRangeCheck go_check(*target, trapEntry, range); - Trinity::GameObjectLastSearcher<Trinity::NearestGameObjectEntryInObjectRangeCheck> checker(this, trapGO, go_check); - Cell::VisitGridObjects(this, checker, range); - - // found correct GO - if (trapGO) - trapGO->CastSpell(target, trapInfo->trap.spell); + if (GameObject* trapGO = GetLinkedTrap()) + trapGO->CastSpell(target, trapSpell->Id); } GameObject* GameObject::LookupFishingHoleAround(float range) |