From 7031064c072250d6264e386c4aafb98199a91f56 Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Mon, 13 May 2013 23:58:47 +0200 Subject: [PATCH] [12581] Implement 2 chat channel responses - CHAT_PLAYER_NOT_BANNED_NOTICE - CHAT_PLAYER_INVITE_BANNED_NOTICE Signed-off-by: stfx --- src/game/Channel.cpp | 28 ++++++++++++++++++---------- src/game/Channel.h | 4 ++-- src/shared/revision_nr.h | 2 +- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/game/Channel.cpp b/src/game/Channel.cpp index d6821f43dfa..d551a3bd989 100644 --- a/src/game/Channel.cpp +++ b/src/game/Channel.cpp @@ -264,7 +264,7 @@ void Channel::UnBan(Player* player, const char* targetName) if (!IsBanned(targetGuid)) { WorldPacket data; - MakePlayerNotFound(&data, targetName); + MakePlayerNotBanned(&data, targetName); SendToOne(&data, guid); return; } @@ -621,19 +621,27 @@ void Channel::Invite(Player* player, const char* targetName) return; } - if (target->GetTeam() != player->GetTeam() && !sWorld.getConfig(CONFIG_BOOL_ALLOW_TWO_SIDE_INTERACTION_CHANNEL)) + ObjectGuid targetGuid = target->GetObjectGuid(); + if (IsOn(targetGuid)) { WorldPacket data; - MakeInviteWrongFaction(&data); + MakePlayerAlreadyMember(&data, targetGuid); SendToOne(&data, guid); return; } - ObjectGuid targetGuid = target->GetObjectGuid(); - if (IsOn(targetGuid)) + if (IsBanned(targetGuid)) { WorldPacket data; - MakePlayerAlreadyMember(&data, targetGuid); + MakePlayerInviteBanned(&data, targetName); + SendToOne(&data, guid); + return; + } + + if (target->GetTeam() != player->GetTeam() && !sWorld.getConfig(CONFIG_BOOL_ALLOW_TWO_SIDE_INTERACTION_CHANNEL)) + { + WorldPacket data; + MakeInviteWrongFaction(&data); SendToOne(&data, guid); return; } @@ -848,10 +856,10 @@ void Channel::MakePlayerUnbanned(WorldPacket* data, ObjectGuid target, ObjectGui *data << ObjectGuid(source); } -void Channel::MakePlayerNotBanned(WorldPacket* data, ObjectGuid guid) +void Channel::MakePlayerNotBanned(WorldPacket* data, const std::string& name) { MakeNotifyPacket(data, CHAT_PLAYER_NOT_BANNED_NOTICE); - *data << ObjectGuid(guid); // should be string!! + *data << name; } void Channel::MakePlayerAlreadyMember(WorldPacket* data, ObjectGuid guid) @@ -892,10 +900,10 @@ void Channel::MakePlayerInvited(WorldPacket* data, const std::string& name) *data << name; } -void Channel::MakePlayerInviteBanned(WorldPacket* data, ObjectGuid guid) +void Channel::MakePlayerInviteBanned(WorldPacket* data, const std::string& name) { MakeNotifyPacket(data, CHAT_PLAYER_INVITE_BANNED_NOTICE); - *data << ObjectGuid(guid); // should be string!! + *data << name; } void Channel::MakeThrottled(WorldPacket* data) diff --git a/src/game/Channel.h b/src/game/Channel.h index 1f1c291ca28..554fd5b3042 100644 --- a/src/game/Channel.h +++ b/src/game/Channel.h @@ -211,7 +211,7 @@ class Channel void MakeBanned(WorldPacket* data); //? 0x13 void MakePlayerBanned(WorldPacket* data, ObjectGuid target, ObjectGuid source);//? 0x14 void MakePlayerUnbanned(WorldPacket* data, ObjectGuid target, ObjectGuid source);//? 0x15 - void MakePlayerNotBanned(WorldPacket* data, ObjectGuid guid); //? 0x16 + void MakePlayerNotBanned(WorldPacket* data, const std::string& name); //? 0x16 void MakePlayerAlreadyMember(WorldPacket* data, ObjectGuid guid); //+ 0x17 void MakeInvite(WorldPacket* data, ObjectGuid guid); //? 0x18 void MakeInviteWrongFaction(WorldPacket* data); //? 0x19 @@ -219,7 +219,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, ObjectGuid 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 diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 563b8d75e91..9671ac32ef5 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "12580" + #define REVISION_NR "12581" #endif // __REVISION_NR_H__