TrinityCore
Guild.h File Reference
#include "Common.h"
#include "DatabaseEnvFwd.h"
#include "DBCEnums.h"
#include "ObjectGuid.h"
#include "Optional.h"
#include "RaceMask.h"
#include "SharedDefines.h"
#include "UniqueTrackablePtr.h"
#include <set>
#include <unordered_map>
+ Include dependency graph for Guild.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GuildReward
 
class  EmblemInfo
 
class  GuildBankRightsAndSlots
 
class  Guild
 
class  Guild::Member
 
class  Guild::LogEntry
 
class  Guild::EventLogEntry
 
class  Guild::BankEventLogEntry
 
class  Guild::NewsLogEntry
 
class  Guild::LogHolder< Entry >
 
class  Guild::RankInfo
 
class  Guild::BankTab
 
class  Guild::MoveItemData
 
class  Guild::PlayerMoveItemData
 
class  Guild::BankMoveItemData
 

Namespaces

namespace  WorldPackets
 
namespace  WorldPackets::Guild
 

Macros

#define GUILD_CHALLENGES_TYPES   6
 

Typedefs

using SlotIds = std::set< uint8 >
 

Enumerations

enum  GuildMisc {
  GUILD_BANK_MAX_TABS = 8 , GUILD_BANK_MAX_SLOTS = 98 , GUILD_BANK_MONEY_LOGS_TAB = 100 , GUILD_MASTER_DETHRONE_INACTIVE_DAYS = 90 ,
  GUILD_RANKS_MIN_COUNT = 2 , GUILD_RANKS_MAX_COUNT = 10 , GUILD_RANK_NONE = 0xFF , GUILD_WITHDRAW_MONEY_UNLIMITED = 0xFFFFFFFF ,
  GUILD_WITHDRAW_SLOT_UNLIMITED = 0xFFFFFFFF , GUILD_EVENT_LOG_GUID_UNDEFINED = 0xFFFFFFFF , TAB_UNDEFINED = 0xFF , GUILD_OLD_MAX_LEVEL = 25
}
 
enum  GuildMemberData { GUILD_MEMBER_DATA_ZONEID , GUILD_MEMBER_DATA_ACHIEVEMENT_POINTS , GUILD_MEMBER_DATA_LEVEL }
 
enum class  ClubRoleIdentifier : uint32 { Owner = 1 , Leader = 2 , Moderator = 3 , Member = 4 }
 
enum class  ClubStreamType : uint32 { General = 0 , Guild = 1 , Officer = 2 , Other = 3 }
 
enum class  GuildRankId : uint8 { GuildMaster = 0 }
 
enum class  GuildRankOrder : uint8
 
enum  GuildRankRights {
  GR_RIGHT_NONE = 0x00000000 , GR_RIGHT_GCHATLISTEN = 0x00000001 , GR_RIGHT_GCHATSPEAK = 0x00000002 , GR_RIGHT_OFFCHATLISTEN = 0x00000004 ,
  GR_RIGHT_OFFCHATSPEAK = 0x00000008 , GR_RIGHT_INVITE = 0x00000010 , GR_RIGHT_REMOVE = 0x00000020 , GR_RIGHT_ROSTER = 0x00000040 ,
  GR_RIGHT_PROMOTE = 0x00000080 , GR_RIGHT_DEMOTE = 0x00000100 , GR_RIGHT_UNK_200 = 0x00000200 , GR_RIGHT_UNK_400 = 0x00000400 ,
  GR_RIGHT_UNK_800 = 0x00000800 , GR_RIGHT_SETMOTD = 0x00001000 , GR_RIGHT_EDIT_PUBLIC_NOTE = 0x00002000 , GR_RIGHT_VIEWOFFNOTE = 0x00004000 ,
  GR_RIGHT_EOFFNOTE = 0x00008000 , GR_RIGHT_MODIFY_GUILD_INFO = 0x00010000 , GR_RIGHT_WITHDRAW_GOLD_LOCK = 0x00020000 , GR_RIGHT_WITHDRAW_REPAIR = 0x00040000 ,
  GR_RIGHT_WITHDRAW_GOLD = 0x00080000 , GR_RIGHT_CREATE_GUILD_EVENT = 0x00100000 , GR_RIGHT_ALL = 0x00DDFFBF
}
 
