diff options
-rw-r--r-- | src/server/game/Chat/Channels/Channel.cpp | 16 | ||||
-rw-r--r-- | src/server/game/Chat/Channels/Channel.h | 4 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/server/game/Chat/Channels/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp index 0047892972b..bb70e54354c 100644 --- a/src/server/game/Chat/Channels/Channel.cpp +++ b/src/server/game/Chat/Channels/Channel.cpp @@ -707,6 +707,14 @@ void Channel::Invite(uint64 p, const char *newname) return; } + if (IsBanned(newp->GetGUID())) + { + WorldPacket data; + MakePlayerInviteBanned(&data, newname); + SendToOne(&data, p); + return; + } + Player *plr = objmgr.GetPlayer(p); if (!plr) return; @@ -983,10 +991,10 @@ void Channel::MakePlayerUnbanned(WorldPacket *data, uint64 bad, uint64 good) } // done 0x16 -void Channel::MakePlayerNotBanned(WorldPacket *data, uint64 guid) +void Channel::MakePlayerNotBanned(WorldPacket *data, const std::string &name) { MakeNotifyPacket(data, CHAT_PLAYER_NOT_BANNED_NOTICE); - *data << uint64(guid); + *data << name; } // done 0x17 @@ -1035,10 +1043,10 @@ void Channel::MakePlayerInvited(WorldPacket *data, const std::string& name) } // done 0x1E -void Channel::MakePlayerInviteBanned(WorldPacket *data, uint64 guid) +void Channel::MakePlayerInviteBanned(WorldPacket *data, const std::string& name) { MakeNotifyPacket(data, CHAT_PLAYER_INVITE_BANNED_NOTICE); - *data << uint64(guid); + *data << name; } // done 0x1F diff --git a/src/server/game/Chat/Channels/Channel.h b/src/server/game/Chat/Channels/Channel.h index d0b5923e30e..a52a697cba1 100644 --- a/src/server/game/Chat/Channels/Channel.h +++ b/src/server/game/Chat/Channels/Channel.h @@ -187,7 +187,7 @@ class Channel void MakeBanned(WorldPacket *data); //? 0x13 void MakePlayerBanned(WorldPacket *data, uint64 bad, uint64 good); //? 0x14 void MakePlayerUnbanned(WorldPacket *data, uint64 bad, uint64 good); //? 0x15 - void MakePlayerNotBanned(WorldPacket *data, uint64 guid); //? 0x16 + void MakePlayerNotBanned(WorldPacket *data, const std::string& name); //? 0x16 void MakePlayerAlreadyMember(WorldPacket *data, uint64 guid); //+ 0x17 void MakeInvite(WorldPacket *data, uint64 guid); //? 0x18 void MakeInviteWrongFaction(WorldPacket *data); //? 0x19 @@ -195,7 +195,7 @@ class Channel void MakeInvalidName(WorldPacket *data); //? 0x1B void MakeNotModerated(WorldPacket *data); //? 0x1C void MakePlayerInvited(WorldPacket *data, const std::string& name); //+ 0x1D - void MakePlayerInviteBanned(WorldPacket *data, uint64 guid); //? 0x1E + void MakePlayerInviteBanned(WorldPacket *data, const std::string &name);//? 0x1E void MakeThrottled(WorldPacket *data); //? 0x1F void MakeNotInArea(WorldPacket *data); //? 0x20 void MakeNotInLfg(WorldPacket *data); //? 0x21 |