Core/Battlefield: Move SendInitWorldStatesTo to Battlefield class

This commit is contained in:
Carbenium authored and Ovahlord committed 2022-10-09 00:45:58 +02:00
1 parent 2a71d4f741
commit 46738404b5
6 files changed
+14 -33

No files matched your search

@@ -34,6 +34,7 @@
#include "ObjectMgr.h"
#include "WorldPacket.h"
#include "WorldSession.h"
#include "WorldStatePackets.h"
#include <G3D/g3dmath.h>
Battlefield::Battlefield()
@@ -451,6 +452,17 @@ void Battlefield::SendWarning(uint8 id, WorldObject const* target /*= nullptr*/)
sCreatureTextMgr->SendChat(stalker, id, target);
}
void Battlefield::SendInitWorldStatesTo(Player* player)
{
WorldPackets::WorldState::InitWorldStates packet;
packet.MapID = m_MapId;
packet.AreaID = m_ZoneId;
packet.SubareaID = player->GetAreaId();
FillInitialWorldStates(packet);
player->SendDirectMessage(packet.Write());
}
void Battlefield::SendUpdateWorldState(uint32 field, uint32 value)
{
for (uint8 i = 0; i < BG_TEAMS_COUNT; ++i)
@@ -221,6 +221,8 @@ class TC_GAME_API Battlefield : public ZoneScript
/// Call this to init the Battlefield
virtual bool SetupBattlefield() { return true; }
void SendInitWorldStatesTo(Player* player);
/// Update data of a worldstate to all players present in zone
void SendUpdateWorldState(uint32 field, uint32 value);
@@ -587,18 +587,6 @@ void BattlefieldTB::FillInitialWorldStates(WorldPackets::WorldState::InitWorldSt
packet.Worldstates.emplace_back(uint32(WS_BATTLEFIELD_TB_KEEP_HORDE), int32(GetDefenderTeam() == TEAM_HORDE ? 1 : 0));
}
void BattlefieldTB::SendInitWorldStatesTo(Player* player)
{
WorldPackets::WorldState::InitWorldStates packet;
packet.AreaID = m_ZoneId;
//packet.SubareaID = m_ZoneId;
packet.MapID = m_MapId;
FillInitialWorldStates(packet);
player->SendDirectMessage(packet.Write());
}
void BattlefieldTB::SendInitWorldStatesToAll()
{
// Save
@@ -374,7 +374,6 @@ class BattlefieldTB : public Battlefield
bool SetupBattlefield() override;
void SendInitWorldStatesTo(Player* player);
void SendInitWorldStatesToAll() override;
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& /*data*/) override;
@@ -1170,25 +1170,6 @@ void BattlefieldWG::FillInitialWorldStates(WorldPackets::WorldState::InitWorldSt
workshop->FillInitialWorldStates(packet);
}
void BattlefieldWG::SendInitWorldStatesTo(Player* player)
{
WorldPacket data(SMSG_INIT_WORLD_STATES, 4 + 4 + 4 + 2 + (14 + WG_MAX_OBJ + WG_MAX_WORKSHOP) * 8);
WorldPackets::WorldState::InitWorldStates packet;
packet.AreaID = m_ZoneId;
//packet.SubareaID = m_ZoneId;
packet.MapID = m_MapId;
data << uint32(m_MapId);
data << uint32(m_ZoneId);
data << uint32(0); // AreaId
data << uint16(14 + BuildingsInZone.size() + Workshops.size()); // Number of fields
FillInitialWorldStates(packet);
player->SendDirectMessage(packet.Write());
}
void BattlefieldWG::SendInitWorldStatesToAll()
{
for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team)
@@ -338,7 +338,6 @@ class BattlefieldWG : public Battlefield
void UpdateVehicleCountWG();
void UpdateCounterVehicle(bool init);
void SendInitWorldStatesTo(Player* player);
void SendInitWorldStatesToAll() override;
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& /*data*/) override;