void Channel::Announce(uint64 p) { uint32 sec = 0; Player* player = ObjectAccessor::FindPlayer(p); if (player) sec = player->GetSession()->GetSecurity(); if (!IsOn(p)) { WorldPacket data; MakeNotMember(&data); SendToOne(&data, p); } else if (!players[p].IsModerator() && !AccountMgr::IsGMAccount(sec)) { WorldPacket data; MakeNotModerator(&data); SendToOne(&data, p); } else { m_announce = !m_announce; WorldPacket data; if (m_announce) MakeAnnouncementsOn(&data, p); else MakeAnnouncementsOff(&data, p); SendToAll(&data); UpdateChannelInDB(); } }
void Channel::Announce(uint64 p) { uint32 sec = 0; Player *plr = sObjectMgr->GetPlayer(p); if (plr) sec = plr->GetSession()->GetSecurity(); if (!IsOn(p)) { WorldPacket data; MakeNotMember(&data); SendToOne(&data, p); } else if (!players[p].IsModerator() && sec < SEC_GAMEMASTER) { WorldPacket data; MakeNotModerator(&data); SendToOne(&data, p); } else { m_announce = !m_announce; WorldPacket data; if (m_announce) MakeAnnouncementsOn(&data, p); else MakeAnnouncementsOff(&data, p); SendToAll(&data); UpdateChannelInDB(); } }
void Channel::Announce(Player const* player) { uint64 guid = player->GetGUID(); if (!IsOn(guid)) { WorldPacket data; MakeNotMember(&data); SendToOne(&data, guid); return; } if (!playersStore[guid].IsModerator() && !player->GetSession()->HasPermission(rbac::RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR)) { WorldPacket data; MakeNotModerator(&data); SendToOne(&data, guid); return; } _announce = !_announce; WorldPacket data; if (_announce) MakeAnnouncementsOn(&data, guid); else MakeAnnouncementsOff(&data, guid); SendToAll(&data); UpdateChannelInDB(); }
void Channel::Announce(Player* player) { ObjectGuid guid = player->GetObjectGuid(); if (!IsOn(guid)) { WorldPacket data; MakeNotMember(&data); SendToOne(&data, guid); return; } if (!m_players[guid].IsModerator() && player->GetSession()->GetSecurity() < SEC_GAMEMASTER) { WorldPacket data; MakeNotModerator(&data); SendToOne(&data, guid); return; } // toggle channel announcement m_announce = !m_announce; WorldPacket data; if (m_announce) MakeAnnouncementsOn(&data, guid); else MakeAnnouncementsOff(&data, guid); SendToAll(&data); }
void Channel::Announce(uint64 p) { uint32 sec = 0; Player *plr = objmgr.GetPlayer(p); if (plr) sec = plr->GetSession()->GetSecurity(); if (!IsOn(p)) { WorldPacket data; MakeNotMember(&data); SendToOne(&data, p); } else if (!players[p].IsModerator() && sec < SEC_GAMEMASTER) { WorldPacket data; MakeNotModerator(&data); SendToOne(&data, p); } else { m_announce = !m_announce; WorldPacket data; if (m_announce) MakeAnnouncementsOn(&data, p); else MakeAnnouncementsOff(&data, p); SendToAll(&data); if (m_IsSaved && _UpdateIntInDB("m_announce", m_announce ? 1 : 0)) sLog.outDebug("Channel(%s) announce saved", m_name.c_str()); } }
void Channel::Announce(Player const* player) { uint64 guid = player->GetGUID(); uint32 sec = player->GetSession()->GetSecurity(); if (!IsOn(guid)) { WorldPacket data; MakeNotMember(&data); SendToOne(&data, guid); return; } if (!playersStore[guid].IsModerator() && !AccountMgr::IsGMAccount(sec)) { WorldPacket data; MakeNotModerator(&data); SendToOne(&data, guid); return; } _announce = !_announce; WorldPacket data; if (_announce) MakeAnnouncementsOn(&data, guid); else MakeAnnouncementsOff(&data, guid); SendToAll(&data); UpdateChannelInDB(); }
void Channel::Announce(uint64 p) { uint32 sec = 0; Player *plr = sObjectMgr.GetPlayer(p); if (plr) sec = plr->GetSession()->GetPermissions(); if (!IsOn(p)) { WorldPacket data; MakeNotMember(&data); SendToOne(&data, p); } else if (!players[p].IsModerator() && !(sec & PERM_GMT)) { WorldPacket data; MakeNotModerator(&data); SendToOne(&data, p); } else { m_announce = !m_announce; WorldPacket data; if (m_announce) MakeAnnouncementsOn(&data, p); else MakeAnnouncementsOff(&data, p); SendToAll(&data); } }
void Channel::Announce(Player const* player) { ObjectGuid const& guid = player->GetGUID(); if (!IsOn(guid)) { WorldPackets::Channel::ChannelNotify notify; MakeNotMember(notify); player->SendDirectMessage(notify.Write()); return; } if (!_playersStore[guid].IsModerator() && !player->GetSession()->HasPermission(rbac::RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR)) { WorldPackets::Channel::ChannelNotify notify; MakeNotModerator(notify); player->SendDirectMessage(notify.Write()); return; } _announce = !_announce; WorldPackets::Channel::ChannelNotify notify; if (_announce) MakeAnnouncementsOn(notify, guid); else MakeAnnouncementsOff(notify, guid); SendToAll(notify.Write()); UpdateChannelInDB(); }
void Channel::Announce(uint64 p) { uint32 sec = 0; Player *plr = objmgr.GetPlayer(p); if(plr) sec = plr->GetSession()->GetSecurity(); if(!IsOn(p)) { WorldPacket data; MakeNotMember(&data); SendToOne(&data, p); } else if(!players[p].IsModerator() && sec < SEC_GAMEMASTER) { WorldPacket data; MakeNotModerator(&data); SendToOne(&data, p); } else { m_announce = !m_announce; WorldPacket data; if(m_announce) MakeAnnouncementsOn(&data, p); else MakeAnnouncementsOff(&data, p); SendToAll(&data); if(m_IsSaved) { std::ostringstream ss; ss << "UPDATE channels SET m_announce = '" << m_announce << "' WHERE m_name = '"<<m_name.c_str()<<"' AND m_team = '"<<m_Team<<"'"; if(CharacterDatabase.PExecute( ss.str( ).c_str( ) )) { sLog.outDebug("Channel(%s) announce saved", m_name.c_str()); } } } }