diff options
| author | Spp <spp@jorge.gr> | 2012-11-26 08:43:29 +0100 |
|---|---|---|
| committer | Spp <spp@jorge.gr> | 2012-11-26 08:43:29 +0100 |
| commit | 8ae0f2332c9f3d34f602acdaeb5409d9cb56ab79 (patch) | |
| tree | 5afe17de42ae9399c730cccfaa876608f84b69ba /src/server/game/Chat | |
| parent | fdf0c32857c804701e7a25b27e59b11f2a306116 (diff) | |
| parent | 941be9cdc473713f97ad505114bcb32f7e3350ef (diff) | |
Merge branch 'master' into 4.3.4
Conflicts:
src/server/game/Battlefield/Zones/BattlefieldWG.cpp
src/server/game/Conditions/ConditionMgr.cpp
src/server/game/Entities/Unit/Unit.cpp
src/server/game/Server/WorldSession.cpp
src/server/game/Server/WorldSocket.cpp
src/server/game/Spells/SpellEffects.cpp
src/server/scripts/EasternKingdoms/stormwind_city.cpp
src/server/scripts/EasternKingdoms/swamp_of_sorrows.cpp
src/server/scripts/Kalimdor/azshara.cpp
Diffstat (limited to 'src/server/game/Chat')
| -rwxr-xr-x | src/server/game/Chat/Channels/Channel.cpp | 27 | ||||
| -rwxr-xr-x | src/server/game/Chat/Channels/ChannelMgr.cpp | 4 |
2 files changed, 19 insertions, 12 deletions
diff --git a/src/server/game/Chat/Channels/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp index 7bada252da6..8ce7d7d2139 100755 --- a/src/server/game/Chat/Channels/Channel.cpp +++ b/src/server/game/Chat/Channels/Channel.cpp @@ -297,7 +297,7 @@ void Channel::KickOrBan(Player const* player, std::string const& badname, bool b SendToOne(&data, good); return; } - + Player* bad = sObjectAccessor->FindPlayerByName(badname); uint64 victim = bad ? bad->GetGUID() : 0; if (!victim || !IsOn(victim)) @@ -403,7 +403,7 @@ void Channel::Password(Player const* player, std::string const& pass) SendToOne(&data, guid); return; } - + if (!playersStore[guid].IsModerator() && !AccountMgr::IsGMAccount(player->GetSession()->GetSecurity())) { WorldPacket data; @@ -479,7 +479,7 @@ void Channel::SetOwner(Player const* player, std::string const& newname) uint64 guid = player->GetGUID(); uint32 sec = player->GetSession()->GetSecurity(); - if (!IsOn(guid) || (!AccountMgr::IsGMAccount(sec) && guid != _ownerGUID)) + if (!IsOn(guid)) { WorldPacket data; MakeNotMember(&data); @@ -487,9 +487,17 @@ void Channel::SetOwner(Player const* player, std::string const& newname) return; } + if (!AccountMgr::IsGMAccount(sec) && guid != _ownerGUID) + { + WorldPacket data; + MakeNotOwner(&data); + SendToOne(&data, guid); + return; + } + Player* newp = sObjectAccessor->FindPlayerByName(newname); uint64 victim = newp ? newp->GetGUID() : 0; - + if (!victim || !IsOn(victim) || (newp->GetTeam() != player->GetTeam() && !sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHANNEL))) { @@ -600,8 +608,6 @@ void Channel::Say(uint64 guid, std::string const& what, uint32 lang) if (sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHANNEL)) lang = LANG_UNIVERSAL; - Player* player = ObjectAccessor::FindPlayer(guid); - if (!IsOn(guid)) { WorldPacket data; @@ -609,7 +615,7 @@ void Channel::Say(uint64 guid, std::string const& what, uint32 lang) SendToOne(&data, guid); return; } - + if (playersStore[guid].IsMuted()) { WorldPacket data; @@ -621,12 +627,13 @@ void Channel::Say(uint64 guid, std::string const& what, uint32 lang) WorldPacket data(SMSG_MESSAGECHAT, 1 + 4 + 8 + 4 + _name.size() + 8 + 4 + what.size() + 1); data << uint8(CHAT_MSG_CHANNEL); data << uint32(lang); - data << guid; + data << uint64(guid); data << uint32(0); data << _name; - data << guid; - data << what.size() + 1; + data << uint64(guid); + data << uint32(what.size() + 1); data << what; + Player* player = ObjectAccessor::FindPlayer(guid); data << uint8(player ? player->GetChatTag() : 0); SendToAll(&data, !playersStore[guid].IsModerator() ? guid : false); diff --git a/src/server/game/Chat/Channels/ChannelMgr.cpp b/src/server/game/Chat/Channels/ChannelMgr.cpp index b903f15c9a8..2ec7ed199ba 100755 --- a/src/server/game/Chat/Channels/ChannelMgr.cpp +++ b/src/server/game/Chat/Channels/ChannelMgr.cpp @@ -43,7 +43,7 @@ ChannelMgr* ChannelMgr::forTeam(uint32 team) return NULL; } -Channel* ChannelMgr::GetJoinChannel(std::string const& name, uint32 channel_id) +Channel* ChannelMgr::GetJoinChannel(std::string const& name, uint32 channelId) { std::wstring wname; Utf8toWStr(name, wname); @@ -53,7 +53,7 @@ Channel* ChannelMgr::GetJoinChannel(std::string const& name, uint32 channel_id) if (i == channels.end()) { - Channel* nchan = new Channel(name, channel_id, team); + Channel* nchan = new Channel(name, channelId, team); channels[wname] = nchan; return nchan; } |
