34 if ((itr->second.Flags & flag) != 0)
49 itr->second.Flags |= flag;
53 stmt->
setUInt8(0, itr->second.Flags);
81 itr->second.Flags &= ~flag;
83 if (!itr->second.Flags)
98 stmt->
setUInt8(0, itr->second.Flags);
112 itr->second.Note = note;
134 size_t countPos = data.
wpos();
139 uint8 contactFlags = v.second.Flags;
140 if (!(contactFlags &
flags))
157 data <<
uint32(contactFlags);
158 data << v.second.Note;
161 data <<
uint8(v.second.Status);
164 data <<
uint32(v.second.Area);
165 data <<
uint32(v.second.Level);
166 data <<
uint32(v.second.Class);
180 return (itr->second.Flags &
flags) != 0;
208 friendInfo.
Level = 0;
209 friendInfo.
Class = 0;
217 friendInfo.
Note = itr->second.Note;
234 else if (target->
isAFK())
256 data <<
uint8(result);
294 PlayerSocial::PlayerSocialMap::const_iterator itr2 = itr->second._playerSocialMap.find(player->
GetGUID());
295 if (itr2 != itr->second._playerSocialMap.end() && (itr2->second.Flags &
SOCIAL_FLAG_FRIEND) != 0)
323 Field* fields = result->Fetch();
325 ObjectGuid friendGuid = ObjectGuid::Create<HighGuid::Player>(fields[0].GetUInt32());
330 while (result->NextRow());
@ CHAR_UPD_CHARACTER_SOCIAL_NOTE
@ CHAR_UPD_CHARACTER_SOCIAL_FLAGS
@ CHAR_DEL_CHARACTER_SOCIAL
@ CHAR_INS_CHARACTER_SOCIAL
std::shared_ptr< PreparedResultSet > PreparedQueryResult
DatabaseWorkerPool< CharacterDatabaseConnection > CharacterDatabase
Accessor to the character database.
Role Based Access Control related classes definition.
FriendsResult
Results of friend related commands.
#define SOCIALMGR_IGNORE_LIMIT
#define SOCIALMGR_FRIEND_LIMIT
void utf8truncate(std::string &utf8str, size_t len)
void put(std::size_t pos, T value)
Class used to access individual fields of database query result.
LowType GetCounter() const
static ObjectGuid GetGUID(Object const *o)
void SetPlayerGUID(ObjectGuid const &guid)
ObjectGuid const & GetPlayerGUID() const
bool HasIgnore(ObjectGuid const &ignoreGuid)
PlayerSocialMap _playerSocialMap
uint32 GetNumberOfSocialsWithFlag(SocialFlag flag)
bool _HasContact(ObjectGuid const &guid, SocialFlag flags)
bool AddToSocialList(ObjectGuid const &guid, SocialFlag flag)
void SetFriendNote(ObjectGuid const &guid, std::string const ¬e)
bool HasFriend(ObjectGuid const &friendGuid)
void RemoveFromSocialList(ObjectGuid const &guid, SocialFlag flag)
void SendSocialList(Player *player, uint32 flags)
void SendDirectMessage(WorldPacket const *data) const
WorldSession * GetSession() const
bool IsVisibleGloballyFor(Player const *player) const
PlayerSocial * GetSocial()
void setUInt32(uint8 index, uint32 value)
void setUInt8(uint8 index, uint8 value)
void setString(uint8 index, std::string const &value)
static SocialMgr * instance()
static void GetFriendInfo(Player *player, ObjectGuid const &friendGUID, FriendInfo &friendInfo)
PlayerSocial * LoadFromDB(PreparedQueryResult result, ObjectGuid const &guid)
void SendFriendStatus(Player *player, FriendsResult result, ObjectGuid const &friendGuid, bool broadcast=false)
void BroadcastToFriendListers(Player *player, WorldPacket const *packet)
Player session in the World.
void SendPacket(WorldPacket const *packet)
Send a packet to the client.
AccountTypes GetSecurity() const
uint32 GetRecruiterId() const
bool HasPermission(uint32 permissionId)
uint32 GetAccountId() const
@ CONFIG_GM_LEVEL_IN_WHO_LIST
TC_GAME_API Player * FindPlayer(ObjectGuid const &)
@ RBAC_PERM_WHO_SEE_ALL_SEC_LEVELS
@ RBAC_PERM_TWO_SIDE_WHO_LIST