From 72de7a9a22c7c120c5938897dd67716c2446e313 Mon Sep 17 00:00:00 2001 From: Skjalf <47818697+Nyeriah@users.noreply.github.com> Date: Thu, 7 Oct 2021 08:08:30 -0300 Subject: [PATCH] fix(Core/GameObject): credit nearby group members on object activation if they're in reward range (#8240) Ported from: https://github.com/TrinityCore/TrinityCore/commit/cd625a12e21fdb8c5c9d172f901540c8744eedcd Credits to @Treeston --- .../game/Entities/GameObject/GameObject.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 73d229cc3..8406784a8 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1491,7 +1491,23 @@ void GameObject::Use(Unit* user) if (Battleground* bg = player->GetBattleground()) bg->EventPlayerUsedGO(player, this); - player->KillCreditGO(info->entry, GetGUID()); + if (Group* group = player->GetGroup()) + { + for (GroupReference const* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next()) + { + if (Player* member = itr->GetSource()) + { + if (member->IsAtGroupRewardDistance(this)) + { + member->KillCreditGO(info->entry, GetGUID()); + } + } + } + } + else + { + player->KillCreditGO(info->entry, GetGUID()); + } } if (uint32 trapEntry = info->goober.linkedTrapId)