mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-24 14:16:31 +00:00
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 "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<std::string> 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user