TrinityCore
Loading...
Searching...
No Matches
Guild Class Reference

#include <Guild.h>

Classes

class  BankEventLogEntry
 
class  BankMoveItemData
 
class  BankTab
 
class  EventLogEntry
 
class  LogEntry
 
class  LogHolder
 
class  Member
 
class  MoveItemData
 
class  NewsLogEntry
 
class  PlayerMoveItemData
 
class  RankInfo
 

Public Member Functions

 Guild ()
 
 ~Guild ()
 
bool Create (Player *pLeader, std::string_view name)
 
void Disband ()
 
void SaveToDB ()
 
ObjectGuid::LowType GetId () const
 
ObjectGuid GetGUID () const
 
ObjectGuid GetLeaderGUID () const
 
std::string const & GetName () const
 
std::string const & GetMOTD () const
 
std::string const & GetInfo () const
 
time_t GetCreatedDate () const
 
uint64 GetBankMoney () const
 
bool SetName (std::string_view name)
 
void HandleRoster (WorldSession *session)
 
void HandleQuery (WorldSession *session)
 
void HandleSetAchievementTracking (WorldSession *session, uint32 const *achievementIdsBegin, uint32 const *achievementIdsEnd)
 
void HandleGetAchievementMembers (WorldSession *session, uint32 achievementId) const
 
void HandleSetMOTD (WorldSession *session, std::string_view motd)
 
void HandleSetInfo (WorldSession *session, std::string_view info)
 
void HandleSetEmblem (WorldSession *session, EmblemInfo const &emblemInfo)
 
void HandleSetNewGuildMaster (WorldSession *session, std::string_view name, bool isSelfPromote)
 
void HandleSetBankTabInfo (WorldSession *session, uint8 tabId, std::string_view name, std::string_view icon)
 
void HandleSetMemberNote (WorldSession *session, std::string_view note, ObjectGuid guid, bool isPublic)
 
void HandleSetRankInfo (WorldSession *session, GuildRankId rankId, std::string_view name, uint32 rights, uint32 moneyPerDay, std::array< GuildBankRightsAndSlots, GUILD_BANK_MAX_TABS > const &rightsAndSlots)
 
void HandleBuyBankTab (WorldSession *session, uint8 tabId)
 
void HandleInviteMember (WorldSession *session, std::string_view name)
 
void HandleAcceptMember (WorldSession *session)
 
void HandleLeaveMember (WorldSession *session)
 
void HandleRemoveMember (WorldSession *session, ObjectGuid guid)
 
void HandleUpdateMemberRank (WorldSession *session, ObjectGuid guid, bool demote)
 
void HandleSetMemberRank (WorldSession *session, ObjectGuid guid, ObjectGuid setterGuid, GuildRankOrder rank)
 
void HandleAddNewRank (WorldSession *session, std::string_view name)
 
void HandleRemoveRank (WorldSession *session, GuildRankOrder rankOrder)
 
void HandleShiftRank (WorldSession *session, GuildRankOrder rankOrder, bool shiftUp)
 
void HandleMemberDepositMoney (WorldSession *session, uint64 amount, bool cashFlow=false)
 
bool HandleMemberWithdrawMoney (WorldSession *session, uint64 amount, bool repair=false)
 
void HandleMemberLogout (WorldSession *session)
 
void HandleDelete (WorldSession *session)
 
void HandleGuildPartyRequest (WorldSession *session) const
 
void HandleNewsSetSticky (WorldSession *session, uint32 newsId, bool sticky)
 
void HandleGuildRequestChallengeUpdate (WorldSession *session) const
 
void UpdateMemberData (Player *player, uint8 dataid, uint32 value)
 
void OnPlayerStatusChange (Player *player, uint32 flag, bool state)
 
void SendGuildRankInfo (WorldSession *session) const
 
void SendEventLog (WorldSession *session) const
 
void SendBankLog (WorldSession *session, uint8 tabId) const
 
void SendBankList (WorldSession *session, uint8 tabId, bool fullUpdate) const
 
void SendBankTabText (WorldSession *session, uint8 tabId) const
 
void SendPermissions (WorldSession *session) const
 
void SendMoneyInfo (WorldSession *session) const
 
void SendLoginInfo (WorldSession *session)
 
void SendNewsUpdate (WorldSession *session) const
 
void SendEventAwayChanged (ObjectGuid const &memberGuid, bool afk, bool dnd)
 
void SendEventBankMoneyChanged () const
 
void SendEventMOTD (WorldSession *session, bool broadcast=false) const
 
void SendEventNewLeader (Member *newLeader, Member *oldLeader, bool isSelfPromoted=false) const
 
void SendEventPlayerLeft (Member *leaver, Member *remover=nullptr, bool isRemoved=false) const
 
void SendEventPresenceChanged (WorldSession *session, bool loggedOn, bool broadcast=false) const
 
bool LoadFromDB (Field *fields)
 
void LoadGuildNewsLogFromDB (Field *fields)
 
void LoadRankFromDB (Field *fields)
 
bool LoadMemberFromDB (Field *fields)
 
bool LoadEventLogFromDB (Field *fields)
 
void LoadBankRightFromDB (Field *fields)
 
void LoadBankTabFromDB (Field *fields)
 
