From 5d4c85143c04d63ec10fbf4842d3d5971a68f983 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Mon, 2 Sep 2024 01:56:05 +0200 Subject: [PATCH] fix(Core/GameObject): Allow use of Mage portal if caster is offline and still in group (#19797) search group of user for ownerGUID --- .../game/Entities/GameObject/GameObject.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 3259ec0e1..ab1637bc9 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1885,13 +1885,21 @@ void GameObject::Use(Unit* user) if (info->spellcaster.partyOnly) { - Player const* caster = ObjectAccessor::FindConnectedPlayer(GetOwnerGUID()); - if (!caster || user->GetTypeId() != TYPEID_PLAYER || !user->ToPlayer()->IsInSameRaidWith(caster)) + if (!user->IsPlayer()) return; - } - user->RemoveAurasByType(SPELL_AURA_MOUNTED); - spellId = info->spellcaster.spellId; + if (Group* group = user->ToPlayer()->GetGroup()) + { + if (ObjectGuid ownerGuid = GetOwnerGUID()) + { + if (group->IsMember(ownerGuid)) + { + user->RemoveAurasByType(SPELL_AURA_MOUNTED); + spellId = info->spellcaster.spellId; + } + } + } + } break; }