aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Battlegrounds/Battleground.cpp4
-rwxr-xr-xsrc/server/game/Chat/Channels/Channel.cpp2
-rwxr-xr-xsrc/server/game/Chat/Chat.cpp2
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp25
-rwxr-xr-xsrc/server/game/Entities/Player/Player.h12
-rwxr-xr-xsrc/server/game/Entities/Player/SocialMgr.cpp2
6 files changed, 28 insertions, 19 deletions
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index 38fa2643601..936ee7ab1d0 100755
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -75,7 +75,7 @@ namespace Trinity
data << uint64(target_guid);
data << uint32(strlen(text) + 1);
data << text;
- data << uint8 (_source ? _source->chatTag() : uint8(0));
+ data << uint8 (_source ? _source->GetChatTag() : 0);
}
ChatMsg _msgtype;
@@ -108,7 +108,7 @@ namespace Trinity
data << uint64(target_guid);
data << uint32(strlen(str) + 1);
data << str;
- data << uint8 (_source ? _source->chatTag() : uint8(0));
+ data << uint8 (_source ? _source->GetChatTag() : uint8(0));
}
private:
diff --git a/src/server/game/Chat/Channels/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp
index 413070ca1de..cc060faaf80 100755
--- a/src/server/game/Chat/Channels/Channel.cpp
+++ b/src/server/game/Chat/Channels/Channel.cpp
@@ -650,7 +650,7 @@ void Channel::Say(uint64 p, const char *what, uint32 lang)
data << p;
data << messageLength;
data << what;
- data << uint8(plr ? plr->chatTag() : 0);
+ data << uint8(plr ? plr->GetChatTag() : 0);
SendToAll(&data, !players[p].IsModerator() ? p : false);
}
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp
index 7d6e9f7a004..ddc7ce58089 100755
--- a/src/server/game/Chat/Chat.cpp
+++ b/src/server/game/Chat/Chat.cpp
@@ -1051,7 +1051,7 @@ void ChatHandler::FillMessageData(WorldPacket* data, WorldSession* session, uint
*data << uint32(messageLength);
*data << message;
if (session != 0 && type != CHAT_MSG_WHISPER_INFORM && type != CHAT_MSG_DND && type != CHAT_MSG_AFK)
- *data << uint8(session->GetPlayer()->chatTag());
+ *data << uint8(session->GetPlayer()->GetChatTag());
else
*data << uint8(0);
}
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 961d1e57390..adcefdddab2 100755
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -2020,21 +2020,20 @@ bool Player::ToggleDND()
return HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_DND);
}
-uint8 Player::chatTag() const
+uint8 Player::GetChatTag() const
{
- // it's bitmask
- // 0x8 - ??
- // 0x4 - gm
- // 0x2 - dnd
- // 0x1 - afk
+ uint8 tag = CHAT_TAG_NONE;
+
if (isGMChat())
- return 4;
- else if (isDND())
- return 3;
+ tag |= CHAT_TAG_GM;
+ if (isDND())
+ tag |= CHAT_TAG_DND;
if (isAFK())
- return 1;
- else
- return 0;
+ tag |= CHAT_TAG_AFK;
+ if (HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER))
+ tag |= CHAT_TAG_DEV;
+
+ return tag;
}
void Player::SendTeleportPacket(Position &oldPos)
@@ -19340,7 +19339,7 @@ inline void Player::BuildPlayerChat(WorldPacket* data, uint8 msgtype, const std:
*data << uint64(GetGUID());
*data << uint32(text.length() + 1);
*data << text;
- *data << uint8(chatTag());
+ *data << uint8(GetChatTag());
}
void Player::Say(const std::string& text, const uint32 language)
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 7d0803a4c8a..0b2ddb628a8 100755
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -768,6 +768,16 @@ enum EnviromentalDamage
DAMAGE_FALL_TO_VOID = 6 // custom case for fall without durability loss
};
+enum PlayerChatTag
+{
+ CHAT_TAG_NONE = 0x00,
+ CHAT_TAG_AFK = 0x01,
+ CHAT_TAG_DND = 0x02,
+ CHAT_TAG_GM = 0x04,
+ CHAT_TAG_UNK = 0x08, // Probably battleground commentator
+ CHAT_TAG_DEV = 0x10,
+};
+
enum PlayedTimeIndex
{
PLAYED_TIME_TOTAL = 0,
@@ -1125,7 +1135,7 @@ class Player : public Unit, public GridObject<Player>
bool ToggleDND();
bool isAFK() const { return HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_AFK); }
bool isDND() const { return HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_DND); }
- uint8 chatTag() const;
+ uint8 GetChatTag() const;
std::string afkMsg;
std::string dndMsg;
diff --git a/src/server/game/Entities/Player/SocialMgr.cpp b/src/server/game/Entities/Player/SocialMgr.cpp
index 4d343d02146..4a599d32aba 100755
--- a/src/server/game/Entities/Player/SocialMgr.cpp
+++ b/src/server/game/Entities/Player/SocialMgr.cpp
@@ -122,7 +122,7 @@ void PlayerSocial::SendSocialList(Player* plr)
uint32 size = m_playerSocialMap.size();
WorldPacket data(SMSG_CONTACT_LIST, (4+4+size*25)); // just can guess size
- data << uint32(7); // unk flag (0x1, 0x2, 0x4), 0x7 if it include ignore list
+ data << uint32(7); // 0x1 = Friendlist update. 0x2 = Ignorelist update. 0x4 = Mutelist update.
data << uint32(size); // friends count
for (PlayerSocialMap::iterator itr = m_playerSocialMap.begin(); itr != m_playerSocialMap.end(); ++itr)