bool LoadBankEventLogFromDB (Field *fields)
 
bool LoadBankItemFromDB (Field *fields)
 
bool Validate ()
 
void BroadcastToGuild (WorldSession *session, bool officerOnly, std::string_view msg, uint32 language=LANG_UNIVERSAL) const
 
void BroadcastAddonToGuild (WorldSession *session, bool officerOnly, std::string_view msg, std::string_view prefix, bool isLogged) const
 
void BroadcastPacketToRank (WorldPacket const *packet, GuildRankId rankId) const
 
void BroadcastPacket (WorldPacket const *packet) const
 
void MassInviteToEvent (WorldSession *session, uint32 minLevel, uint32 maxLevel, GuildRankOrder minRank)
 
template<class Do >
void BroadcastWorker (Do &&_do, Player const *except=nullptr) const
 
bool AddMember (CharacterDatabaseTransaction trans, ObjectGuid guid, Optional< GuildRankId > rankId={})
 
bool DeleteMember (CharacterDatabaseTransaction trans, ObjectGuid guid, bool isDisbanding=false, bool isKicked=false)
 
bool ChangeMemberRank (CharacterDatabaseTransaction trans, ObjectGuid guid, GuildRankId newRank)
 
bool IsMember (ObjectGuid guid) const
 
uint32 GetMembersCount () const
 
std::unordered_map< ObjectGuid, Member > const & GetMembers () const
 
uint64 GetMemberAvailableMoneyForRepairItems (ObjectGuid guid) const
 
std::vector< Player * > GetMembersTrackingCriteria (uint32 criteriaId) const
 
void SwapItems (Player *player, uint8 tabId, uint8 slotId, uint8 destTabId, uint8 destSlotId, uint32 splitedAmount)
 
void SwapItemsWithInventory (Player *player, bool toChar, uint8 tabId, uint8 slotId, uint8 playerBag, uint8 playerSlotId, uint32 splitedAmount)
 
void SetBankTabText (uint8 tabId, std::string_view text)
 
GuildAchievementMgr & GetAchievementMgr ()
 
GuildAchievementMgr const & GetAchievementMgr () const
 
uint8 GetLevel () const
 
void AddGuildNews (uint8 type, ObjectGuid guid, uint32 flags, uint32 value)
 
EmblemInfo const & GetEmblemInfo () const
 
void ResetTimes (bool weekly)
 
bool HasAchieved (uint32 achievementId) const
 
void UpdateCriteria (CriteriaType type, uint64 miscValue1, uint64 miscValue2, uint64 miscValue3, WorldObject const *ref, Player *player)
 
Trinity::unique_weak_ptr< Guild > GetWeakPtr () const
 
void SetWeakPtr (Trinity::unique_weak_ptr< Guild > weakRef)
 
bool HasAnyRankRight (GuildRankId rankId, GuildRankRights rights) const
 
Member const * GetMember (ObjectGuid const &guid) const
 

Static Public Member Functions

static void SendCommandResult (WorldSession *session, GuildCommandType type, GuildCommandError errCode, std::string_view param="")
 
static void SendSaveEmblemResult (WorldSession *session, GuildEmblemError errCode)
 

Protected Attributes

ObjectGuid::LowType m_id
 
std::string m_name
 
ObjectGuid m_leaderGuid
 
std::string m_motd
 
std::string m_info
 
time_t m_createdDate
 
EmblemInfo m_emblemInfo
 
uint32 m_accountsNumber
 
uint64 m_bankMoney
 
std::vector< RankInfo > m_ranks
 
std::unordered_map< ObjectGuid, Member > m_members
 
std::vector< BankTab > m_bankTabs
 
LogHolder< EventLogEntry > m_eventLog
 
std::array< LogHolder< BankEventLogEntry >, GUILD_BANK_MAX_TABS+1 > m_bankEventLog = {}
 
LogHolder< NewsLogEntry > m_newsLog
 
std::unique_ptr< GuildAchievementMgr > m_achievementMgr
 
Trinity::unique_weak_ptr< Guild > m_weakRef
 

Private Member Functions

uint8 _GetRanksSize () const
 
RankInfo const * GetRankInfo (GuildRankId rankId) const
 
RankInfo * GetRankInfo (GuildRankId rankId)
 
RankInfo const * GetRankInfo (GuildRankOrder rankOrder) const
 
RankInfo * GetRankInfo (GuildRankOrder rankOrder)
 
bool _HasRankRight (Player const *player, uint32 right) const
 
GuildRankId _GetLowestRankId () const
 
uint8 _GetPurchasedTabsSize () const
 
BankTab * GetBankTab (uint8 tabId)
 
BankTab const * GetBankTab (uint8 tabId) const
 
Member * GetMember (ObjectGuid const &guid)
 
Member * GetMember (std::string_view name)
 
void _CreateNewBankTab (CharacterDatabaseTransaction trans)
 
void _CreateDefaultGuildRanks (CharacterDatabaseTransaction trans, LocaleConstant loc)
 
bool _CreateRank (CharacterDatabaseTransaction trans, std::string_view name, uint32 rights)
 
void _UpdateAccountsNumber ()
 
bool _IsLeader (Player *player) const
 
