Core/ObjectMgr: Refactor arena team related functions into dedicated class
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
#include "Log.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "SocialMgr.h"
|
||||
#include "ArenaTeamMgr.h"
|
||||
|
||||
void WorldSession::HandleInspectArenaTeamsOpcode(WorldPacket & recvData)
|
||||
{
|
||||
@@ -41,7 +42,7 @@ void WorldSession::HandleInspectArenaTeamsOpcode(WorldPacket & recvData)
|
||||
{
|
||||
if (uint32 a_id = player->GetArenaTeamId(i))
|
||||
{
|
||||
if (ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(a_id))
|
||||
if (ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(a_id))
|
||||
arenaTeam->Inspect(this, player->GetGUID());
|
||||
}
|
||||
}
|
||||
@@ -55,7 +56,7 @@ void WorldSession::HandleArenaTeamQueryOpcode(WorldPacket & recvData)
|
||||
uint32 arenaTeamId;
|
||||
recvData >> arenaTeamId;
|
||||
|
||||
if (ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(arenaTeamId))
|
||||
if (ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(arenaTeamId))
|
||||
{
|
||||
arenaTeam->Query(this);
|
||||
arenaTeam->SendStats(this);
|
||||
@@ -69,7 +70,7 @@ void WorldSession::HandleArenaTeamRosterOpcode(WorldPacket & recvData)
|
||||
uint32 arenaTeamId; // arena team id
|
||||
recvData >> arenaTeamId;
|
||||
|
||||
if (ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(arenaTeamId))
|
||||
if (ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(arenaTeamId))
|
||||
arenaTeam->Roster(this);
|
||||
}
|
||||
|
||||
@@ -104,7 +105,7 @@ void WorldSession::HandleArenaTeamInviteOpcode(WorldPacket & recvData)
|
||||
return;
|
||||
}
|
||||
|
||||
ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(arenaTeamId);
|
||||
ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(arenaTeamId);
|
||||
if (!arenaTeam)
|
||||
{
|
||||
SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", "", ERR_ARENA_TEAM_PLAYER_NOT_IN_TEAM);
|
||||
@@ -155,7 +156,7 @@ void WorldSession::HandleArenaTeamAcceptOpcode(WorldPacket & /*recv_data*/)
|
||||
{
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_ACCEPT"); // empty opcode
|
||||
|
||||
ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(_player->GetArenaTeamIdInvited());
|
||||
ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(_player->GetArenaTeamIdInvited());
|
||||
if (!arenaTeam)
|
||||
return;
|
||||
|
||||
@@ -199,7 +200,7 @@ void WorldSession::HandleArenaTeamLeaveOpcode(WorldPacket & recvData)
|
||||
uint32 arenaTeamId;
|
||||
recvData >> arenaTeamId;
|
||||
|
||||
ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(arenaTeamId);
|
||||
ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(arenaTeamId);
|
||||
if (!arenaTeam)
|
||||
return;
|
||||
|
||||
@@ -234,7 +235,7 @@ void WorldSession::HandleArenaTeamDisbandOpcode(WorldPacket & recvData)
|
||||
uint32 arenaTeamId;
|
||||
recvData >> arenaTeamId;
|
||||
|
||||
if (ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(arenaTeamId))
|
||||
if (ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(arenaTeamId))
|
||||
{
|
||||
// Only captain can disband the team
|
||||
if (arenaTeam->GetCaptain() != _player->GetGUID())
|
||||
@@ -260,7 +261,7 @@ void WorldSession::HandleArenaTeamRemoveOpcode(WorldPacket & recvData)
|
||||
recvData >> name;
|
||||
|
||||
// Check for valid arena team
|
||||
ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(arenaTeamId);
|
||||
ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(arenaTeamId);
|
||||
if (!arenaTeam)
|
||||
return;
|
||||
|
||||
@@ -306,7 +307,7 @@ void WorldSession::HandleArenaTeamLeaderOpcode(WorldPacket & recvData)
|
||||
recvData >> name;
|
||||
|
||||
// Check for valid arena team
|
||||
ArenaTeam* arenaTeam = sObjectMgr->GetArenaTeamById(arenaTeamId);
|
||||
ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(arenaTeamId);
|
||||
if (!arenaTeam)
|
||||
return;
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "Common.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "ArenaTeamMgr.h"
|
||||
#include "WorldPacket.h"
|
||||
#include "WorldSession.h"
|
||||
|
||||
@@ -476,7 +477,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPacket &recv_data)
|
||||
// if player leaves rated arena match before match start, it is counted as he played but he lost
|
||||
if (ginfo.IsRated && ginfo.IsInvitedToBGInstanceGUID)
|
||||
{
|
||||
ArenaTeam * at = sObjectMgr->GetArenaTeamById(ginfo.Team);
|
||||
ArenaTeam * at = sArenaTeamMgr->GetArenaTeamById(ginfo.Team);
|
||||
if (at)
|
||||
{
|
||||
sLog->outDebug(LOG_FILTER_BATTLEGROUND, "UPDATING memberLost's personal arena rating for %u by opponents rating: %u, because he has left queue!", GUID_LOPART(_player->GetGUID()), ginfo.OpponentsTeamRating);
|
||||
@@ -714,7 +715,7 @@ void WorldSession::HandleBattlemasterJoinArena(WorldPacket & recv_data)
|
||||
{
|
||||
ateamId = _player->GetArenaTeamId(arenaslot);
|
||||
// check real arenateam existence only here (if it was moved to group->CanJoin .. () then we would ahve to get it twice)
|
||||
ArenaTeam * at = sObjectMgr->GetArenaTeamById(ateamId);
|
||||
ArenaTeam * at = sArenaTeamMgr->GetArenaTeamById(ateamId);
|
||||
if (!at)
|
||||
{
|
||||
_player->GetSession()->SendNotInArenaTeamPacket(arenatype);
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "Common.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "ArenaTeamMgr.h"
|
||||
#include "SystemConfig.h"
|
||||
#include "World.h"
|
||||
#include "WorldPacket.h"
|
||||
@@ -606,7 +607,7 @@ void WorldSession::HandleCharDeleteOpcode(WorldPacket & recv_data)
|
||||
}
|
||||
|
||||
// is arena team captain
|
||||
if (sObjectMgr->GetArenaTeamByCaptain(guid))
|
||||
if (sArenaTeamMgr->GetArenaTeamByCaptain(guid))
|
||||
{
|
||||
WorldPacket data(SMSG_CHAR_DELETE, 1);
|
||||
data << (uint8)CHAR_DELETE_FAILED_ARENA_CAPTAIN;
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "WorldSession.h"
|
||||
#include "World.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "ArenaTeamMgr.h"
|
||||
#include "Log.h"
|
||||
#include "Opcodes.h"
|
||||
#include "Guild.h"
|
||||
@@ -167,7 +168,7 @@ void WorldSession::HandlePetitionBuyOpcode(WorldPacket & recv_data)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sObjectMgr->GetArenaTeamByName(name))
|
||||
if (sArenaTeamMgr->GetArenaTeamByName(name))
|
||||
{
|
||||
SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, name, "", ERR_ARENA_TEAM_NAME_EXISTS_S);
|
||||
return;
|
||||
@@ -417,7 +418,7 @@ void WorldSession::HandlePetitionRenameOpcode(WorldPacket & recv_data)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sObjectMgr->GetArenaTeamByName(newname))
|
||||
if (sArenaTeamMgr->GetArenaTeamByName(newname))
|
||||
{
|
||||
SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, newname, "", ERR_ARENA_TEAM_NAME_EXISTS_S);
|
||||
return;
|
||||
@@ -770,7 +771,7 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket & recv_data)
|
||||
}
|
||||
|
||||
// Check if arena team name is already taken
|
||||
if (sObjectMgr->GetArenaTeamByName(name))
|
||||
if (sArenaTeamMgr->GetArenaTeamByName(name))
|
||||
{
|
||||
SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, name, "", ERR_ARENA_TEAM_NAME_EXISTS_S);
|
||||
return;
|
||||
@@ -847,7 +848,7 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket & recv_data)
|
||||
}
|
||||
|
||||
// Register arena team
|
||||
sObjectMgr->AddArenaTeam(arenaTeam);
|
||||
sArenaTeamMgr->AddArenaTeam(arenaTeam);
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "PetitonsHandler: Arena team (guid: %u) added to ObjectMgr", arenaTeam->GetId());
|
||||
|
||||
// Add members
|
||||
|
||||
Reference in New Issue
Block a user