void Channel::SetOwner(ObjectGuid guid, bool exclaim) { if (m_ownerGuid) { // [] will re-add player after it possible removed PlayerList::iterator p_itr = m_players.find(m_ownerGuid); if (p_itr != m_players.end()) p_itr->second.SetOwner(false); } m_ownerGuid = guid; if (m_ownerGuid) { uint8 oldFlag = GetPlayerFlags(m_ownerGuid); m_players[m_ownerGuid].SetOwner(true); WorldPacket data; MakeModeChange(&data, m_ownerGuid, oldFlag); SendToAll(&data); if (exclaim) { MakeOwnerChanged(&data, m_ownerGuid); SendToAll(&data); } } }
void Channel::SetOwner(uint64 guid, bool exclaim) { if (m_ownerGUID) { // [] will re-add player after it possible removed PlayerList::iterator p_itr = players.find(m_ownerGUID); if (p_itr != players.end()) p_itr->second.SetOwner(false); } m_ownerGUID = guid; if (m_ownerGUID) { uint8 oldFlag = GetPlayerFlags(m_ownerGUID); players[m_ownerGUID].SetModerator(true); players[m_ownerGUID].SetOwner(true); WorldPacket data; MakeModeChange(&data, m_ownerGUID, oldFlag); SendToAll(&data); if (exclaim) { MakeOwnerChanged(&data, m_ownerGUID); SendToAll(&data); } UpdateChannelInDB(); } }
void Channel::SetOwner(uint64 guid, bool exclaim) { if (m_ownerGUID) { // [] will re-add player after it possible removed PlayerList::iterator p_itr = players.find(m_ownerGUID); if (p_itr != players.end()) p_itr->second.SetOwner(false); } m_ownerGUID = guid; if (m_ownerGUID) { uint8 oldFlag = GetPlayerFlags(m_ownerGUID); players[m_ownerGUID].SetModerator(true); players[m_ownerGUID].SetOwner(true); WorldPacket data; MakeModeChange(&data, m_ownerGUID, oldFlag); SendToAll(&data); if (exclaim) { MakeOwnerChanged(&data, m_ownerGUID); SendToAll(&data); } if (m_IsSaved && _UpdateIntInDB("m_moderate", m_moderate ? 1 : 0)) sLog.outDebug("Channel(%s) moderate saved", m_name.c_str()); } }
void Channel::SetOwner(ObjectGuid guid, bool exclaim) { PlayerPointer newp = GetPlayer(guid); if (!newp) return; if (HasFlag(CHANNEL_FLAG_GENERAL) && newp->GetSession()->GetSecurity() < SEC_GAMEMASTER) return; if (m_ownerGuid) { // [] will re-add player after it possible removed PlayerList::iterator p_itr = m_players.find(m_ownerGuid); if (p_itr != m_players.end()) p_itr->second.SetOwner(false); } m_ownerGuid = guid; if (m_ownerGuid) { uint8 oldFlag = GetPlayerFlags(m_ownerGuid); m_players[m_ownerGuid].SetOwner(true); WorldPacket data; MakeModeChange(&data, m_ownerGuid, oldFlag); SendToAll(&data); if (exclaim) { MakeOwnerChanged(&data, m_ownerGuid); SendToAll(&data); } } }
void Channel::SetOwner(uint64 guid, bool exclaim) { if (_ownerGUID) { // [] will re-add player after it possible removed PlayerContainer::iterator p_itr = playersStore.find(_ownerGUID); if (p_itr != playersStore.end()) { p_itr->second.SetOwner(false); FlagsNotify(p_itr->second.plrPtr); } } _ownerGUID = guid; if (_ownerGUID) { PlayerInfo& pinfo = playersStore[_ownerGUID]; pinfo.SetModerator(true); uint8 oldFlag = pinfo.flags; pinfo.SetOwner(true); WorldPacket data; MakeModeChange(&data, _ownerGUID, oldFlag); SendToAll(&data); FlagsNotify(pinfo.plrPtr); if (exclaim) { MakeOwnerChanged(&data, _ownerGUID); SendToAll(&data); } } }
void Channel::SetOwner(ObjectGuid const& guid, bool exclaim) { if (!_ownerGUID.IsEmpty()) { // [] will re-add player after it possible removed PlayerContainer::iterator itr = _playersStore.find(_ownerGUID); if (itr != _playersStore.end()) itr->second.SetOwner(false); } _ownerGUID = guid; if (!_ownerGUID.IsEmpty()) { uint8 oldFlag = _playersStore[_ownerGUID].GetFlags(); _playersStore[_ownerGUID].SetModerator(true); _playersStore[_ownerGUID].SetOwner(true); WorldPackets::Channel::ChannelNotify notify; MakeModeChange(notify, _ownerGUID, oldFlag, _playersStore[_ownerGUID].GetFlags()); SendToAll(notify.Write()); if (exclaim) { MakeOwnerChanged(notify, _ownerGUID); SendToAll(notify.Write()); } UpdateChannelInDB(); } }
void Channel::SetOwner(uint64 guid, bool exclaim) { if(m_ownerGUID) { // [] will re-add player after it possible removed PlayerList::iterator p_itr = players.find(m_ownerGUID); if(p_itr != players.end()) p_itr->second.SetOwner(false); } m_ownerGUID = guid; if(m_ownerGUID) { uint8 oldFlag = GetPlayerFlags(m_ownerGUID); players[m_ownerGUID].SetModerator(true); players[m_ownerGUID].SetOwner(true); WorldPacket data; MakeModeChange(&data, m_ownerGUID, oldFlag); SendToAll(&data); if(exclaim) { MakeOwnerChanged(&data, m_ownerGUID); SendToAll(&data); } /*if(m_IsSaved) { std::ostringstream ss; ss << "UPDATE channels SET m_ownerGUID = '" << guid << "' WHERE m_name = '"<<m_name.c_str()<<"' AND m_team = '"<<m_Team<<"'"; if(CharacterDatabase.PExecute( ss.str( ).c_str( ) )) { sLog.outDebug("Channel(%s) owner saved", m_name.c_str()); } }*/ } }