void _DeleteBankItems (CharacterDatabaseTransaction trans, bool removeItemsFromDB=false)
 
bool _ModifyBankMoney (CharacterDatabaseTransaction trans, uint64 amount, bool add)
 
void _SetLeader (CharacterDatabaseTransaction trans, Member &leader)
 
void _SetRankBankMoneyPerDay (GuildRankId rankId, uint32 moneyPerDay)
 
void _SetRankBankTabRightsAndSlots (GuildRankId rankId, GuildBankRightsAndSlots rightsAndSlots, bool saveToDB=true)
 
int8 _GetRankBankTabRights (GuildRankId rankId, uint8 tabId) const
 
uint32 _GetRankRights (GuildRankId rankId) const
 
uint32 _GetRankBankMoneyPerDay (GuildRankId rankId) const
 
int32 _GetRankBankTabSlotsPerDay (GuildRankId rankId, uint8 tabId) const
 
std::string _GetRankName (GuildRankId rankId) const
 
int32 _GetMemberRemainingSlots (Member const &member, uint8 tabId) const
 
int64 _GetMemberRemainingMoney (Member const &member) const
 
void _UpdateMemberWithdrawSlots (CharacterDatabaseTransaction trans, ObjectGuid guid, uint8 tabId)
 
bool _MemberHasTabRights (ObjectGuid guid, uint8 tabId, int32 rights) const
 
void _LogEvent (GuildEventLogTypes eventType, ObjectGuid::LowType playerGuid1, ObjectGuid::LowType playerGuid2=UI64LIT(0), uint8 newRank=0)
 
void _LogBankEvent (CharacterDatabaseTransaction trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType playerGuid, uint64 itemOrMoney, uint16 itemStackCount=0, uint8 destTabId=0)
 
Item * _GetItem (uint8 tabId, uint8 slotId) const
 
void _RemoveItem (CharacterDatabaseTransaction trans, uint8 tabId, uint8 slotId)
 
void _MoveItems (MoveItemData *pSrc, MoveItemData *pDest, uint32 splitedAmount) const
 
void _SendBankContentUpdate (MoveItemData *pSrc, MoveItemData *pDest) const
 
void _SendBankContentUpdate (uint8 tabId, SlotIds slots) const
 
void SendGuildRanksUpdate (ObjectGuid setterGuid, ObjectGuid targetGuid, GuildRankId rank)
 

Static Private Member Functions

static void _DeleteMemberFromDB (CharacterDatabaseTransaction trans, ObjectGuid::LowType lowguid)
 
static InventoryResult _DoItemsMove (MoveItemData *pSrc, MoveItemData *pDest, bool sendError, uint32 splitedAmount=0)
 

Detailed Description

Definition at line 328 of file Guild.h.

Constructor & Destructor Documentation

◆ Guild()

Guild::Guild ( )

Definition at line 1121 of file Guild.cpp.

◆ ~Guild()

Guild::~Guild ( )

Definition at line 1131 of file Guild.cpp.

References _DeleteBankItems().

Member Function Documentation

◆ _CreateDefaultGuildRanks()

◆ _CreateNewBankTab()

◆ _CreateRank()

bool Guild::_CreateRank ( CharacterDatabaseTransaction  trans,
std::string_view  name,
uint32  rights 
)
private

◆ _DeleteBankItems()

void Guild::_DeleteBankItems ( CharacterDatabaseTransaction  trans,
bool  removeItemsFromDB = false 
)
private

Definition at line 3246 of file Guild.cpp.

References _GetPurchasedTabsSize(), and m_bankTabs.

Referenced by Disband(), and ~Guild().

◆ _DeleteMemberFromDB()

void Guild::_DeleteMemberFromDB ( CharacterDatabaseTransaction  trans,
ObjectGuid::LowType  lowguid 
)
staticprivate

◆ _DoItemsMove()

◆ _GetItem()

Item * Guild::_GetItem ( uint8  tabId,
uint8  slotId 
) const
inlineprivate

Definition at line 3423 of file Guild.cpp.

References GetBankTab().

◆ _GetLowestRankId()

GuildRankId Guild::_GetLowestRankId ( ) const
inlineprivate

Definition at line 916 of file Guild.h.

Referenced by AddMember(), HandleSetNewGuildMaster(), and Validate().

◆ _GetMemberRemainingMoney()

◆ _GetMemberRemainingSlots()

◆ _GetPurchasedTabsSize()

◆ _GetRankBankMoneyPerDay()

uint32 Guild::_GetRankBankMoneyPerDay ( GuildRankId  rankId) const
inlineprivate

Definition at line 3320 of file Guild.cpp.

References GetRankInfo().

Referenced by _GetMemberRemainingMoney(), and SendPermissions().

◆ _GetRankBankTabRights()

int8 Guild::_GetRankBankTabRights ( GuildRankId  rankId,
uint8  tabId 
) const
inlineprivate

Definition at line 3335 of file Guild.cpp.

References GetRankInfo().

Referenced by _GetMemberRemainingSlots(), _MemberHasTabRights(), and SendPermissions().

◆ _GetRankBankTabSlotsPerDay()

int32 Guild::_GetRankBankTabSlotsPerDay ( GuildRankId  rankId,
uint8  tabId 
) const
inlineprivate

