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

Public Member Functions

 disable_commandscript ()
 
ChatCommandTable GetCommands () const override
 
virtual std::vector< Acore::ChatCommands::ChatCommandBuilderGetCommands () const =0
 
- Public Member Functions inherited from ScriptObject
virtual bool IsDatabaseBound () const
 
virtual bool isAfterLoadScript () const
 
virtual void checkValidity ()
 
const std::string & GetName () const
 

Static Public Member Functions

static bool HandleAddDisables (ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment, uint8 disableType)
 
static bool HandleAddDisableSpellCommand (ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
 
static bool HandleAddDisableQuestCommand (ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
 
static bool HandleAddDisableMapCommand (ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
 
static bool HandleAddDisableBattlegroundCommand (ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
 
static bool HandleAddDisableAchievementCriteriaCommand (ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
 
static bool HandleAddDisableOutdoorPvPCommand (ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
 
static bool HandleAddDisableVmapCommand (ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
 
static bool HandleRemoveDisables (ChatHandler *handler, uint32 entry, uint8 disableType)
 
static bool HandleRemoveDisableSpellCommand (ChatHandler *handler, uint32 entry)
 
static bool HandleRemoveDisableQuestCommand (ChatHandler *handler, uint32 entry)
 
static bool HandleRemoveDisableMapCommand (ChatHandler *handler, uint32 entry)
 
static bool HandleRemoveDisableBattlegroundCommand (ChatHandler *handler, uint32 entry)
 
static bool HandleRemoveDisableAchievementCriteriaCommand (ChatHandler *handler, uint32 entry)
 
static bool HandleRemoveDisableOutdoorPvPCommand (ChatHandler *handler, uint32 entry)
 
static bool HandleRemoveDisableVmapCommand (ChatHandler *handler, uint32 entry)
 

Additional Inherited Members

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

Detailed Description

Constructor & Destructor Documentation

◆ disable_commandscript()

disable_commandscript::disable_commandscript ( )
inline
40: CommandScript("disable_commandscript") { }
Definition: ScriptMgr.h:850

Member Function Documentation

◆ GetCommands()

ChatCommandTable disable_commandscript::GetCommands ( ) const
inlineoverridevirtual

Implements CommandScript.

43 {
44 static ChatCommandTable removeDisableCommandTable =
45 {
46 { "spell", HandleRemoveDisableSpellCommand, SEC_ADMINISTRATOR, Console::Yes },
47 { "quest", HandleRemoveDisableQuestCommand, SEC_ADMINISTRATOR, Console::Yes },
48 { "map", HandleRemoveDisableMapCommand, SEC_ADMINISTRATOR, Console::Yes },
49 { "battleground", HandleRemoveDisableBattlegroundCommand, SEC_ADMINISTRATOR, Console::Yes },
50 { "outdoorpvp", HandleRemoveDisableOutdoorPvPCommand, SEC_ADMINISTRATOR, Console::Yes },
51 { "vmap", HandleRemoveDisableVmapCommand, SEC_ADMINISTRATOR, Console::Yes }
52 };
53 static ChatCommandTable addDisableCommandTable =
54 {
55 { "spell", HandleAddDisableSpellCommand, SEC_ADMINISTRATOR, Console::Yes },
56 { "quest", HandleAddDisableQuestCommand, SEC_ADMINISTRATOR, Console::Yes },
57 { "map", HandleAddDisableMapCommand, SEC_ADMINISTRATOR, Console::Yes },
58 { "battleground", HandleAddDisableBattlegroundCommand, SEC_ADMINISTRATOR, Console::Yes },
59 { "outdoorpvp", HandleAddDisableOutdoorPvPCommand, SEC_ADMINISTRATOR, Console::Yes },
60 { "vmap", HandleAddDisableVmapCommand, SEC_ADMINISTRATOR, Console::Yes }
61 };
62 static ChatCommandTable disableCommandTable =
63 {
64 { "add", addDisableCommandTable },
65 { "remove", removeDisableCommandTable }
66 };
67 static ChatCommandTable commandTable =
68 {
69 { "disable", disableCommandTable }
70 };
71 return commandTable;
72 }
@ SEC_ADMINISTRATOR
Definition: Common.h:69
std::vector< ChatCommandBuilder > ChatCommandTable
Definition: ChatCommand.h:50
static bool HandleRemoveDisableOutdoorPvPCommand(ChatHandler *handler, uint32 entry)
Definition: cs_disable.cpp:284
static bool HandleAddDisableSpellCommand(ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
Definition: cs_disable.cpp:173
static bool HandleAddDisableOutdoorPvPCommand(ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
Definition: cs_disable.cpp:198
static bool HandleRemoveDisableQuestCommand(ChatHandler *handler, uint32 entry)
Definition: cs_disable.cpp:264
static bool HandleAddDisableBattlegroundCommand(ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
Definition: cs_disable.cpp:188
static bool HandleAddDisableQuestCommand(ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
Definition: cs_disable.cpp:178
static bool HandleRemoveDisableBattlegroundCommand(ChatHandler *handler, uint32 entry)
Definition: cs_disable.cpp:274
static bool HandleAddDisableVmapCommand(ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
Definition: cs_disable.cpp:204
static bool HandleRemoveDisableSpellCommand(ChatHandler *handler, uint32 entry)
Definition: cs_disable.cpp:259
static bool HandleRemoveDisableVmapCommand(ChatHandler *handler, uint32 entry)
Definition: cs_disable.cpp:289
static bool HandleRemoveDisableMapCommand(ChatHandler *handler, uint32 entry)
Definition: cs_disable.cpp:269
static bool HandleAddDisableMapCommand(ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment)
Definition: cs_disable.cpp:183

References HandleAddDisableBattlegroundCommand(), HandleAddDisableMapCommand(), HandleAddDisableOutdoorPvPCommand(), HandleAddDisableQuestCommand(), HandleAddDisableSpellCommand(), HandleAddDisableVmapCommand(), HandleRemoveDisableBattlegroundCommand(), HandleRemoveDisableMapCommand(), HandleRemoveDisableOutdoorPvPCommand(), HandleRemoveDisableQuestCommand(), HandleRemoveDisableSpellCommand(), HandleRemoveDisableVmapCommand(), and SEC_ADMINISTRATOR.

◆ HandleAddDisableAchievementCriteriaCommand()

static bool disable_commandscript::HandleAddDisableAchievementCriteriaCommand ( ChatHandler handler,
uint32  entry,
uint8  flags,
std::string  disableComment 
)
inlinestatic
194 {
195 return HandleAddDisables(handler, entry, flags, disableComment, DISABLE_TYPE_ACHIEVEMENT_CRITERIA);
196 }
@ DISABLE_TYPE_ACHIEVEMENT_CRITERIA
Definition: DisableMgr.h:33
static bool HandleAddDisables(ChatHandler *handler, uint32 entry, uint8 flags, std::string disableComment, uint8 disableType)
Definition: cs_disable.cpp:74

References DISABLE_TYPE_ACHIEVEMENT_CRITERIA, and HandleAddDisables().

◆ HandleAddDisableBattlegroundCommand()

static bool disable_commandscript::HandleAddDisableBattlegroundCommand ( ChatHandler handler,
uint32  entry,
uint8  flags,
std::string  disableComment 
)
inlinestatic
189 {
190 return HandleAddDisables(handler, entry, flags, disableComment, DISABLE_TYPE_BATTLEGROUND);
191 }
@ DISABLE_TYPE_BATTLEGROUND
Definition: DisableMgr.h:32

References DISABLE_TYPE_BATTLEGROUND, and HandleAddDisables().

Referenced by GetCommands().

◆ HandleAddDisableMapCommand()

static bool disable_commandscript::HandleAddDisableMapCommand ( ChatHandler handler,
uint32  entry,
uint8  flags,
std::string  disableComment 
)
inlinestatic
184 {
185 return HandleAddDisables(handler, entry, flags, disableComment, DISABLE_TYPE_MAP);
186 }
@ DISABLE_TYPE_MAP
Definition: DisableMgr.h:31

References DISABLE_TYPE_MAP, and HandleAddDisables().

Referenced by GetCommands().

◆ HandleAddDisableOutdoorPvPCommand()

static bool disable_commandscript::HandleAddDisableOutdoorPvPCommand ( ChatHandler handler,
uint32  entry,
uint8  flags,
std::string  disableComment 
)
inlinestatic
199 {
200 HandleAddDisables(handler, entry, flags, disableComment, DISABLE_TYPE_OUTDOORPVP);
201 return true;
202 }
@ DISABLE_TYPE_OUTDOORPVP
Definition: DisableMgr.h:34

References DISABLE_TYPE_OUTDOORPVP, and HandleAddDisables().

Referenced by GetCommands().

◆ HandleAddDisableQuestCommand()

static bool disable_commandscript::HandleAddDisableQuestCommand ( ChatHandler handler,
uint32  entry,
uint8  flags,
std::string  disableComment 
)
inlinestatic
179 {
180 return HandleAddDisables(handler, entry, flags, disableComment, DISABLE_TYPE_QUEST);
181 }
@ DISABLE_TYPE_QUEST
Definition: DisableMgr.h:30

References DISABLE_TYPE_QUEST, and HandleAddDisables().

Referenced by GetCommands().

◆ HandleAddDisables()

static bool disable_commandscript::HandleAddDisables ( ChatHandler handler,
uint32  entry,
uint8  flags,
std::string  disableComment,
uint8  disableType 
)
inlinestatic
75 {
76 std::string disableTypeStr = "";
77
78 switch (disableType)
79 {
81 {
82 if (!sSpellMgr->GetSpellInfo(entry))
83 {
85 handler->SetSentErrorMessage(true);
86 return false;
87 }
88 disableTypeStr = "spell";
89 break;
90 }
92 {
93 if (!sObjectMgr->GetQuestTemplate(entry))
94 {
96 handler->SetSentErrorMessage(true);
97 return false;
98 }
99 disableTypeStr = "quest";
100 break;
101 }
102 case DISABLE_TYPE_MAP:
103 {
104 if (!sMapStore.LookupEntry(entry))
105 {
107 handler->SetSentErrorMessage(true);
108 return false;
109 }
110 disableTypeStr = "map";
111 break;
112 }
114 {
115 if (!sBattlemasterListStore.LookupEntry(entry))
116 {
118 handler->SetSentErrorMessage(true);
119 return false;
120 }
121 disableTypeStr = "battleground";
122 break;
123 }
125 {
126 if (entry > MAX_OUTDOORPVP_TYPES)
127 {
129 handler->SetSentErrorMessage(true);
130 return false;
131 }
132 disableTypeStr = "outdoorpvp";
133 break;
134 }
136 {
137 if (!sMapStore.LookupEntry(entry))
138 {
140 handler->SetSentErrorMessage(true);
141 return false;
142 }
143 disableTypeStr = "vmap";
144 break;
145 }
146 default:
147 break;
148 }
149
150 WorldDatabasePreparedStatement* stmt = nullptr;
151 stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_DISABLES);
152 stmt->SetData(0, entry);
153 stmt->SetData(1, disableType);
154 PreparedQueryResult result = WorldDatabase.Query(stmt);
155 if (result)
156 {
157 handler->PSendSysMessage("This %s (Id: %u) is already disabled.", disableTypeStr.c_str(), entry);
158 handler->SetSentErrorMessage(true);
159 return false;
160 }
161
162 stmt = WorldDatabase.GetPreparedStatement(WORLD_INS_DISABLES);
163 stmt->SetData(0, entry);
164 stmt->SetData(1, disableType);
165 stmt->SetData(2, flags);
166 stmt->SetData(3, disableComment);
167 WorldDatabase.Execute(stmt);
168
169 handler->PSendSysMessage("Add Disabled %s (Id: %u) for reason %s", disableTypeStr.c_str(), entry, disableComment.c_str());
170 return true;
171 }
DatabaseWorkerPool< WorldDatabaseConnection > WorldDatabase
Accessor to the world database.
Definition: DatabaseEnv.cpp:20
std::shared_ptr< PreparedResultSet > PreparedQueryResult
Definition: DatabaseEnvFwd.h:46
@ WORLD_INS_DISABLES
Definition: WorldDatabase.h:97
@ WORLD_SEL_DISABLES
Definition: WorldDatabase.h:96
@ DISABLE_TYPE_SPELL
Definition: DisableMgr.h:29
@ DISABLE_TYPE_VMAP
Definition: DisableMgr.h:35
DBCStorage< BattlemasterListEntry > sBattlemasterListStore(BattlemasterListEntryfmt)
DBCStorage< MapEntry > sMapStore(MapEntryfmt)
#define sObjectMgr
Definition: ObjectMgr.h:1640
@ LANG_COMMAND_NOMAPFOUND
Definition: Language.h:1066
@ LANG_COMMAND_NO_BATTLEGROUND_FOUND
Definition: Language.h:1086
@ LANG_COMMAND_NOSPELLFOUND
Definition: Language.h:460
@ LANG_COMMAND_QUEST_NOTFOUND
Definition: Language.h:487
@ LANG_COMMAND_NO_OUTDOOR_PVP_FORUND
Definition: Language.h:1088
#define MAX_OUTDOORPVP_TYPES
Definition: OutdoorPvP.h:38
#define sSpellMgr
Definition: SpellMgr.h:818
Definition: PreparedStatement.h:158
Acore::Types::is_default< T > SetData(const uint8 index, T value)
Definition: PreparedStatement.h:78
void SetSentErrorMessage(bool val)
Definition: Chat.h:118
void PSendSysMessage(char const *fmt, Args &&... args)
Definition: Chat.h:60

References DISABLE_TYPE_BATTLEGROUND, DISABLE_TYPE_MAP, DISABLE_TYPE_OUTDOORPVP, DISABLE_TYPE_QUEST, DISABLE_TYPE_SPELL, DISABLE_TYPE_VMAP, LANG_COMMAND_NO_BATTLEGROUND_FOUND, LANG_COMMAND_NO_OUTDOOR_PVP_FORUND, LANG_COMMAND_NOMAPFOUND, LANG_COMMAND_NOSPELLFOUND, LANG_COMMAND_QUEST_NOTFOUND, MAX_OUTDOORPVP_TYPES, ChatHandler::PSendSysMessage(), sBattlemasterListStore, PreparedStatementBase::SetData(), ChatHandler::SetSentErrorMessage(), sMapStore, sObjectMgr, sSpellMgr, WORLD_INS_DISABLES, WORLD_SEL_DISABLES, and WorldDatabase.

Referenced by HandleAddDisableAchievementCriteriaCommand(), HandleAddDisableBattlegroundCommand(), HandleAddDisableMapCommand(), HandleAddDisableOutdoorPvPCommand(), HandleAddDisableQuestCommand(), HandleAddDisableSpellCommand(), and HandleAddDisableVmapCommand().

◆ HandleAddDisableSpellCommand()

static bool disable_commandscript::HandleAddDisableSpellCommand ( ChatHandler handler,
uint32  entry,
uint8  flags,
std::string  disableComment 
)
inlinestatic
174 {
175 return HandleAddDisables(handler, entry, flags, disableComment, DISABLE_TYPE_SPELL);
176 }

References DISABLE_TYPE_SPELL, and HandleAddDisables().

Referenced by GetCommands().

◆ HandleAddDisableVmapCommand()

static bool disable_commandscript::HandleAddDisableVmapCommand ( ChatHandler handler,
uint32  entry,
uint8  flags,
std::string  disableComment 
)
inlinestatic
205 {
206 return HandleAddDisables(handler, entry, flags, disableComment, DISABLE_TYPE_VMAP);
207 }

References DISABLE_TYPE_VMAP, and HandleAddDisables().

Referenced by GetCommands().

◆ HandleRemoveDisableAchievementCriteriaCommand()

static bool disable_commandscript::HandleRemoveDisableAchievementCriteriaCommand ( ChatHandler handler,
uint32  entry 
)
inlinestatic
280 {
282 }
static bool HandleRemoveDisables(ChatHandler *handler, uint32 entry, uint8 disableType)
Definition: cs_disable.cpp:209

References DISABLE_TYPE_ACHIEVEMENT_CRITERIA, and HandleRemoveDisables().

◆ HandleRemoveDisableBattlegroundCommand()

static bool disable_commandscript::HandleRemoveDisableBattlegroundCommand ( ChatHandler handler,
uint32  entry 
)
inlinestatic
275 {
276 return HandleRemoveDisables(handler, entry, DISABLE_TYPE_BATTLEGROUND);
277 }

References DISABLE_TYPE_BATTLEGROUND, and HandleRemoveDisables().

Referenced by GetCommands().

◆ HandleRemoveDisableMapCommand()

static bool disable_commandscript::HandleRemoveDisableMapCommand ( ChatHandler handler,
uint32  entry 
)
inlinestatic
270 {
271 return HandleRemoveDisables(handler, entry, DISABLE_TYPE_MAP);
272 }

References DISABLE_TYPE_MAP, and HandleRemoveDisables().

Referenced by GetCommands().

◆ HandleRemoveDisableOutdoorPvPCommand()

static bool disable_commandscript::HandleRemoveDisableOutdoorPvPCommand ( ChatHandler handler,
uint32  entry 
)
inlinestatic
285 {
286 return HandleRemoveDisables(handler, entry, DISABLE_TYPE_OUTDOORPVP);
287 }

References DISABLE_TYPE_OUTDOORPVP, and HandleRemoveDisables().

Referenced by GetCommands().

◆ HandleRemoveDisableQuestCommand()

static bool disable_commandscript::HandleRemoveDisableQuestCommand ( ChatHandler handler,
uint32  entry 
)
inlinestatic
265 {
266 return HandleRemoveDisables(handler, entry, DISABLE_TYPE_QUEST);
267 }

References DISABLE_TYPE_QUEST, and HandleRemoveDisables().

Referenced by GetCommands().

◆ HandleRemoveDisables()

static bool disable_commandscript::HandleRemoveDisables ( ChatHandler handler,
uint32  entry,
uint8  disableType 
)
inlinestatic
210 {
211 std::string disableTypeStr = "";
212
213 switch (disableType)
214 {
216 disableTypeStr = "spell";
217 break;
219 disableTypeStr = "quest";
220 break;
221 case DISABLE_TYPE_MAP:
222 disableTypeStr = "map";
223 break;
225 disableTypeStr = "battleground";
226 break;
228 disableTypeStr = "achievement criteria";
229 break;
231 disableTypeStr = "outdoorpvp";
232 break;
234 disableTypeStr = "vmap";
235 break;
236 }
237
238 WorldDatabasePreparedStatement* stmt = nullptr;
239 stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_DISABLES);
240 stmt->SetData(0, entry);
241 stmt->SetData(1, disableType);
242 PreparedQueryResult result = WorldDatabase.Query(stmt);
243 if (!result)
244 {
245 handler->PSendSysMessage("This %s (Id: %u) is not disabled.", disableTypeStr.c_str(), entry);
246 handler->SetSentErrorMessage(true);
247 return false;
248 }
249
250 stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_DISABLES);
251 stmt->SetData(0, entry);
252 stmt->SetData(1, disableType);
253 WorldDatabase.Execute(stmt);
254
255 handler->PSendSysMessage("Remove Disabled %s (Id: %u)", disableTypeStr.c_str(), entry);
256 return true;
257 }
@ WORLD_DEL_DISABLES
Definition: WorldDatabase.h:98

References DISABLE_TYPE_ACHIEVEMENT_CRITERIA, DISABLE_TYPE_BATTLEGROUND, DISABLE_TYPE_MAP, DISABLE_TYPE_OUTDOORPVP, DISABLE_TYPE_QUEST, DISABLE_TYPE_SPELL, DISABLE_TYPE_VMAP, ChatHandler::PSendSysMessage(), PreparedStatementBase::SetData(), ChatHandler::SetSentErrorMessage(), WORLD_DEL_DISABLES, WORLD_SEL_DISABLES, and WorldDatabase.

Referenced by HandleRemoveDisableAchievementCriteriaCommand(), HandleRemoveDisableBattlegroundCommand(), HandleRemoveDisableMapCommand(), HandleRemoveDisableOutdoorPvPCommand(), HandleRemoveDisableQuestCommand(), HandleRemoveDisableSpellCommand(), and HandleRemoveDisableVmapCommand().

◆ HandleRemoveDisableSpellCommand()

static bool disable_commandscript::HandleRemoveDisableSpellCommand ( ChatHandler handler,
uint32  entry 
)
inlinestatic
260 {
261 return HandleRemoveDisables(handler, entry, DISABLE_TYPE_SPELL);
262 }

References DISABLE_TYPE_SPELL, and HandleRemoveDisables().

Referenced by GetCommands().

◆ HandleRemoveDisableVmapCommand()

static bool disable_commandscript::HandleRemoveDisableVmapCommand ( ChatHandler handler,
uint32  entry 
)
inlinestatic
290 {
291 return HandleRemoveDisables(handler, entry, DISABLE_TYPE_VMAP);
292 }

References DISABLE_TYPE_VMAP, and HandleRemoveDisables().

Referenced by GetCommands().