diff --git a/src/server/game/ArenaSpectator/ArenaSpectator.cpp b/src/server/game/ArenaSpectator/ArenaSpectator.cpp index c756f7ad1..d69635d10 100644 --- a/src/server/game/ArenaSpectator/ArenaSpectator.cpp +++ b/src/server/game/ArenaSpectator/ArenaSpectator.cpp @@ -25,22 +25,16 @@ #include "SpellAuras.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(); std::list errors; - if (!*args) - { - handler->SendSysMessage("Missing player name."); - return true; - } - if (player->IsSpectator()) { if (player->FindMap() && player->FindMap()->IsBattleArena()) { - HandleSpectatorWatchCommand(handler, args); + HandleSpectatorWatchCommand(handler, name); return true; } handler->PSendSysMessage("You are already spectacting arena."); @@ -53,7 +47,6 @@ bool ArenaSpectator::HandleSpectatorSpectateCommand(ChatHandler* handler, char c return true; } - std::string name = std::string(args); Player* spectate = ObjectAccessor::FindPlayerByName(name); if (!spectate) { @@ -180,11 +173,8 @@ bool ArenaSpectator::HandleSpectatorSpectateCommand(ChatHandler* handler, char c 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(); if (!player->IsSpectator()) return true; @@ -196,7 +186,6 @@ bool ArenaSpectator::HandleSpectatorWatchCommand(ChatHandler* handler, char cons if (!bg || bg->GetStatus() != STATUS_IN_PROGRESS) return true; - std::string name = std::string(args); 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())) return true; @@ -332,4 +321,4 @@ AC_GAME_API void ArenaSpectator::SendPacketTo(const Map* map, std::string&& mess WorldPacket data; CreatePacket(data, message); bg->SpectatorsSendPacket(data); -} \ No newline at end of file +} diff --git a/src/server/game/ArenaSpectator/ArenaSpectator.h b/src/server/game/ArenaSpectator/ArenaSpectator.h index cb0a5eb52..99ac17462 100644 --- a/src/server/game/ArenaSpectator/ArenaSpectator.h +++ b/src/server/game/ArenaSpectator/ArenaSpectator.h @@ -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()); } - AC_GAME_API bool HandleSpectatorSpectateCommand(ChatHandler* handler, char const* args); - AC_GAME_API bool HandleSpectatorWatchCommand(ChatHandler* handler, char const* args); + AC_GAME_API bool HandleSpectatorSpectateCommand(ChatHandler* handler, std::string const& name); + 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 HandleResetCommand(Player* player); AC_GAME_API bool ShouldSendAura(Aura* aura, uint8 effMask, ObjectGuid targetGUID, bool remove); diff --git a/src/server/scripts/Commands/cs_spectator.cpp b/src/server/scripts/Commands/cs_spectator.cpp index b5d71f9fb..e2a5b45a4 100644 --- a/src/server/scripts/Commands/cs_spectator.cpp +++ b/src/server/scripts/Commands/cs_spectator.cpp @@ -23,10 +23,6 @@ #include "ScriptMgr.h" #include "World.h" -#if AC_COMPILER == AC_COMPILER_GNU -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif - using namespace Acore::ChatCommands; class spectator_commandscript : public CommandScript @@ -38,21 +34,21 @@ public: { static ChatCommandTable spectatorCommandTable = { - { "version", SEC_PLAYER, false, &HandleSpectatorVersionCommand, "" }, - { "reset", SEC_PLAYER, false, &HandleSpectatorResetCommand, "" }, - { "spectate", SEC_PLAYER, false, &HandleSpectatorSpectateCommand, "" }, - { "watch", SEC_PLAYER, false, &HandleSpectatorWatchCommand, "" }, - { "leave", SEC_PLAYER, false, &HandleSpectatorLeaveCommand, "" }, - { "", SEC_PLAYER, false, &HandleSpectatorCommand, "" } + { "version", HandleSpectatorVersionCommand, SEC_PLAYER, Console::No }, + { "reset", HandleSpectatorResetCommand, SEC_PLAYER, Console::No }, + { "spectate", HandleSpectatorSpectateCommand, SEC_PLAYER, Console::No }, + { "watch", HandleSpectatorWatchCommand, SEC_PLAYER, Console::No }, + { "leave", HandleSpectatorLeaveCommand, SEC_PLAYER, Console::No }, + { "", HandleSpectatorCommand, SEC_PLAYER, Console::No } }; static ChatCommandTable commandTable = { - { "spect", SEC_PLAYER, false, nullptr, "", spectatorCommandTable } + { "spect", spectatorCommandTable } }; return commandTable; } - static bool HandleSpectatorCommand(ChatHandler* handler, char const* /*args*/) + static bool HandleSpectatorCommand(ChatHandler* handler) { handler->PSendSysMessage("Incorrect syntax."); handler->PSendSysMessage("Command has subcommands:"); @@ -61,14 +57,14 @@ public: 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); return true; } - static bool HandleSpectatorResetCommand(ChatHandler* handler, char const* /*args*/) + static bool HandleSpectatorResetCommand(ChatHandler* handler) { Player* p = handler->GetSession()->GetPlayer(); if (!p->IsSpectator()) @@ -77,7 +73,7 @@ public: return true; } - static bool HandleSpectatorLeaveCommand(ChatHandler* handler, char const* /*args*/) + static bool HandleSpectatorLeaveCommand(ChatHandler* handler) { Player* player = handler->GetSession()->GetPlayer(); if (!player->IsSpectator() || !player->FindMap() || !player->FindMap()->IsBattleArena()) @@ -91,17 +87,17 @@ public: 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 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 true;