Definition at line 3327 of file Guild.cpp.

References _GetPurchasedTabsSize(), and GetRankInfo().

Referenced by _GetMemberRemainingSlots().

◆ _GetRankName()

std::string Guild::_GetRankName ( GuildRankId  rankId) const
inlineprivate

Definition at line 3306 of file Guild.cpp.

References GetRankInfo().

◆ _GetRankRights()

uint32 Guild::_GetRankRights ( GuildRankId  rankId) const
inlineprivate

Definition at line 3313 of file Guild.cpp.

References GetRankInfo().

Referenced by _GetMemberRemainingMoney(), _HasRankRight(), HasAnyRankRight(), and SendPermissions().

◆ _GetRanksSize()

uint8 Guild::_GetRanksSize ( ) const
inlineprivate

Definition at line 906 of file Guild.h.

Referenced by HandleAddNewRank(), HandleRemoveRank(), SendGuildRankInfo(), and Validate().

◆ _HasRankRight()

◆ _IsLeader()

◆ _LogBankEvent()

◆ _LogEvent()

void Guild::_LogEvent ( GuildEventLogTypes  eventType,
ObjectGuid::LowType  playerGuid1,
ObjectGuid::LowType  playerGuid2 = UI64LIT(0),
uint8  newRank = 0 
)
inlineprivate

◆ _MemberHasTabRights()

bool Guild::_MemberHasTabRights ( ObjectGuid  guid,
uint8  tabId,
int32  rights 
) const
inlineprivate

Definition at line 3379 of file Guild.cpp.

References _GetRankBankTabRights(), GetMember(), GuildMaster, and m_leaderGuid.

Referenced by _SendBankContentUpdate(), and SendBankList().

◆ _ModifyBankMoney()

bool Guild::_ModifyBankMoney ( CharacterDatabaseTransaction  trans,
uint64  amount,
bool  add 
)
private

◆ _MoveItems()

◆ _RemoveItem()

void Guild::_RemoveItem ( CharacterDatabaseTransaction  trans,
uint8  tabId,
uint8  slotId 
)
inlineprivate

Definition at line 3430 of file Guild.cpp.

References GetBankTab().

◆ _SendBankContentUpdate() [1/2]

void Guild::_SendBankContentUpdate ( MoveItemData *  pSrc,
MoveItemData *  pDest 
) const
private

◆ _SendBankContentUpdate() [2/2]

◆ _SetLeader()

◆ _SetRankBankMoneyPerDay()

void Guild::_SetRankBankMoneyPerDay ( GuildRankId  rankId,
uint32  moneyPerDay 
)
private

Definition at line 3291 of file Guild.cpp.

References GetRankInfo().

Referenced by HandleSetRankInfo().

◆ _SetRankBankTabRightsAndSlots()

void Guild::_SetRankBankTabRightsAndSlots ( GuildRankId  rankId,
GuildBankRightsAndSlots  rightsAndSlots,
bool  saveToDB = true 
)
private

◆ _UpdateAccountsNumber()

void Guild::_UpdateAccountsNumber ( )
private

Definition at line 3224 of file Guild.cpp.

References m_accountsNumber, and m_members.

Referenced by AddMember(), DeleteMember(), and Validate().

◆ _UpdateMemberWithdrawSlots()

void Guild::_UpdateMemberWithdrawSlots ( CharacterDatabaseTransaction  trans,
ObjectGuid  guid,
uint8  tabId 
)
inlineprivate

Definition at line 3373 of file Guild.cpp.

References GetMember().

◆ AddGuildNews()

◆ AddMember()

bool Guild::AddMember ( CharacterDatabaseTransaction  trans,
ObjectGuid  guid,
Optional< GuildRankId >  rankId = {} 
)

Definition at line 2816 of file Guild.cpp.

References _GetLowestRankId(), _LogEvent(), _UpdateAccountsNumber(), AsUnderlyingType(), BroadcastWorker(), CHAR_SEL_CHAR_DATA_FOR_GUILD, CharacterDatabase, Guild::Member::CheckStats(), Battlenet::Services::ClubMembershipService::CreateClubMemberId(), Battlenet::Services::ClubService::CreateGuildClubType(), ObjectAccessor::FindConnectedPlayer(), ObjectGuid::GetCounter(), GetCreatedDate(), Player::GetGuildId(), GetId(), GetLeaderGUID(), GetLevel(), GetMembersCount(), WorldObject::GetName(), GetName(), Guild::Member::GetRankId(), WorldPackets::Packet::GetRawPacket(), Player::GetSession(), Field::GetString(), GetVirtualRealmAddress(), GR_RIGHT_OFFCHATLISTEN, GR_RIGHT_OFFCHATSPEAK, WorldPackets::Guild::GuildEventPlayerJoined::Guid, GUILD_EVENT_LOG_JOIN_GUILD, HasAnyRankRight(), Guild::Member::IsOnline(), m_id, m_members, m_name, Member, Moderator, WorldPackets::Guild::GuildEventPlayerJoined::Name, Player::RemovePetitionsAndSigns(), Guild::Member::ResetFlags(), Guild::Member::SaveToDB(), sCharacterCache, Player::SendDirectMessage(), SendLoginInfo(), Player::SetGuildIdInvited(), Player::SetGuildLevel(), Player::SetGuildRank(), Player::SetInGuild(), Guild::Member::SetStats(), PreparedStatementBase::setUInt64(), sScriptMgr, TC_LOG_ERROR, ObjectGuid::ToString(), UI64LIT, WorldPackets::Guild::GuildEventPlayerJoined::VirtualRealmAddress, and WorldPackets::Guild::GuildEventPlayerJoined::Write().

