mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-26 03:42:37 +01:00
Core/Gameobject: fixed sometimes not found linked trap
Closes #18256
(cherry picked from commit 400a69bf9e)
# Conflicts:
# src/server/game/Entities/GameObject/GameObject.cpp
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user