AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
lfg_commandscript Class Reference
Inheritance diagram for lfg_commandscript:
CommandScript ScriptObject

Public Member Functions

 lfg_commandscript ()
 
ChatCommandTable GetCommands () const override
 
- Public Member Functions inherited from ScriptObject
virtual bool IsDatabaseBound () const
 
virtual bool isAfterLoadScript () const
 
virtual void checkValidity ()
 
const std::string & GetName () const
 
uint16 GetTotalAvailableHooks ()
 

Static Public Member Functions

static bool HandleLfgPlayerInfoCommand (ChatHandler *handler, Optional< PlayerIdentifier > player)
 
static bool HandleLfgGroupInfoCommand (ChatHandler *handler, Optional< PlayerIdentifier > player)
 
static bool HandleLfgOptionsCommand (ChatHandler *handler, Optional< uint32 > optionsArg)
 
static bool HandleLfgQueueInfoCommand (ChatHandler *)
 
static bool HandleLfgCleanCommand (ChatHandler *handler)
 
static bool HandleLfgCooldownClearCommand (ChatHandler *handler)
 

Additional Inherited Members

- Protected Member Functions inherited from CommandScript
 CommandScript (const char *name)
 
- Protected Member Functions inherited from ScriptObject
 ScriptObject (const char *name, uint16 totalAvailableHooks=0)
 
virtual ~ScriptObject ()=default
 

Detailed Description

Constructor & Destructor Documentation

◆ lfg_commandscript()

lfg_commandscript::lfg_commandscript ( )
inline
45: CommandScript("lfg_commandscript") { }
Definition CommandScript.h:25

Member Function Documentation

◆ GetCommands()

ChatCommandTable lfg_commandscript::GetCommands ( ) const
inlineoverridevirtual

Implements CommandScript.

48 {
49 static ChatCommandTable lfgCommandTable =
50 {
57 };
58
59 static ChatCommandTable commandTable =
60 {
61 { "lfg", lfgCommandTable },
62 };
63 return commandTable;
64 }
static bool HandleLfgCooldownClearCommand(ChatHandler *handler)
Definition cs_lfg.cpp:132
static bool HandleLfgGroupInfoCommand(ChatHandler *handler, Optional< PlayerIdentifier > player)
Definition cs_lfg.cpp:82
static bool HandleLfgQueueInfoCommand(ChatHandler *)
Definition cs_lfg.cpp:120
static bool HandleLfgOptionsCommand(ChatHandler *handler, Optional< uint32 > optionsArg)
Definition cs_lfg.cpp:109
static bool HandleLfgCleanCommand(ChatHandler *handler)
Definition cs_lfg.cpp:125
static bool HandleLfgPlayerInfoCommand(ChatHandler *handler, Optional< PlayerIdentifier > player)
Definition cs_lfg.cpp:66
std::vector< ChatCommandBuilder > ChatCommandTable
Definition ChatCommand.h:46
@ RBAC_PERM_COMMAND_LFG_OPTIONS
Definition RBAC.h:267
@ RBAC_PERM_COMMAND_LFG_GROUP
Definition RBAC.h:264
@ RBAC_PERM_COMMAND_LFG_PLAYER
Definition RBAC.h:263
@ RBAC_PERM_COMMAND_LFG_COOLDOWN
Definition RBAC.h:268
@ RBAC_PERM_COMMAND_LFG_QUEUE
Definition RBAC.h:265
@ RBAC_PERM_COMMAND_LFG_CLEAN
Definition RBAC.h:266

References HandleLfgCleanCommand(), HandleLfgCooldownClearCommand(), HandleLfgGroupInfoCommand(), HandleLfgOptionsCommand(), HandleLfgPlayerInfoCommand(), HandleLfgQueueInfoCommand(), rbac::RBAC_PERM_COMMAND_LFG_CLEAN, rbac::RBAC_PERM_COMMAND_LFG_COOLDOWN, rbac::RBAC_PERM_COMMAND_LFG_GROUP, rbac::RBAC_PERM_COMMAND_LFG_OPTIONS, rbac::RBAC_PERM_COMMAND_LFG_PLAYER, and rbac::RBAC_PERM_COMMAND_LFG_QUEUE.

◆ HandleLfgCleanCommand()

static bool lfg_commandscript::HandleLfgCleanCommand ( ChatHandler handler)
inlinestatic
126 {
128 sLFGMgr->Clean();
129 return true;
130 }
#define sLFGMgr
Definition LFGMgr.h:658
@ LANG_LFG_CLEAN
Definition Language.h:1262
void PSendSysMessage(std::string_view str, bool escapeCharacters=false)
Definition Chat.cpp:219

References LANG_LFG_CLEAN, ChatHandler::PSendSysMessage(), and sLFGMgr.