Referenced by Create(), HandleAcceptMember(), guild_commandscript::HandleGuildInviteCommand(), and WorldSession::HandleTurnInPetition().

◆ BroadcastAddonToGuild()

◆ BroadcastPacket()

◆ BroadcastPacketToRank()

void Guild::BroadcastPacketToRank ( WorldPacket const *  packet,
GuildRankId  rankId 
) const

Definition at line 2758 of file Guild.cpp.

References m_members, and Player::SendDirectMessage().

◆ BroadcastToGuild()

◆ BroadcastWorker()

template<class Do >
void Guild::BroadcastWorker ( Do &&  _do,
Player const *  except = nullptr 
) const
inline

◆ ChangeMemberRank()

bool Guild::ChangeMemberRank ( CharacterDatabaseTransaction  trans,
ObjectGuid  guid,
GuildRankId  newRank 
)

Definition at line 3021 of file Guild.cpp.

References GetMember(), and GetRankInfo().

Referenced by guild_commandscript::HandleGuildRankCommand().

◆ Create()

◆ DeleteMember()

◆ Disband()

◆ GetAchievementMgr() [1/2]

◆ GetAchievementMgr() [2/2]

GuildAchievementMgr const & Guild::GetAchievementMgr ( ) const
inline

Definition at line 865 of file Guild.h.

◆ GetBankMoney()

uint64 Guild::GetBankMoney ( ) const
inline

◆ GetBankTab() [1/2]

BankTab * Guild::GetBankTab ( uint8  tabId)
inlineprivate

◆ GetBankTab() [2/2]

BankTab const * Guild::GetBankTab ( uint8  tabId) const
inlineprivate

Definition at line 920 of file Guild.h.

◆ GetCreatedDate()

time_t Guild::GetCreatedDate ( ) const
inline

◆ GetEmblemInfo()

EmblemInfo const & Guild::GetEmblemInfo ( ) const
inline

Definition at line 872 of file Guild.h.

◆ GetGUID()

◆ GetId()

◆ GetInfo()

std::string const & Guild::GetInfo ( ) const
inline

Definition at line 759 of file Guild.h.

Referenced by guild_commandscript::HandleGuildInfoCommand().

◆ GetLeaderGUID()

◆ GetLevel()

uint8 Guild::GetLevel ( ) const
inline

Definition at line 868 of file Guild.h.

References GUILD_OLD_MAX_LEVEL.

Referenced by AddMember(), and guild_commandscript::HandleGuildInfoCommand().

◆ GetMember() [1/3]

Member * Guild::GetMember ( ObjectGuid const &  guid)
inlineprivate

Definition at line 930 of file Guild.h.

◆ GetMember() [2/3]

◆ GetMember() [3/3]

Member * Guild::GetMember ( std::string_view  name)
inlineprivate

Definition at line 936 of file Guild.h.

◆ GetMemberAvailableMoneyForRepairItems()

uint64 Guild::GetMemberAvailableMoneyForRepairItems ( ObjectGuid  guid) const

Definition at line 3040 of file Guild.cpp.

References _GetMemberRemainingMoney(), GetMember(), and m_bankMoney.

Referenced by Player::DurabilityRepairAll().

◆ GetMembers()

std::unordered_map< ObjectGuid, Member > const & Guild::GetMembers ( ) const
inline

Definition at line 853 of file Guild.h.

Referenced by Battlenet::Services::ClubService::HandleGetMembers().

◆ GetMembersCount()

◆ GetMembersTrackingCriteria()

std::vector< Player * > Guild::GetMembersTrackingCriteria ( uint32  criteriaId) const

Definition at line 2773 of file Guild.cpp.

References m_members.

Referenced by GuildAchievementMgr::SendCriteriaUpdate().

◆ GetMOTD()

std::string const & Guild::GetMOTD ( ) const
inline

Definition at line 758 of file Guild.h.

Referenced by guild_commandscript::HandleGuildInfoCommand(), and SendEventMOTD().

◆ GetName()

◆ GetRankInfo() [1/4]

Guild::RankInfo * Guild::GetRankInfo ( GuildRankId  rankId)
private

Definition at line 3101 of file Guild.cpp.

References m_ranks.

◆ GetRankInfo() [2/4]

◆ GetRankInfo() [3/4]

Guild::Guild::RankInfo * Guild::GetRankInfo ( GuildRankOrder  rankOrder)
private

Definition at line 3121 of file Guild.cpp.

References m_ranks.

◆ GetRankInfo() [4/4]

Guild::Guild::RankInfo const * Guild::GetRankInfo ( GuildRankOrder  rankOrder) const
private

Definition at line 3111 of file Guild.cpp.

References m_ranks.

◆ GetWeakPtr()

Trinity::unique_weak_ptr< Guild > Guild::GetWeakPtr ( ) const
inline