enum  GuildCommandType {
  GUILD_COMMAND_CREATE_GUILD = 0 , GUILD_COMMAND_INVITE_PLAYER = 1 , GUILD_COMMAND_LEAVE_GUILD = 3 , GUILD_COMMAND_GET_ROSTER = 5 ,
  GUILD_COMMAND_PROMOTE_PLAYER = 6 , GUILD_COMMAND_DEMOTE_PLAYER = 7 , GUILD_COMMAND_REMOVE_PLAYER = 8 , GUILD_COMMAND_CHANGE_LEADER = 10 ,
  GUILD_COMMAND_EDIT_MOTD = 11 , GUILD_COMMAND_GUILD_CHAT = 13 , GUILD_COMMAND_FOUNDER = 14 , GUILD_COMMAND_CHANGE_RANK = 16 ,
  GUILD_COMMAND_EDIT_PUBLIC_NOTE = 19 , GUILD_COMMAND_VIEW_TAB = 21 , GUILD_COMMAND_MOVE_ITEM = 22 , GUILD_COMMAND_REPAIR = 25
}
 
enum  GuildCommandError {
  ERR_GUILD_COMMAND_SUCCESS = 0 , ERR_GUILD_INTERNAL = 1 , ERR_ALREADY_IN_GUILD = 2 , ERR_ALREADY_IN_GUILD_S = 3 ,
  ERR_INVITED_TO_GUILD = 4 , ERR_ALREADY_INVITED_TO_GUILD_S = 5 , ERR_GUILD_NAME_INVALID = 6 , ERR_GUILD_NAME_EXISTS_S = 7 ,
  ERR_GUILD_LEADER_LEAVE = 8 , ERR_GUILD_PERMISSIONS = 8 , ERR_GUILD_PLAYER_NOT_IN_GUILD = 9 , ERR_GUILD_PLAYER_NOT_IN_GUILD_S = 10 ,
  ERR_GUILD_PLAYER_NOT_FOUND_S = 11 , ERR_GUILD_NOT_ALLIED = 12 , ERR_GUILD_RANK_TOO_HIGH_S = 13 , ERR_GUILD_RANK_TOO_LOW_S = 14 ,
  ERR_GUILD_RANKS_LOCKED = 17 , ERR_GUILD_RANK_IN_USE = 18 , ERR_GUILD_IGNORING_YOU_S = 19 , ERR_GUILD_UNK1 = 20 ,
  ERR_GUILD_WITHDRAW_LIMIT = 25 , ERR_GUILD_NOT_ENOUGH_MONEY = 26 , ERR_GUILD_BANK_FULL = 28 , ERR_GUILD_ITEM_NOT_FOUND = 29 ,
  ERR_GUILD_TOO_MUCH_MONEY = 31 , ERR_GUILD_BANK_WRONG_TAB = 32 , ERR_RANK_REQUIRES_AUTHENTICATOR = 34 , ERR_GUILD_BANK_VOUCHER_FAILED = 35 ,
  ERR_GUILD_TRIAL_ACCOUNT = 36 , ERR_GUILD_UNDELETABLE_DUE_TO_LEVEL = 37 , ERR_GUILD_MOVE_STARTING = 38 , ERR_GUILD_REP_TOO_LOW = 39
}
 
enum  GuildBankRights {
  GUILD_BANK_RIGHT_VIEW_TAB = 0x01 , GUILD_BANK_RIGHT_PUT_ITEM = 0x02 , GUILD_BANK_RIGHT_UPDATE_TEXT = 0x04 , GUILD_BANK_RIGHT_DEPOSIT_ITEM = GUILD_BANK_RIGHT_VIEW_TAB | GUILD_BANK_RIGHT_PUT_ITEM ,
  GUILD_BANK_RIGHT_FULL = -1
}
 
enum  GuildBankEventLogTypes {
  GUILD_BANK_LOG_DEPOSIT_ITEM = 1 , GUILD_BANK_LOG_WITHDRAW_ITEM = 2 , GUILD_BANK_LOG_MOVE_ITEM = 3 , GUILD_BANK_LOG_DEPOSIT_MONEY = 4 ,
  GUILD_BANK_LOG_WITHDRAW_MONEY = 5 , GUILD_BANK_LOG_REPAIR_MONEY = 6 , GUILD_BANK_LOG_MOVE_ITEM2 = 7 , GUILD_BANK_LOG_UNK1 = 8 ,
  GUILD_BANK_LOG_BUY_SLOT = 9 , GUILD_BANK_LOG_CASH_FLOW_DEPOSIT = 10
}
 
