mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 00:48:56 +01:00
Core/PacketIO: CalendarPackets:
CMSG_CALENDAR_GET CMSG_CALENDAR_GET_EVENT CMSG_CALENDAR_GUILD_FILTER CMSG_CALENDAR_ADD_EVENT CMSG_CALENDAR_UPDATE_EVENT CMSG_CALENDAR_REMOVE_EVENT CMSG_CALENDAR_COPY_EVENT CMSG_CALENDAR_GET_NUM_PENDING CMSG_CALENDAR_EVENT_SIGN_UP CMSG_CALENDAR_REMOVE_INVITE CMSG_CALENDAR_EVENT_STATUS CMSG_SET_SAVED_INSTANCE_EXTEND CMSG_CALENDAR_EVENT_MODERATOR_STATUS SMSG_CALENDAR_EVENT_INVITE SMSG_CALENDAR_SEND_CALENDAR SMSG_CALENDAR_SEND_EVENT SMSG_CALENDAR_EVENT_INVITE_ALERT SMSG_CALENDAR_EVENT_INVITE_STATUS SMSG_CALENDAR_EVENT_INVITE_REMOVED SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT SMSG_CALENDAR_CLEAR_PENDING_ACTION SMSG_CALENDAR_EVENT_UPDATED_ALERT SMSG_CALENDAR_EVENT_REMOVED_ALERT SMSG_CALENDAR_SEND_NUM_PENDING SMSG_CALENDAR_COMMAND_RESULT SMSG_CALENDAR_RAID_LOCKOUT_UPDATED SMSG_CALENDAR_EVENT_INITIAL_INVITES SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT // NYI SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT // NYI SMSG_CALENDAR_EVENT_INVITE_NOTES // NYI
This commit is contained in:
@@ -31,6 +31,7 @@
|
||||
#include "SocialMgr.h"
|
||||
#include "Opcodes.h"
|
||||
#include "ChatPackets.h"
|
||||
#include "CalendarPackets.h"
|
||||
|
||||
#define MAX_GUILD_BANK_TAB_TEXT_LEN 500
|
||||
#define EMBLEM_PRICE 10 * GOLD
|
||||
@@ -2533,15 +2534,12 @@ void Guild::BroadcastPacketIfTrackingAchievement(WorldPacket const* packet, uint
|
||||
|
||||
void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 maxLevel, uint32 minRank)
|
||||
{
|
||||
uint32 count = 0;
|
||||
|
||||
WorldPacket data(SMSG_CALENDAR_EVENT_INITIAL_INVITES);
|
||||
data << uint32(count); // count placeholder
|
||||
WorldPackets::Calendar::CalendarEventInitialInvites packet;
|
||||
|
||||
for (Members::const_iterator itr = m_members.begin(); itr != m_members.end(); ++itr)
|
||||
{
|
||||
// not sure if needed, maybe client checks it as well
|
||||
if (count >= CALENDAR_MAX_INVITES)
|
||||
if (packet.Invites.size() >= CALENDAR_MAX_INVITES)
|
||||
{
|
||||
if (Player* player = session->GetPlayer())
|
||||
sCalendarMgr->SendCalendarCommandResult(player->GetGUID(), CALENDAR_ERROR_INVITES_EXCEEDED);
|
||||
@@ -2552,16 +2550,10 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max
|
||||
uint32 level = Player::GetLevelFromDB(member->GetGUID());
|
||||
|
||||
if (member->GetGUID() != session->GetPlayer()->GetGUID() && level >= minLevel && level <= maxLevel && member->IsRankNotLower(minRank))
|
||||
{
|
||||
data << member->GetGUID();
|
||||
data << uint8(level);
|
||||
++count;
|
||||
}
|
||||
packet.Invites.emplace_back(member->GetGUID(), level);
|
||||
}
|
||||
|
||||
data.put<uint32>(0, count);
|
||||
|
||||
session->SendPacket(&data);
|
||||
session->SendPacket(packet.Write());
|
||||
}
|
||||
|
||||
// Members handling
|
||||
|
||||
Reference in New Issue
Block a user