Definition at line 878 of file Guild.h.

◆ HandleAcceptMember()

◆ HandleAddNewRank()

◆ HandleBuyBankTab()

◆ HandleDelete()

void Guild::HandleDelete ( WorldSession *  session)

Definition at line 2140 of file Guild.cpp.

References _IsLeader(), Disband(), GetGUID(), WorldSession::GetPlayer(), and TC_LOG_DEBUG.

◆ HandleGetAchievementMembers()

void Guild::HandleGetAchievementMembers ( WorldSession *  session,
uint32  achievementId 
) const

◆ HandleGuildPartyRequest()

◆ HandleGuildRequestChallengeUpdate()

◆ HandleInviteMember()

void Guild::HandleInviteMember ( WorldSession *  session,
std::string_view  name 
)

Definition at line 1679 of file Guild.cpp.

References _HasRankRight(), _LogEvent(), WorldPackets::Guild::GuildInvite::AchievementPoints, WorldPackets::Guild::GuildInvite::Background, WorldPackets::Guild::GuildInvite::BorderColor, WorldPackets::Guild::GuildInvite::BorderStyle, CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD, WorldPackets::Guild::GuildInvite::EmblemColor, WorldPackets::Guild::GuildInvite::EmblemStyle, ERR_ALREADY_IN_GUILD_S, ERR_ALREADY_INVITED_TO_GUILD_S, ERR_GUILD_COMMAND_SUCCESS, ERR_GUILD_NOT_ALLIED, ERR_GUILD_PERMISSIONS, ERR_GUILD_PLAYER_NOT_FOUND_S, ObjectAccessor::FindPlayerByName(), WorldSession::GetAccountGUID(), GetAchievementMgr(), AchievementMgr::GetAchievementPoints(), EmblemInfo::GetBackgroundColor(), EmblemInfo::GetBorderColor(), EmblemInfo::GetBorderStyle(), EmblemInfo::GetColor(), ObjectGuid::GetCounter(), BaseEntity::GetGUID(), GetGUID(), Player::GetGuild(), Player::GetGuildId(), Player::GetGuildIdInvited(), WorldObject::GetName(), GetName(), WorldSession::GetPlayer(), Player::GetSession(), Player::GetSocial(), EmblemInfo::GetStyle(), Player::GetTeam(), GetVirtualRealmAddress(), GR_RIGHT_INVITE, GUILD_COMMAND_INVITE_PLAYER, GUILD_EVENT_LOG_INVITE_PLAYER, WorldPackets::Guild::GuildInvite::GuildGUID, WorldPackets::Guild::GuildInvite::GuildName, WorldPackets::Guild::GuildInvite::GuildVirtualRealmAddress, PlayerSocial::HasIgnore(), WorldPackets::Guild::GuildInvite::InviterName, WorldPackets::Guild::GuildInvite::InviterVirtualRealmAddress, m_emblemInfo, m_id, Player::m_playerData, WorldPackets::Guild::GuildInvite::OldGuildGUID, WorldPackets::Guild::GuildInvite::OldGuildName, WorldPackets::Guild::GuildInvite::OldGuildVirtualRealmAddress, SendCommandResult(), Player::SendDirectMessage(), Player::SetGuildIdInvited(), sWorld, TC_LOG_DEBUG, and WorldPackets::Guild::GuildInvite::Write().

◆ HandleLeaveMember()

◆ HandleMemberDepositMoney()

◆ HandleMemberLogout()

void Guild::HandleMemberLogout ( WorldSession *  session)

◆ HandleMemberWithdrawMoney()

◆ HandleNewsSetSticky()

◆ HandleQuery()

◆ HandleRemoveMember()

◆ HandleRemoveRank()

◆ HandleRoster()

void Guild::HandleRoster ( WorldSession *  session)

Definition at line 1331 of file Guild.cpp.

References _HasRankRight(), WorldPackets::Guild::GuildRosterMemberData::AreaID, WorldPackets::Guild::GuildRosterMemberData::Authenticated, WorldPackets::Guild::GuildRosterMemberData::ClassID, Battlenet::Services::Clubs::CreateClubMemberId(), WorldPackets::Guild::GuildRoster::CreateDate, WorldPackets::Guild::GuildRosterMemberData::Gender, WorldSession::GetPlayer(), WorldSession::GetPlayerInfo(), WorldSession::GetTimezoneOffset(), GetVirtualRealmAddress(), GR_RIGHT_VIEWOFFNOTE, WorldPackets::Guild::GuildRosterMemberData::Guid, WorldPackets::Guild::GuildRosterMemberData::GuildClubMemberID, WorldPackets::Guild::GuildRoster::GuildFlags, WorldPackets::Guild::GuildRosterMemberData::GuildReputation, WorldPackets::Guild::GuildRoster::InfoText, WorldPackets::Guild::GuildRosterMemberData::LastSave, WorldPackets::Guild::GuildRosterMemberData::Level, m_accountsNumber, m_createdDate, m_info, m_members, m_motd, WorldPackets::Guild::GuildRoster::MemberData, WorldPackets::Guild::GuildRosterMemberData::Name, WorldPackets::Guild::GuildRosterMemberData::Note, WorldPackets::Guild::GuildRoster::NumAccounts, WorldPackets::Guild::GuildRosterMemberData::OfficerNote, WorldPackets::Guild::GuildRosterMemberData::PersonalAchievementPoints, WorldPackets::Guild::GuildRosterMemberData::RaceID, WorldPackets::Guild::GuildRosterMemberData::RankID, WorldSession::SendPacket(), WowTime::SetUtcTimeFromUnixTime(), WorldPackets::Guild::GuildRosterMemberData::Status, TC_LOG_DEBUG, WorldPackets::Guild::GuildRosterMemberData::VirtualRealmAddress, WorldPackets::Guild::GuildRoster::WelcomeText, and WorldPackets::Guild::GuildRoster::Write().