Referenced by GetCommands().

◆ HandleLfgCooldownClearCommand()

static bool lfg_commandscript::HandleLfgCooldownClearCommand ( ChatHandler handler)
inlinestatic
133 {
134 sLFGMgr->ClearDungeonCooldowns();
136 return true;
137 }
@ LANG_LFG_COOLDOWN_CLEARED
Definition Language.h:1396
virtual void SendSysMessage(std::string_view str, bool escapeCharacters=false)
Definition Chat.cpp:168

References LANG_LFG_COOLDOWN_CLEARED, ChatHandler::SendSysMessage(), and sLFGMgr.

Referenced by GetCommands().

◆ HandleLfgGroupInfoCommand()

static bool lfg_commandscript::HandleLfgGroupInfoCommand ( ChatHandler handler,
Optional< PlayerIdentifier player 
)
inlinestatic
83 {
84 if (!player)
85 player = PlayerIdentifier::FromTargetOrSelf(handler);
86 if (!player)
87 return false;
88
89 Group* groupTarget = nullptr;
90 if (Player* target = player->GetConnectedPlayer())
91 groupTarget = target->GetGroup();
92 if (!groupTarget)
93 {
94 handler->PSendSysMessage(LANG_LFG_NOT_IN_GROUP, player->GetName());
95 return true;
96 }
97
98 ObjectGuid guid = groupTarget->GetGUID();
99 std::string const& state = lfg::GetStateString(sLFGMgr->GetState(guid));
100 handler->PSendSysMessage(LANG_LFG_GROUP_INFO, groupTarget->isLFGGroup(),
101 state, sLFGMgr->GetDungeon(guid));
102
103 for (GroupReference* itr = groupTarget->GetFirstMember(); itr != nullptr; itr = itr->next())
104 GetPlayerInfo(handler, itr->GetSource());
105
106 return true;
107 }
@ LANG_LFG_NOT_IN_GROUP
Definition Language.h:1261
@ LANG_LFG_GROUP_INFO
Definition Language.h:1260
Definition GroupReference.h:27
Definition Group.h:169
bool isLFGGroup(bool restricted=false) const
Definition Group.cpp:2278
ObjectGuid GetGUID() const
Definition Group.cpp:2319
GroupReference * GetFirstMember()
Definition Group.h:243
Definition ObjectGuid.h:118
Definition Player.h:1084
void GetPlayerInfo(ChatHandler *handler, Player *player)
Definition cs_lfg.cpp:26
std::string GetStateString(LfgState state)
Definition LFG.cpp:73
static Optional< PlayerIdentifier > FromTargetOrSelf(ChatHandler *handler)
Definition ChatCommandTags.h:189

References Acore::ChatCommands::PlayerIdentifier::FromTargetOrSelf(), Group::GetFirstMember(), Group::GetGUID(), GetPlayerInfo(), lfg::GetStateString(), Group::isLFGGroup(), LANG_LFG_GROUP_INFO, LANG_LFG_NOT_IN_GROUP, ChatHandler::PSendSysMessage(), and sLFGMgr.

Referenced by GetCommands().

◆ HandleLfgOptionsCommand()

static bool lfg_commandscript::HandleLfgOptionsCommand ( ChatHandler handler,
Optional< uint32 optionsArg 
)
inlinestatic
110 {
111 if (optionsArg)
112 {
113 sLFGMgr->SetOptions(*optionsArg);
115 }
116 handler->PSendSysMessage(LANG_LFG_OPTIONS, sLFGMgr->GetOptions());
117 return true;
118 }
@ LANG_LFG_OPTIONS
Definition Language.h:1263
@ LANG_LFG_OPTIONS_CHANGED
Definition Language.h:1264

References LANG_LFG_OPTIONS, LANG_LFG_OPTIONS_CHANGED, ChatHandler::PSendSysMessage(), and sLFGMgr.

Referenced by GetCommands().

◆ HandleLfgPlayerInfoCommand()

static bool lfg_commandscript::HandleLfgPlayerInfoCommand ( ChatHandler handler,
Optional< PlayerIdentifier player 
)
inlinestatic
67 {
68 if (!player)
69 player = PlayerIdentifier::FromTargetOrSelf(handler);
70 if (!player)
71 return false;
72
73 if (Player* target = player->GetConnectedPlayer())
74 {
75 GetPlayerInfo(handler, target);
76 return true;
77 }
78
79 return false;
80 }

References Acore::ChatCommands::PlayerIdentifier::FromTargetOrSelf(), and GetPlayerInfo().

Referenced by GetCommands().

◆ HandleLfgQueueInfoCommand()

static bool lfg_commandscript::HandleLfgQueueInfoCommand ( ChatHandler )
inlinestatic
121 {
122 return true;
123 }

Referenced by GetCommands().


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