aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2016-11-16 04:59:43 -0300
committerjoschiwald <joschiwald.trinity@gmail.com>2018-01-13 15:46:05 +0100
commit6d246e4a0aca899532766fbefdbf853fb5a7c755 (patch)
treed9cdfd6fe0299da339259bb4b513d11e019e072f /src
parentacdc2d6d63b2606de70134a3dbfa8cb230b3ed8e (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.cpp14
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)