enum  GuildEventLogTypes {
  GUILD_EVENT_LOG_INVITE_PLAYER = 1 , GUILD_EVENT_LOG_JOIN_GUILD = 2 , GUILD_EVENT_LOG_PROMOTE_PLAYER = 3 , GUILD_EVENT_LOG_DEMOTE_PLAYER = 4 ,
  GUILD_EVENT_LOG_UNINVITE_PLAYER = 5 , GUILD_EVENT_LOG_LEAVE_GUILD = 6
}
 
enum  GuildEmblemError {
  ERR_GUILDEMBLEM_SUCCESS = 0 , ERR_GUILDEMBLEM_INVALID_TABARD_COLORS = 1 , ERR_GUILDEMBLEM_NOGUILD = 2 , ERR_GUILDEMBLEM_NOTGUILDMASTER = 3 ,
  ERR_GUILDEMBLEM_NOTENOUGHMONEY = 4 , ERR_GUILDEMBLEM_INVALIDVENDOR = 5
}
 
enum  GuildMemberFlags {
  GUILDMEMBER_STATUS_NONE = 0x0000 , GUILDMEMBER_STATUS_ONLINE = 0x0001 , GUILDMEMBER_STATUS_AFK = 0x0002 , GUILDMEMBER_STATUS_DND = 0x0004 ,
  GUILDMEMBER_STATUS_MOBILE = 0x0008
}
 
enum  GuildNews {
  GUILD_NEWS_GUILD_ACHIEVEMENT = 0 , GUILD_NEWS_PLAYER_ACHIEVEMENT = 1 , GUILD_NEWS_DUNGEON_ENCOUNTER = 2 , GUILD_NEWS_ITEM_LOOTED = 3 ,
  GUILD_NEWS_ITEM_CRAFTED = 4 , GUILD_NEWS_ITEM_PURCHASED = 5 , GUILD_NEWS_LEVEL_UP = 6 , GUILD_NEWS_CREATE = 7 ,
  GUILD_NEWS_EVENT = 8
}
 

Variables

constexpr uint64 GUILD_BANK_MONEY_LIMIT = UI64LIT(100000000000)
 
uint32 const MinNewsItemLevel = 353
 
const uint32 GuildChallengeGoldReward [GUILD_CHALLENGES_TYPES] = { 0, 250, 1000, 500, 250, 500 }
 
const uint32 GuildChallengeMaxLevelGoldReward [GUILD_CHALLENGES_TYPES] = { 0, 125, 500, 250, 125, 250 }
 
const uint32 GuildChallengesMaxCount [GUILD_CHALLENGES_TYPES] = { 0, 7, 1, 3, 0, 3 }
 

Macro Definition Documentation

◆ GUILD_CHALLENGES_TYPES

#define GUILD_CHALLENGES_TYPES   6

Definition at line 263 of file Guild.h.

Typedef Documentation

◆ SlotIds

using SlotIds = std::set<uint8>

Definition at line 326 of file Guild.h.

Enumeration Type Documentation

◆ ClubRoleIdentifier

enum class ClubRoleIdentifier : uint32
strong
Enumerator
Owner 
Leader 
Moderator 
Member 

Definition at line 78 of file Guild.h.

◆ ClubStreamType

enum class ClubStreamType : uint32
strong
Enumerator
General 
Guild 
Officer 
Other 

Definition at line 87 of file Guild.h.

◆ GuildBankEventLogTypes

Enumerator
GUILD_BANK_LOG_DEPOSIT_ITEM 
GUILD_BANK_LOG_WITHDRAW_ITEM 
GUILD_BANK_LOG_MOVE_ITEM 
GUILD_BANK_LOG_DEPOSIT_MONEY 
GUILD_BANK_LOG_WITHDRAW_MONEY 
GUILD_BANK_LOG_REPAIR_MONEY 
GUILD_BANK_LOG_MOVE_ITEM2 
GUILD_BANK_LOG_UNK1 
GUILD_BANK_LOG_BUY_SLOT 
GUILD_BANK_LOG_CASH_FLOW_DEPOSIT 

Definition at line 195 of file Guild.h.

◆ GuildBankRights

