mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-14 09:39:11 +00:00
feat(Scripts/Commands): .aura stack - Modify aura stacks (#19462)
* feat(Scripts/Commands): .aurastack - Modify aura stacks
* aura stack
* remove aur check
* {}
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
---------
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
This commit is contained in:
@@ -87,12 +87,18 @@ public:
|
||||
|
||||
ChatCommandTable GetCommands() const override
|
||||
{
|
||||
static ChatCommandTable auraCommandTable =
|
||||
{
|
||||
{ "stack", HandleAuraStacksCommand, SEC_GAMEMASTER, Console::No },
|
||||
{ "", HandleAuraCommand, SEC_GAMEMASTER, Console::No }
|
||||
};
|
||||
|
||||
static ChatCommandTable commandTable =
|
||||
{
|
||||
{ "commentator", HandleCommentatorCommand, SEC_MODERATOR, Console::No },
|
||||
{ "dev", HandleDevCommand, SEC_ADMINISTRATOR, Console::No },
|
||||
{ "gps", HandleGPSCommand, SEC_MODERATOR, Console::No },
|
||||
{ "aura", HandleAuraCommand, SEC_GAMEMASTER, Console::No },
|
||||
{ "aura", auraCommandTable },
|
||||
{ "unaura", HandleUnAuraCommand, SEC_GAMEMASTER, Console::No },
|
||||
{ "appear", HandleAppearCommand, SEC_MODERATOR, Console::No },
|
||||
{ "summon", HandleSummonCommand, SEC_GAMEMASTER, Console::No },
|
||||
@@ -129,7 +135,7 @@ public:
|
||||
{ "cometome", HandleComeToMeCommand, SEC_ADMINISTRATOR, Console::No },
|
||||
{ "damage", HandleDamageCommand, SEC_GAMEMASTER, Console::No },
|
||||
{ "combatstop", HandleCombatStopCommand, SEC_GAMEMASTER, Console::Yes },
|
||||
{ "flusharenapoints", HandleFlushArenaPointsCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "flusharenapoints", HandleFlushArenaPointsCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "freeze", HandleFreezeCommand, SEC_GAMEMASTER, Console::No },
|
||||
{ "unfreeze", HandleUnFreezeCommand, SEC_GAMEMASTER, Console::No },
|
||||
{ "possess", HandlePossessCommand, SEC_GAMEMASTER, Console::No },
|
||||
@@ -653,6 +659,51 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleAuraStacksCommand(ChatHandler* handler, SpellInfo const* spell, int16 stacks)
|
||||
{
|
||||
if (!spell)
|
||||
{
|
||||
handler->SendErrorMessage(LANG_COMMAND_NOSPELLFOUND);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!SpellMgr::IsSpellValid(spell))
|
||||
{
|
||||
handler->SendErrorMessage(LANG_COMMAND_SPELL_BROKEN, spell->Id);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!stacks)
|
||||
{
|
||||
handler->SendErrorMessage(LANG_COMMAND_AURASTACK_NO_STACK);
|
||||
return false;
|
||||
}
|
||||
|
||||
Unit* target = handler->getSelectedUnit();
|
||||
if (!target)
|
||||
{
|
||||
handler->SendErrorMessage(LANG_SELECT_CHAR_OR_CREATURE);
|
||||
return false;
|
||||
}
|
||||
|
||||
Aura* aur = target->GetAura(spell->Id);
|
||||
if (!aur)
|
||||
{
|
||||
handler->SendErrorMessage(LANG_COMMAND_AURASTACK_NO_AURA, spell->Id);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!spell->StackAmount)
|
||||
{
|
||||
handler->SendErrorMessage(LANG_COMMAND_AURASTACK_CANT_STACK, spell->Id);
|
||||
return false;
|
||||
}
|
||||
|
||||
aur->ModStackAmount(stacks);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleUnAuraCommand(ChatHandler* handler, Variant<SpellInfo const*, std::string_view> spells)
|
||||
{
|
||||
Unit* target = handler->getSelectedUnit();
|
||||
|
||||
Reference in New Issue
Block a user