◆ HandleSetAchievementTracking()

void Guild::HandleSetAchievementTracking ( WorldSession *  session,
uint32 const *  achievementIdsBegin,
uint32 const *  achievementIdsEnd 
)

◆ HandleSetBankTabInfo()

◆ HandleSetEmblem()

◆ HandleSetInfo()

◆ HandleSetMemberNote()

◆ HandleSetMemberRank()

◆ HandleSetMOTD()

◆ HandleSetNewGuildMaster()

◆ HandleSetRankInfo()

◆ HandleShiftRank()

◆ HandleUpdateMemberRank()

◆ HasAchieved()

bool Guild::HasAchieved ( uint32  achievementId) const

Definition at line 3780 of file Guild.cpp.

References GetAchievementMgr(), and AchievementMgr::HasAchieved().

Referenced by HandleSetAchievementTracking().

◆ HasAnyRankRight()

◆ IsMember()

bool Guild::IsMember ( ObjectGuid  guid) const

Definition at line 3035 of file Guild.cpp.

References m_members.

Referenced by HandleGuildPartyRequest().

◆ LoadBankEventLogFromDB()

◆ LoadBankItemFromDB()

bool Guild::LoadBankItemFromDB ( Field *  fields)

Definition at line 2646 of file Guild.cpp.

References _GetPurchasedTabsSize(), Field::GetUInt8(), m_bankTabs, and TC_LOG_ERROR.

◆ LoadBankRightFromDB()

void Guild::LoadBankRightFromDB ( Field *  fields)

Definition at line 2557 of file Guild.cpp.

References _SetRankBankTabRightsAndSlots().

◆ LoadBankTabFromDB()

void Guild::LoadBankTabFromDB ( Field *  fields)

Definition at line 2637 of file Guild.cpp.

References _GetPurchasedTabsSize(), Field::GetUInt8(), m_bankTabs, and TC_LOG_ERROR.

◆ LoadEventLogFromDB()

bool Guild::LoadEventLogFromDB ( Field *  fields)

Definition at line 2565 of file Guild.cpp.

References m_eventLog, and m_id.

◆ LoadFromDB()

◆ LoadGuildNewsLogFromDB()

void Guild::LoadGuildNewsLogFromDB ( Field *  fields)

Definition at line 2622 of file Guild.cpp.

References m_id, and m_newsLog.

◆ LoadMemberFromDB()

bool Guild::LoadMemberFromDB ( Field *  fields)

◆ LoadRankFromDB()

void Guild::LoadRankFromDB ( Field *  fields)

Definition at line 2523 of file Guild.cpp.

References Guild::RankInfo::LoadFromDB(), m_id, and m_ranks.

◆ MassInviteToEvent()

◆ OnPlayerStatusChange()

void Guild::OnPlayerStatusChange ( Player *  player,
uint32  flag,
bool  state 
)

Definition at line 1302 of file Guild.cpp.

References BaseEntity::GetGUID(), and GetMember().

◆ ResetTimes()

void Guild::ResetTimes ( bool  weekly)

◆ SaveToDB()

void Guild::SaveToDB ( )

Definition at line 1270 of file Guild.cpp.

References CharacterDatabase, GetAchievementMgr(), and GuildAchievementMgr::SaveToDB().

Referenced by HandleMemberLogout().

◆ SendBankList()

void Guild::SendBankList ( WorldSession *  session,
uint8  tabId,
bool  fullUpdate 
) const

Definition at line 3631 of file Guild.cpp.

References _GetMemberRemainingSlots(), _GetPurchasedTabsSize(), _MemberHasTabRights(), WorldPackets::Guild::GuildBankItemInfo::Charges, WorldPackets::Guild::GuildBankItemInfo::Count, WorldPackets::Guild::GuildBankItemInfo::EnchantmentID, WorldPackets::Guild::GuildBankItemInfo::Flags, WorldPackets::Guild::GuildBankQueryResults::FullUpdate, GetBankTab(), BaseEntity::GetGUID(), GetMember(), WorldSession::GetPlayer(), GUILD_BANK_MAX_SLOTS, GUILD_BANK_RIGHT_VIEW_TAB, WorldPackets::Guild::GuildBankTabInfo::Icon, WorldPackets::Item::ItemInstance::Initialize(), WorldPackets::Guild::GuildBankItemInfo::Item, WorldPackets::Item::ItemGemData::Item, WorldPackets::Guild::GuildBankQueryResults::ItemInfo, WorldPackets::Guild::GuildBankItemInfo::Locked, m_bankMoney, m_bankTabs, WorldPackets::Guild::GuildBankQueryResults::Money, WorldPackets::Guild::GuildBankTabInfo::Name, WorldPackets::Guild::GuildBankItemInfo::OnUseEnchantmentID, PERM_ENCHANTMENT_SLOT, WorldSession::SendPacket(), WorldPackets::Guild::GuildBankItemInfo::Slot, WorldPackets::Item::ItemGemData::Slot, WorldPackets::Guild::GuildBankItemInfo::SocketEnchant, WorldPackets::Guild::GuildBankQueryResults::Tab, WorldPackets::Guild::GuildBankTabInfo::TabIndex, WorldPackets::Guild::GuildBankQueryResults::TabInfo, USE_ENCHANTMENT_SLOT, WorldPackets::Guild::GuildBankQueryResults::WithdrawalsRemaining, and WorldPackets::Guild::GuildBankQueryResults::Write().

