refactor(Scripts/Commands): Convert cs_spectator to new system (#8811)
This commit is contained in:
committed by
GitHub
parent
2a2c38fbc2
commit
0a2c7a3756
@@ -25,22 +25,16 @@
|
|||||||
#include "SpellAuras.h"
|
#include "SpellAuras.h"
|
||||||
#include "World.h"
|
#include "World.h"
|
||||||
|
|
||||||
bool ArenaSpectator::HandleSpectatorSpectateCommand(ChatHandler* handler, char const* args)
|
bool ArenaSpectator::HandleSpectatorSpectateCommand(ChatHandler* handler, std::string const& name)
|
||||||
{
|
{
|
||||||
Player* player = handler->GetSession()->GetPlayer();
|
Player* player = handler->GetSession()->GetPlayer();
|
||||||
std::list<std::string> errors;
|
std::list<std::string> errors;
|
||||||
|
|
||||||
if (!*args)
|
|
||||||
{
|
|
||||||
handler->SendSysMessage("Missing player name.");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player->IsSpectator())
|
if (player->IsSpectator())
|
||||||
{
|
{
|
||||||
if (player->FindMap() && player->FindMap()->IsBattleArena())
|
if (player->FindMap() && player->FindMap()->IsBattleArena())
|
||||||
{
|
{
|
||||||
HandleSpectatorWatchCommand(handler, args);
|
HandleSpectatorWatchCommand(handler, name);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
handler->PSendSysMessage("You are already spectacting arena.");
|
handler->PSendSysMessage("You are already spectacting arena.");
|
||||||
@@ -53,7 +47,6 @@ bool ArenaSpectator::HandleSpectatorSpectateCommand(ChatHandler* handler, char c
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string name = std::string(args);
|
|
||||||
Player* spectate = ObjectAccessor::FindPlayerByName(name);
|
Player* spectate = ObjectAccessor::FindPlayerByName(name);
|
||||||
if (!spectate)
|
if (!spectate)
|
||||||
{
|
{
|
||||||
@@ -180,11 +173,8 @@ bool ArenaSpectator::HandleSpectatorSpectateCommand(ChatHandler* handler, char c
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ArenaSpectator::HandleSpectatorWatchCommand(ChatHandler* handler, char const* args)
|
bool ArenaSpectator::HandleSpectatorWatchCommand(ChatHandler* handler, std::string const& name)
|
||||||
{
|
{
|
||||||
if (!*args)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
Player* player = handler->GetSession()->GetPlayer();
|
Player* player = handler->GetSession()->GetPlayer();
|
||||||
if (!player->IsSpectator())
|
if (!player->IsSpectator())
|
||||||
return true;
|
return true;
|
||||||
@@ -196,7 +186,6 @@ bool ArenaSpectator::HandleSpectatorWatchCommand(ChatHandler* handler, char cons
|
|||||||
if (!bg || bg->GetStatus() != STATUS_IN_PROGRESS)
|
if (!bg || bg->GetStatus() != STATUS_IN_PROGRESS)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
std::string name = std::string(args);
|
|
||||||
Player* spectate = ObjectAccessor::FindPlayerByName(name);
|
Player* spectate = ObjectAccessor::FindPlayerByName(name);
|
||||||
if (!spectate || !spectate->IsAlive() || spectate->IsSpectator() || spectate->GetGUID() == player->GetGUID() || !spectate->IsInWorld() || !spectate->FindMap() || spectate->IsBeingTeleported() || spectate->FindMap() != player->FindMap() || !bg->IsPlayerInBattleground(spectate->GetGUID()))
|
if (!spectate || !spectate->IsAlive() || spectate->IsSpectator() || spectate->GetGUID() == player->GetGUID() || !spectate->IsInWorld() || !spectate->FindMap() || spectate->IsBeingTeleported() || spectate->FindMap() != player->FindMap() || !bg->IsPlayerInBattleground(spectate->GetGUID()))
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -107,8 +107,8 @@ namespace ArenaSpectator
|
|||||||
SendCommand(o, "%s0x%016llX;%s=%u,%u,%i,%i,%u,%u,%u,0x%016llX;", SPECTATOR_ADDON_PREFIX, targetGUID.GetRawValue(), prefix, remove ? 1 : 0, stack, dur, maxdur, id, dispel, isDebuff ? 1 : 0, caster.GetRawValue());
|
SendCommand(o, "%s0x%016llX;%s=%u,%u,%i,%i,%u,%u,%u,0x%016llX;", SPECTATOR_ADDON_PREFIX, targetGUID.GetRawValue(), prefix, remove ? 1 : 0, stack, dur, maxdur, id, dispel, isDebuff ? 1 : 0, caster.GetRawValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
AC_GAME_API bool HandleSpectatorSpectateCommand(ChatHandler* handler, char const* args);
|
AC_GAME_API bool HandleSpectatorSpectateCommand(ChatHandler* handler, std::string const& name);
|
||||||
AC_GAME_API bool HandleSpectatorWatchCommand(ChatHandler* handler, char const* args);
|
AC_GAME_API bool HandleSpectatorWatchCommand(ChatHandler* handler, std::string const& name);
|
||||||
AC_GAME_API void CreatePacket(WorldPacket& data, std::string const& message);
|
AC_GAME_API void CreatePacket(WorldPacket& data, std::string const& message);
|
||||||
AC_GAME_API void HandleResetCommand(Player* player);
|
AC_GAME_API void HandleResetCommand(Player* player);
|
||||||
AC_GAME_API bool ShouldSendAura(Aura* aura, uint8 effMask, ObjectGuid targetGUID, bool remove);
|
AC_GAME_API bool ShouldSendAura(Aura* aura, uint8 effMask, ObjectGuid targetGUID, bool remove);
|
||||||
|
|||||||
@@ -23,10 +23,6 @@
|
|||||||
#include "ScriptMgr.h"
|
#include "ScriptMgr.h"
|
||||||
#include "World.h"
|
#include "World.h"
|
||||||
|
|
||||||
#if AC_COMPILER == AC_COMPILER_GNU
|
|
||||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
using namespace Acore::ChatCommands;
|
using namespace Acore::ChatCommands;
|
||||||
|
|
||||||
class spectator_commandscript : public CommandScript
|
class spectator_commandscript : public CommandScript
|
||||||
@@ -38,21 +34,21 @@ public:
|
|||||||
{
|
{
|
||||||
static ChatCommandTable spectatorCommandTable =
|
static ChatCommandTable spectatorCommandTable =
|
||||||
{
|
{
|
||||||
{ "version", SEC_PLAYER, false, &HandleSpectatorVersionCommand, "" },
|
{ "version", HandleSpectatorVersionCommand, SEC_PLAYER, Console::No },
|
||||||
{ "reset", SEC_PLAYER, false, &HandleSpectatorResetCommand, "" },
|
{ "reset", HandleSpectatorResetCommand, SEC_PLAYER, Console::No },
|
||||||
{ "spectate", SEC_PLAYER, false, &HandleSpectatorSpectateCommand, "" },
|
{ "spectate", HandleSpectatorSpectateCommand, SEC_PLAYER, Console::No },
|
||||||
{ "watch", SEC_PLAYER, false, &HandleSpectatorWatchCommand, "" },
|
{ "watch", HandleSpectatorWatchCommand, SEC_PLAYER, Console::No },
|
||||||
{ "leave", SEC_PLAYER, false, &HandleSpectatorLeaveCommand, "" },
|
{ "leave", HandleSpectatorLeaveCommand, SEC_PLAYER, Console::No },
|
||||||
{ "", SEC_PLAYER, false, &HandleSpectatorCommand, "" }
|
{ "", HandleSpectatorCommand, SEC_PLAYER, Console::No }
|
||||||
};
|
};
|
||||||
static ChatCommandTable commandTable =
|
static ChatCommandTable commandTable =
|
||||||
{
|
{
|
||||||
{ "spect", SEC_PLAYER, false, nullptr, "", spectatorCommandTable }
|
{ "spect", spectatorCommandTable }
|
||||||
};
|
};
|
||||||
return commandTable;
|
return commandTable;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HandleSpectatorCommand(ChatHandler* handler, char const* /*args*/)
|
static bool HandleSpectatorCommand(ChatHandler* handler)
|
||||||
{
|
{
|
||||||
handler->PSendSysMessage("Incorrect syntax.");
|
handler->PSendSysMessage("Incorrect syntax.");
|
||||||
handler->PSendSysMessage("Command has subcommands:");
|
handler->PSendSysMessage("Command has subcommands:");
|
||||||
@@ -61,14 +57,14 @@ public:
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HandleSpectatorVersionCommand(ChatHandler* handler, char const* args)
|
static bool HandleSpectatorVersionCommand(ChatHandler* handler, uint16 version)
|
||||||
{
|
{
|
||||||
if (atoi(args) < SPECTATOR_ADDON_VERSION)
|
if (version < SPECTATOR_ADDON_VERSION)
|
||||||
ArenaSpectator::SendCommand(handler->GetSession()->GetPlayer(), "%sOUTDATED", SPECTATOR_ADDON_PREFIX);
|
ArenaSpectator::SendCommand(handler->GetSession()->GetPlayer(), "%sOUTDATED", SPECTATOR_ADDON_PREFIX);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HandleSpectatorResetCommand(ChatHandler* handler, char const* /*args*/)
|
static bool HandleSpectatorResetCommand(ChatHandler* handler)
|
||||||
{
|
{
|
||||||
Player* p = handler->GetSession()->GetPlayer();
|
Player* p = handler->GetSession()->GetPlayer();
|
||||||
if (!p->IsSpectator())
|
if (!p->IsSpectator())
|
||||||
@@ -77,7 +73,7 @@ public:
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HandleSpectatorLeaveCommand(ChatHandler* handler, char const* /*args*/)
|
static bool HandleSpectatorLeaveCommand(ChatHandler* handler)
|
||||||
{
|
{
|
||||||
Player* player = handler->GetSession()->GetPlayer();
|
Player* player = handler->GetSession()->GetPlayer();
|
||||||
if (!player->IsSpectator() || !player->FindMap() || !player->FindMap()->IsBattleArena())
|
if (!player->IsSpectator() || !player->FindMap() || !player->FindMap()->IsBattleArena())
|
||||||
@@ -91,17 +87,17 @@ public:
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HandleSpectatorSpectateCommand(ChatHandler* handler, char const* args)
|
static bool HandleSpectatorSpectateCommand(ChatHandler* handler, std::string const& name)
|
||||||
{
|
{
|
||||||
if (!ArenaSpectator::HandleSpectatorSpectateCommand(handler, args))
|
if (!ArenaSpectator::HandleSpectatorSpectateCommand(handler, name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool HandleSpectatorWatchCommand(ChatHandler* handler, char const* args)
|
static bool HandleSpectatorWatchCommand(ChatHandler* handler, std::string const& name)
|
||||||
{
|
{
|
||||||
if (!ArenaSpectator::HandleSpectatorWatchCommand(handler, args))
|
if (!ArenaSpectator::HandleSpectatorWatchCommand(handler, name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user