Enumerator
GUILD_BANK_RIGHT_VIEW_TAB 
GUILD_BANK_RIGHT_PUT_ITEM 
GUILD_BANK_RIGHT_UPDATE_TEXT 
GUILD_BANK_RIGHT_DEPOSIT_ITEM 
GUILD_BANK_RIGHT_FULL 

Definition at line 185 of file Guild.h.

◆ GuildCommandError

Enumerator
ERR_GUILD_COMMAND_SUCCESS 
ERR_GUILD_INTERNAL 
ERR_ALREADY_IN_GUILD 
ERR_ALREADY_IN_GUILD_S 
ERR_INVITED_TO_GUILD 
ERR_ALREADY_INVITED_TO_GUILD_S 
ERR_GUILD_NAME_INVALID 
ERR_GUILD_NAME_EXISTS_S 
ERR_GUILD_LEADER_LEAVE 
ERR_GUILD_PERMISSIONS 
ERR_GUILD_PLAYER_NOT_IN_GUILD 
ERR_GUILD_PLAYER_NOT_IN_GUILD_S 
ERR_GUILD_PLAYER_NOT_FOUND_S 
ERR_GUILD_NOT_ALLIED 
ERR_GUILD_RANK_TOO_HIGH_S 
ERR_GUILD_RANK_TOO_LOW_S 
ERR_GUILD_RANKS_LOCKED 
ERR_GUILD_RANK_IN_USE 
ERR_GUILD_IGNORING_YOU_S 
ERR_GUILD_UNK1 
ERR_GUILD_WITHDRAW_LIMIT 
ERR_GUILD_NOT_ENOUGH_MONEY 
ERR_GUILD_BANK_FULL 
ERR_GUILD_ITEM_NOT_FOUND 
ERR_GUILD_TOO_MUCH_MONEY 
ERR_GUILD_BANK_WRONG_TAB 
ERR_RANK_REQUIRES_AUTHENTICATOR 
ERR_GUILD_BANK_VOUCHER_FAILED 
ERR_GUILD_TRIAL_ACCOUNT 
ERR_GUILD_UNDELETABLE_DUE_TO_LEVEL 
ERR_GUILD_MOVE_STARTING 
ERR_GUILD_REP_TOO_LOW 

Definition at line 149 of file Guild.h.

◆ GuildCommandType

Enumerator
GUILD_COMMAND_CREATE_GUILD 
GUILD_COMMAND_INVITE_PLAYER 
GUILD_COMMAND_LEAVE_GUILD 
GUILD_COMMAND_GET_ROSTER 
GUILD_COMMAND_PROMOTE_PLAYER 
GUILD_COMMAND_DEMOTE_PLAYER 
GUILD_COMMAND_REMOVE_PLAYER 
GUILD_COMMAND_CHANGE_LEADER 
GUILD_COMMAND_EDIT_MOTD 
GUILD_COMMAND_GUILD_CHAT 
GUILD_COMMAND_FOUNDER 
GUILD_COMMAND_CHANGE_RANK 
GUILD_COMMAND_EDIT_PUBLIC_NOTE 
GUILD_COMMAND_VIEW_TAB 
GUILD_COMMAND_MOVE_ITEM 
GUILD_COMMAND_REPAIR 

Definition at line 129 of file Guild.h.

◆ GuildEmblemError

Enumerator
ERR_GUILDEMBLEM_SUCCESS 
ERR_GUILDEMBLEM_INVALID_TABARD_COLORS 
ERR_GUILDEMBLEM_NOGUILD 
ERR_GUILDEMBLEM_NOTGUILDMASTER 
ERR_GUILDEMBLEM_NOTENOUGHMONEY 
ERR_GUILDEMBLEM_INVALIDVENDOR 

Definition at line 219 of file Guild.h.

◆ GuildEventLogTypes

Enumerator
GUILD_EVENT_LOG_INVITE_PLAYER 
GUILD_EVENT_LOG_JOIN_GUILD 
GUILD_EVENT_LOG_PROMOTE_PLAYER 
GUILD_EVENT_LOG_DEMOTE_PLAYER 
GUILD_EVENT_LOG_UNINVITE_PLAYER 
GUILD_EVENT_LOG_LEAVE_GUILD 

Definition at line 209 of file Guild.h.

◆ GuildMemberData

Enumerator
GUILD_MEMBER_DATA_ZONEID 
GUILD_MEMBER_DATA_ACHIEVEMENT_POINTS 
GUILD_MEMBER_DATA_LEVEL 

Definition at line 70 of file Guild.h.

◆ GuildMemberFlags

Enumerator
GUILDMEMBER_STATUS_NONE 
GUILDMEMBER_STATUS_ONLINE 
GUILDMEMBER_STATUS_AFK 
GUILDMEMBER_STATUS_DND 
GUILDMEMBER_STATUS_MOBILE 

Definition at line 229 of file Guild.h.

◆ GuildMisc

enum GuildMisc
Enumerator
GUILD_BANK_MAX_TABS 
GUILD_BANK_MAX_SLOTS 
GUILD_BANK_MONEY_LOGS_TAB 
GUILD_MASTER_DETHRONE_INACTIVE_DAYS 
GUILD_RANKS_MIN_COUNT 
GUILD_RANKS_MAX_COUNT 
GUILD_RANK_NONE 
GUILD_WITHDRAW_MONEY_UNLIMITED 
GUILD_WITHDRAW_SLOT_UNLIMITED 
GUILD_EVENT_LOG_GUID_UNDEFINED 
TAB_UNDEFINED 
GUILD_OLD_MAX_LEVEL 

Definition at line 52 of file Guild.h.

◆ GuildNews

enum GuildNews
Enumerator
GUILD_NEWS_GUILD_ACHIEVEMENT 
GUILD_NEWS_PLAYER_ACHIEVEMENT 
GUILD_NEWS_DUNGEON_ENCOUNTER 
GUILD_NEWS_ITEM_LOOTED 
GUILD_NEWS_ITEM_CRAFTED 
GUILD_NEWS_ITEM_PURCHASED 
GUILD_NEWS_LEVEL_UP 
GUILD_NEWS_CREATE 
GUILD_NEWS_EVENT 

Definition at line 238 of file Guild.h.

◆ GuildRankId

enum class GuildRankId : uint8
strong
Enumerator
GuildMaster 

Definition at line 95 of file Guild.h.

◆ GuildRankOrder

enum class GuildRankOrder : uint8
strong

Definition at line 100 of file Guild.h.

◆ GuildRankRights

Enumerator
GR_RIGHT_NONE 
GR_RIGHT_GCHATLISTEN 
GR_RIGHT_GCHATSPEAK 
GR_RIGHT_OFFCHATLISTEN 
GR_RIGHT_OFFCHATSPEAK 
GR_RIGHT_INVITE 
GR_RIGHT_REMOVE 
GR_RIGHT_ROSTER 
GR_RIGHT_PROMOTE 
GR_RIGHT_DEMOTE 
GR_RIGHT_UNK_200 
GR_RIGHT_UNK_400 
GR_RIGHT_UNK_800 
GR_RIGHT_SETMOTD 
GR_RIGHT_EDIT_PUBLIC_NOTE 
GR_RIGHT_VIEWOFFNOTE 
GR_RIGHT_EOFFNOTE 
GR_RIGHT_MODIFY_GUILD_INFO 
GR_RIGHT_WITHDRAW_GOLD_LOCK 
GR_RIGHT_WITHDRAW_REPAIR 
GR_RIGHT_WITHDRAW_GOLD 
GR_RIGHT_CREATE_GUILD_EVENT 
GR_RIGHT_ALL 

Definition at line 102 of file Guild.h.

Variable Documentation

◆ GUILD_BANK_MONEY_LIMIT

constexpr uint64 GUILD_BANK_MONEY_LIMIT = UI64LIT(100000000000)
constexpr

Definition at line 68 of file Guild.h.

◆ GuildChallengeGoldReward

const uint32 GuildChallengeGoldReward[GUILD_CHALLENGES_TYPES] = { 0, 250, 1000, 500, 250, 500 }

Definition at line 265 of file Guild.h.

◆ GuildChallengeMaxLevelGoldReward

const uint32 GuildChallengeMaxLevelGoldReward[GUILD_CHALLENGES_TYPES] = { 0, 125, 500, 250, 125, 250 }

Definition at line 266 of file Guild.h.

◆ GuildChallengesMaxCount

const uint32 GuildChallengesMaxCount[GUILD_CHALLENGES_TYPES] = { 0, 7, 1, 3, 0, 3 }

Definition at line 267 of file Guild.h.

◆ MinNewsItemLevel

uint32 const MinNewsItemLevel = 353

Definition at line 260 of file Guild.h.