Referenced by WorldSession::HandleGuildBankActivate().

◆ SendBankLog()

◆ SendBankTabText()

void Guild::SendBankTabText ( WorldSession *  session,
uint8  tabId 
) const

Definition at line 2244 of file Guild.cpp.

References GetBankTab().

◆ SendCommandResult()

◆ SendEventAwayChanged()

◆ SendEventBankMoneyChanged()

◆ SendEventLog()

◆ SendEventMOTD()

void Guild::SendEventMOTD ( WorldSession *  session,
bool  broadcast = false 
) const

◆ SendEventNewLeader()

◆ SendEventPlayerLeft()

◆ SendEventPresenceChanged()

◆ SendGuildRankInfo()

◆ SendGuildRanksUpdate()

◆ SendLoginInfo()

◆ SendMoneyInfo()

◆ SendNewsUpdate()

◆ SendPermissions()

◆ SendSaveEmblemResult()

◆ SetBankTabText()

void Guild::SetBankTabText ( uint8  tabId,
std::string_view  text 
)

◆ SetName()

◆ SetWeakPtr()

void Guild::SetWeakPtr ( Trinity::unique_weak_ptr< Guild >  weakRef)
inline

Definition at line 879 of file Guild.h.

Referenced by GuildMgr::AddGuild().

◆ SwapItems()

◆ SwapItemsWithInventory()

◆ UpdateCriteria()

void Guild::UpdateCriteria ( CriteriaType  type,
uint64  miscValue1,
uint64  miscValue2,
uint64  miscValue3,
WorldObject const *  ref,
Player *  player 
)

Definition at line 3785 of file Guild.cpp.

References GetAchievementMgr(), and CriteriaHandler::UpdateCriteria().

◆ UpdateMemberData()

void Guild::UpdateMemberData ( Player *  player,
uint8  dataid,
uint32  value 
)

◆ Validate()

Member Data Documentation

◆ m_accountsNumber

uint32 Guild::m_accountsNumber
protected

Definition at line 890 of file Guild.h.

Referenced by _UpdateAccountsNumber(), and HandleRoster().

◆ m_achievementMgr

std::unique_ptr<GuildAchievementMgr> Guild::m_achievementMgr
protected

Definition at line 901 of file Guild.h.

◆ m_bankEventLog

std::array<LogHolder<BankEventLogEntry>, GUILD_BANK_MAX_TABS + 1> Guild::m_bankEventLog = {}
protected

Definition at line 899 of file Guild.h.

Referenced by _LogBankEvent(), LoadBankEventLogFromDB(), and SendBankLog().

◆ m_bankMoney

◆ m_bankTabs

std::vector<BankTab> Guild::m_bankTabs
protected

◆ m_createdDate

time_t Guild::m_createdDate
protected

Definition at line 887 of file Guild.h.

Referenced by Create(), HandleRoster(), and LoadFromDB().

◆ m_emblemInfo

EmblemInfo Guild::m_emblemInfo
protected

Definition at line 889 of file Guild.h.

Referenced by Create(), HandleInviteMember(), HandleQuery(), HandleSetEmblem(), and LoadFromDB().

◆ m_eventLog

LogHolder<EventLogEntry> Guild::m_eventLog
protected

Definition at line 898 of file Guild.h.

Referenced by _LogEvent(), LoadEventLogFromDB(), and SendEventLog().

◆ m_id

◆ m_info

std::string Guild::m_info
protected

Definition at line 886 of file Guild.h.

Referenced by Create(), HandleRoster(), HandleSetInfo(), and LoadFromDB().

◆ m_leaderGuid

ObjectGuid Guild::m_leaderGuid
protected

◆ m_members

◆ m_motd

std::string Guild::m_motd
protected

Definition at line 885 of file Guild.h.

Referenced by Create(), HandleRoster(), HandleSetMOTD(), and LoadFromDB().

◆ m_name

◆ m_newsLog

LogHolder<NewsLogEntry> Guild::m_newsLog
protected

Definition at line 900 of file Guild.h.

Referenced by AddGuildNews(), HandleNewsSetSticky(), LoadGuildNewsLogFromDB(), and SendNewsUpdate().

◆ m_ranks

◆ m_weakRef

Trinity::unique_weak_ptr<Guild> Guild::m_weakRef
protected

Definition at line 903 of file Guild.h.


The documentation for this class was generated from the following files: