diff options
author | Ovahlord <dreadkiller@gmx.de> | 2024-10-28 20:42:38 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2024-11-01 07:58:42 +0100 |
commit | 31949d05c974b80bf3693496517c07f939b4d1c0 (patch) | |
tree | 98370fa3c80272448e57ee35eda8da8c48aeca66 /src/server/game/Handlers/GroupHandler.cpp | |
parent | 2d415b4621fd0620944aa02140c13ddee5e17ce9 (diff) |
Core/Packets: updated opcodes to 4.4.1
Diffstat (limited to 'src/server/game/Handlers/GroupHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/GroupHandler.cpp | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp index f9ad1daa6f1..f9252231820 100644 --- a/src/server/game/Handlers/GroupHandler.cpp +++ b/src/server/game/Handlers/GroupHandler.cpp @@ -649,90 +649,3 @@ void WorldSession::HandleClearRaidMarker(WorldPackets::Party::ClearRaidMarker& p group->DeleteRaidMarker(packet.MarkerId); } - -namespace -{ -bool CanSendPing(Player const& player, PingSubjectType type, Group const*& group) -{ - if (type >= PingSubjectType::Max) - return false; - - if (!player.GetSession()->CanSpeak()) - return false; - - group = player.GetGroup(); - if (!group) - return false; - - if (group->IsRestrictPingsToAssistants() && !group->IsLeader(player.GetGUID()) && !group->IsAssistant(player.GetGUID())) - return false; - - return true; -} -} - -void WorldSession::HandleSetRestrictPingsToAssistants(WorldPackets::Party::SetRestrictPingsToAssistants const& setRestrictPingsToAssistants) -{ - Group* group = GetPlayer()->GetGroup(setRestrictPingsToAssistants.PartyIndex); - if (!group) - return; - - if (!group->IsLeader(GetPlayer()->GetGUID())) - return; - - group->SetRestrictPingsToAssistants(setRestrictPingsToAssistants.RestrictPingsToAssistants); -} - -void WorldSession::HandleSendPingUnit(WorldPackets::Party::SendPingUnit const& pingUnit) -{ - Group const* group = nullptr; - if (!CanSendPing(*_player, pingUnit.Type, group)) - return; - - Unit const* target = ObjectAccessor::GetUnit(*_player, pingUnit.TargetGUID); - if (!target || !_player->HaveAtClient(target)) - return; - - WorldPackets::Party::ReceivePingUnit broadcastPingUnit; - broadcastPingUnit.SenderGUID = _player->GetGUID(); - broadcastPingUnit.TargetGUID = pingUnit.TargetGUID; - broadcastPingUnit.Type = pingUnit.Type; - broadcastPingUnit.PinFrameID = pingUnit.PinFrameID; - broadcastPingUnit.Write(); - - for (GroupReference const* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next()) - { - Player const* member = itr->GetSource(); - if (_player == member || !_player->IsInMap(member)) - continue; - - member->SendDirectMessage(broadcastPingUnit.GetRawPacket()); - } -} - -void WorldSession::HandleSendPingWorldPoint(WorldPackets::Party::SendPingWorldPoint const& pingWorldPoint) -{ - Group const* group = nullptr; - if (!CanSendPing(*_player, pingWorldPoint.Type, group)) - return; - - if (_player->GetMapId() != pingWorldPoint.MapID) - return; - - WorldPackets::Party::ReceivePingWorldPoint broadcastPingWorldPoint; - broadcastPingWorldPoint.SenderGUID = _player->GetGUID(); - broadcastPingWorldPoint.MapID = pingWorldPoint.MapID; - broadcastPingWorldPoint.Point = pingWorldPoint.Point; - broadcastPingWorldPoint.Type = pingWorldPoint.Type; - broadcastPingWorldPoint.PinFrameID = pingWorldPoint.PinFrameID; - broadcastPingWorldPoint.Write(); - - for (GroupReference const* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next()) - { - Player const* member = itr->GetSource(); - if (_player == member || !_player->IsInMap(member)) - continue; - - member->SendDirectMessage(broadcastPingWorldPoint.GetRawPacket()); - } -} |