refactor(Core/WorldState): Initial addition of world state definition file. (#21875)

Many world states had their enums from script's header and hardcoded values to their respective header file (WorldStateDefines.h)
Co-authored-by: Jelle Meeus <sogladev@gmail.com>
This commit is contained in:
Benjamin Jackson
2025-04-26 14:31:30 -04:00
committed by GitHub
parent d23e61b721
commit da55f05cfc
73 changed files with 1828 additions and 1789 deletions

View File

@@ -30,6 +30,7 @@
#include "Vehicle.h"
#include "WorldSession.h"
#include "WorldSessionMgr.h"
#include "WorldStateDefines.h"
#include "WorldStatePackets.h"
BattlefieldWG::~BattlefieldWG()
@@ -80,17 +81,17 @@ bool BattlefieldWG::SetupBattlefield()
SetGraveyardNumber(BATTLEFIELD_WG_GRAVEYARD_MAX);
// Load from db
if (!sWorld->getWorldState(BATTLEFIELD_WG_WORLD_STATE_ACTIVE) &&
!sWorld->getWorldState(BATTLEFIELD_WG_WORLD_STATE_DEFENDER) &&
if (!sWorld->getWorldState(WORLD_STATE_BATTLEFIELD_WG_ACTIVE) &&
!sWorld->getWorldState(WORLD_STATE_BATTLEFIELD_WG_DEFENDER) &&
!sWorld->getWorldState(ClockWorldState[0]))
{
sWorld->setWorldState(BATTLEFIELD_WG_WORLD_STATE_ACTIVE, uint64(false));
sWorld->setWorldState(BATTLEFIELD_WG_WORLD_STATE_DEFENDER, uint64(urand(0, 1)));
sWorld->setWorldState(WORLD_STATE_BATTLEFIELD_WG_ACTIVE, uint64(false));
sWorld->setWorldState(WORLD_STATE_BATTLEFIELD_WG_DEFENDER, uint64(urand(0, 1)));
sWorld->setWorldState(ClockWorldState[0], uint64(m_NoWarBattleTime));
}
m_isActive = bool(sWorld->getWorldState(BATTLEFIELD_WG_WORLD_STATE_ACTIVE));
m_DefenderTeam = TeamId(sWorld->getWorldState(BATTLEFIELD_WG_WORLD_STATE_DEFENDER));
m_isActive = bool(sWorld->getWorldState(WORLD_STATE_BATTLEFIELD_WG_ACTIVE));
m_DefenderTeam = TeamId(sWorld->getWorldState(WORLD_STATE_BATTLEFIELD_WG_DEFENDER));
m_Timer = sWorld->getWorldState(ClockWorldState[0]);
if (m_isActive)
@@ -194,8 +195,8 @@ bool BattlefieldWG::Update(uint32 diff)
bool m_return = Battlefield::Update(diff);
if (m_saveTimer <= diff)
{
sWorld->setWorldState(BATTLEFIELD_WG_WORLD_STATE_ACTIVE, m_isActive);
sWorld->setWorldState(BATTLEFIELD_WG_WORLD_STATE_DEFENDER, m_DefenderTeam);
sWorld->setWorldState(WORLD_STATE_BATTLEFIELD_WG_ACTIVE, m_isActive);
sWorld->setWorldState(WORLD_STATE_BATTLEFIELD_WG_DEFENDER, m_DefenderTeam);
sWorld->setWorldState(ClockWorldState[0], m_Timer);
m_saveTimer = 60 * IN_MILLISECONDS;
}
@@ -327,10 +328,10 @@ void BattlefieldWG::UpdateVehicleCountWG()
for (GuidUnorderedSet::iterator itr = m_players[i].begin(); itr != m_players[i].end(); ++itr)
if (Player* player = ObjectAccessor::FindPlayer(*itr))
{
player->SendUpdateWorldState(BATTLEFIELD_WG_WORLD_STATE_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_VEHICLE_H));
player->SendUpdateWorldState(BATTLEFIELD_WG_WORLD_STATE_MAX_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_H));
player->SendUpdateWorldState(BATTLEFIELD_WG_WORLD_STATE_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_VEHICLE_A));
player->SendUpdateWorldState(BATTLEFIELD_WG_WORLD_STATE_MAX_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_A));
player->SendUpdateWorldState(WORLD_STATE_BATTLEFIELD_WG_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_VEHICLE_H));
player->SendUpdateWorldState(WORLD_STATE_BATTLEFIELD_WG_MAX_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_H));
player->SendUpdateWorldState(WORLD_STATE_BATTLEFIELD_WG_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_VEHICLE_A));
player->SendUpdateWorldState(WORLD_STATE_BATTLEFIELD_WG_MAX_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_A));
}
}
@@ -488,14 +489,14 @@ void BattlefieldWG::OnBattleEnd(bool endByTimer)
if (!endByTimer) // win alli/horde
{
uint32 const worldStateId = GetDefenderTeam() == TEAM_ALLIANCE ? WORLDSTATE_ALLIANCE_KEEP_CAPTURED : WORLDSTATE_HORDE_KEEP_CAPTURED;
uint32 const worldStateId = GetDefenderTeam() == TEAM_ALLIANCE ? WORLD_STATE_BATTLEFIELD_WG_ALLIANCE_KEEP_CAPTURED : WORLD_STATE_BATTLEFIELD_WG_HORDE_KEEP_CAPTURED;
sWorld->setWorldState(worldStateId, sWorld->getWorldState(worldStateId) + 1);
SendWarning((GetDefenderTeam() == TEAM_ALLIANCE) ? BATTLEFIELD_WG_TEXT_WIN_KEEP : (BATTLEFIELD_WG_TEXT_WIN_KEEP + 2));
}
else // defend alli/horde
{
uint32 const worldStateId = GetDefenderTeam() == TEAM_ALLIANCE ? WORLDSTATE_ALLIANCE_KEEP_DEFENDED : WORLDSTATE_HORDE_KEEP_DEFENDED;
uint32 const worldStateId = GetDefenderTeam() == TEAM_ALLIANCE ? WORLD_STATE_BATTLEFIELD_WG_ALLIANCE_KEEP_DEFENDED : WORLD_STATE_BATTLEFIELD_WG_HORDE_KEEP_DEFENDED;
sWorld->setWorldState(worldStateId, sWorld->getWorldState(worldStateId) + 1);
SendWarning((GetDefenderTeam() == TEAM_ALLIANCE) ? BATTLEFIELD_WG_TEXT_DEFEND_KEEP : (BATTLEFIELD_WG_TEXT_DEFEND_KEEP + 2));
@@ -941,27 +942,27 @@ void BattlefieldWG::FillInitialWorldStates(WorldPackets::WorldState::InitWorldSt
bool iconActive = timer < 15 * MINUTE || IsWarTime();
packet.Worldstates.reserve(4+4+WG_MAX_OBJ+WG_MAX_WORKSHOP);
packet.Worldstates.emplace_back(BATTLEFIELD_WG_WORLD_STATE_ATTACKER, GetAttackerTeam());
packet.Worldstates.emplace_back(BATTLEFIELD_WG_WORLD_STATE_DEFENDER, GetDefenderTeam());
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_ATTACKER, GetAttackerTeam());
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_DEFENDER, GetDefenderTeam());
// Note: cleanup these two, their names look awkward
packet.Worldstates.emplace_back(BATTLEFIELD_WG_WORLD_STATE_ACTIVE, IsWarTime() ? 0 : 1);
packet.Worldstates.emplace_back(BATTLEFIELD_WG_WORLD_STATE_SHOW_WORLDSTATE, IsWarTime() ? 1 : 0);
packet.Worldstates.emplace_back(BATTLEFIELD_WG_WORLD_STATE_CONTROL, m_DefenderTeam == TEAM_ALLIANCE ? 2 : 1); // Alliance 2, Hord 1
packet.Worldstates.emplace_back(BATTLEFIELD_WG_WORLD_STATE_ICON_ACTIVE, iconActive ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_ACTIVE, IsWarTime() ? 0 : 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_SHOW, IsWarTime() ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_CONTROL, m_DefenderTeam == TEAM_ALLIANCE ? 2 : 1); // Alliance 2, Hord 1
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_ICON_ACTIVE, iconActive ? 1 : 0);
for (uint32 i = 0; i < 2; ++i)
packet.Worldstates.emplace_back(ClockWorldState[i], GameTime::GetGameTime().count() + timer);
packet.Worldstates.emplace_back(BATTLEFIELD_WG_WORLD_STATE_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_VEHICLE_H));
packet.Worldstates.emplace_back(BATTLEFIELD_WG_WORLD_STATE_MAX_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_H));
packet.Worldstates.emplace_back(BATTLEFIELD_WG_WORLD_STATE_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_VEHICLE_A));
packet.Worldstates.emplace_back(BATTLEFIELD_WG_WORLD_STATE_MAX_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_A));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_VEHICLE_H));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_MAX_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_H));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_VEHICLE_A));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_MAX_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_A));
packet.Worldstates.emplace_back(WORLDSTATE_ALLIANCE_KEEP_DEFENDED, uint32(sWorld->getWorldState(WORLDSTATE_ALLIANCE_KEEP_DEFENDED)));
packet.Worldstates.emplace_back(WORLDSTATE_HORDE_KEEP_CAPTURED, uint32(sWorld->getWorldState(WORLDSTATE_HORDE_KEEP_CAPTURED)));
packet.Worldstates.emplace_back(WORLDSTATE_HORDE_KEEP_DEFENDED, uint32(sWorld->getWorldState(WORLDSTATE_HORDE_KEEP_DEFENDED)));
packet.Worldstates.emplace_back(WORLDSTATE_ALLIANCE_KEEP_CAPTURED, uint32(sWorld->getWorldState(WORLDSTATE_ALLIANCE_KEEP_CAPTURED)));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_ALLIANCE_KEEP_DEFENDED, uint32(sWorld->getWorldState(WORLD_STATE_BATTLEFIELD_WG_ALLIANCE_KEEP_DEFENDED)));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_HORDE_KEEP_CAPTURED, uint32(sWorld->getWorldState(WORLD_STATE_BATTLEFIELD_WG_HORDE_KEEP_CAPTURED)));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_HORDE_KEEP_DEFENDED, uint32(sWorld->getWorldState(WORLD_STATE_BATTLEFIELD_WG_HORDE_KEEP_DEFENDED)));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEFIELD_WG_ALLIANCE_KEEP_CAPTURED, uint32(sWorld->getWorldState(WORLD_STATE_BATTLEFIELD_WG_ALLIANCE_KEEP_CAPTURED)));
for (GameObjectBuilding::const_iterator itr = BuildingsInZone.begin(); itr != BuildingsInZone.end(); ++itr)
packet.Worldstates.emplace_back((*itr)->m_WorldState, (*itr)->m_State);
@@ -995,12 +996,12 @@ void BattlefieldWG::SendUpdateWorldStates(Player* player)
uint32 timer = GetTimer() / 1000;
bool iconActive = timer < 15 * MINUTE || IsWarTime();
SendUpdateWorldStateMessage(BATTLEFIELD_WG_WORLD_STATE_ATTACKER, GetAttackerTeam(), player);
SendUpdateWorldStateMessage(BATTLEFIELD_WG_WORLD_STATE_DEFENDER, GetDefenderTeam(), player);
SendUpdateWorldStateMessage(BATTLEFIELD_WG_WORLD_STATE_ACTIVE, IsWarTime() ? 0 : 1, player);
SendUpdateWorldStateMessage(BATTLEFIELD_WG_WORLD_STATE_SHOW_WORLDSTATE, IsWarTime() ? 1 : 0, player);
SendUpdateWorldStateMessage(BATTLEFIELD_WG_WORLD_STATE_CONTROL, GetDefenderTeam() == TEAM_ALLIANCE ? 2 : 1, player);
SendUpdateWorldStateMessage(BATTLEFIELD_WG_WORLD_STATE_ICON_ACTIVE, iconActive ? 1 : 0, player);
SendUpdateWorldStateMessage(WORLD_STATE_BATTLEFIELD_WG_ATTACKER, GetAttackerTeam(), player);
SendUpdateWorldStateMessage(WORLD_STATE_BATTLEFIELD_WG_DEFENDER, GetDefenderTeam(), player);
SendUpdateWorldStateMessage(WORLD_STATE_BATTLEFIELD_WG_ACTIVE, IsWarTime() ? 0 : 1, player);
SendUpdateWorldStateMessage(WORLD_STATE_BATTLEFIELD_WG_SHOW, IsWarTime() ? 1 : 0, player);
SendUpdateWorldStateMessage(WORLD_STATE_BATTLEFIELD_WG_CONTROL, GetDefenderTeam() == TEAM_ALLIANCE ? 2 : 1, player);
SendUpdateWorldStateMessage(WORLD_STATE_BATTLEFIELD_WG_ICON_ACTIVE, iconActive ? 1 : 0, player);
for (uint32 i = 0; i < 2; ++i)
SendUpdateWorldStateMessage(ClockWorldState[i], uint32(GameTime::GetGameTime().count() + timer), player);

View File

@@ -21,6 +21,7 @@
#include "Battlefield.h"
#include "Log.h"
#include "World.h"
#include "WorldStateDefines.h"
#include "WorldStatePackets.h"
class Group;
@@ -36,9 +37,9 @@ typedef std::set<WGWorkshop*> Workshop;
typedef std::set<Group*> GroupSet;
//typedef std::set<WintergraspCapturePoint *> CapturePointSet; unused ?
uint32 const VehNumWorldState[2] = { 3680, 3490 };
uint32 const MaxVehNumWorldState[2] = { 3681, 3491 };
uint32 const ClockWorldState[2] = { 3781, 4354 };
uint32 const VehNumWorldState[2] = { WORLD_STATE_BATTLEFIELD_WG_VEHICLE_A, WORLD_STATE_BATTLEFIELD_WG_VEHICLE_H };
uint32 const MaxVehNumWorldState[2] = { WORLD_STATE_BATTLEFIELD_WG_MAX_VEHICLE_A, WORLD_STATE_BATTLEFIELD_WG_MAX_VEHICLE_H };
uint32 const ClockWorldState[2] = { WORLD_STATE_BATTLEFIELD_WG_CLOCK, WORLD_STATE_BATTLEFIELD_WG_CLOCK_TEXTS };
uint32 const WintergraspFaction[3] = { 1, 2, 35 };
float const WintergraspStalkerPos[4] = { 4948.985f, 2937.789f, 550.5172f, 1.815142f };
@@ -99,20 +100,6 @@ enum WintergraspData
BATTLEFIELD_WG_DATA_MAX,
};
enum WintergraspWorldStates
{
BATTLEFIELD_WG_WORLD_STATE_VEHICLE_H = 3490,
BATTLEFIELD_WG_WORLD_STATE_MAX_VEHICLE_H = 3491,
BATTLEFIELD_WG_WORLD_STATE_VEHICLE_A = 3680,
BATTLEFIELD_WG_WORLD_STATE_MAX_VEHICLE_A = 3681,
BATTLEFIELD_WG_WORLD_STATE_ACTIVE = 3801,
BATTLEFIELD_WG_WORLD_STATE_DEFENDER = 3802,
BATTLEFIELD_WG_WORLD_STATE_ATTACKER = 3803,
BATTLEFIELD_WG_WORLD_STATE_SHOW_WORLDSTATE = 3710,
BATTLEFIELD_WG_WORLD_STATE_CONTROL = 3804, // Shows on the map who controls WG
BATTLEFIELD_WG_WORLD_STATE_ICON_ACTIVE = 4375, // Activates "ice" icon
};
enum WintergraspAreaIds
{
BATTLEFIELD_WG_ZONEID = 4197, // Wintergrasp
@@ -522,20 +509,6 @@ enum WintergraspWorkshopIds
BATTLEFIELD_WG_WORKSHOP_KEEP_EAST,
};
enum WintergraspWorldstates
{
WORLDSTATE_WORKSHOP_NE = 3701,
WORLDSTATE_WORKSHOP_NW = 3700,
WORLDSTATE_WORKSHOP_SE = 3703,
WORLDSTATE_WORKSHOP_SW = 3702,
WORLDSTATE_WORKSHOP_K_W = 3698,
WORLDSTATE_WORKSHOP_K_E = 3699,
WORLDSTATE_HORDE_KEEP_CAPTURED = 4022,
WORLDSTATE_HORDE_KEEP_DEFENDED = 4024,
WORLDSTATE_ALLIANCE_KEEP_CAPTURED = 4023,
WORLDSTATE_ALLIANCE_KEEP_DEFENDED = 4025,
};
/// @todo: Handle this with creature_text ?
enum eWGText
{
@@ -1079,17 +1052,17 @@ struct WGWorkshopData
WGWorkshopData const WorkshopsData[WG_MAX_WORKSHOP] =
{
// NE
{BATTLEFIELD_WG_WORKSHOP_NE, WORLDSTATE_WORKSHOP_NE, BATTLEFIELD_WG_TEXT_WORKSHOP_NE_ATTACK, BATTLEFIELD_WG_TEXT_WORKSHOP_NE_TAKEN},
{BATTLEFIELD_WG_WORKSHOP_NE, WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_NE, BATTLEFIELD_WG_TEXT_WORKSHOP_NE_ATTACK, BATTLEFIELD_WG_TEXT_WORKSHOP_NE_TAKEN},
// NW
{BATTLEFIELD_WG_WORKSHOP_NW, WORLDSTATE_WORKSHOP_NW, BATTLEFIELD_WG_TEXT_WORKSHOP_NW_ATTACK, BATTLEFIELD_WG_TEXT_WORKSHOP_NW_TAKEN},
{BATTLEFIELD_WG_WORKSHOP_NW, WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_NW, BATTLEFIELD_WG_TEXT_WORKSHOP_NW_ATTACK, BATTLEFIELD_WG_TEXT_WORKSHOP_NW_TAKEN},
// SE
{BATTLEFIELD_WG_WORKSHOP_SE, WORLDSTATE_WORKSHOP_SE, BATTLEFIELD_WG_TEXT_WORKSHOP_SE_ATTACK, BATTLEFIELD_WG_TEXT_WORKSHOP_SE_TAKEN},
{BATTLEFIELD_WG_WORKSHOP_SE, WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_SE, BATTLEFIELD_WG_TEXT_WORKSHOP_SE_ATTACK, BATTLEFIELD_WG_TEXT_WORKSHOP_SE_TAKEN},
// SW
{BATTLEFIELD_WG_WORKSHOP_SW, WORLDSTATE_WORKSHOP_SW, BATTLEFIELD_WG_TEXT_WORKSHOP_SW_ATTACK, BATTLEFIELD_WG_TEXT_WORKSHOP_SW_TAKEN},
{BATTLEFIELD_WG_WORKSHOP_SW, WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_SW, BATTLEFIELD_WG_TEXT_WORKSHOP_SW_ATTACK, BATTLEFIELD_WG_TEXT_WORKSHOP_SW_TAKEN},
// KEEP WEST - It can't be taken
{BATTLEFIELD_WG_WORKSHOP_KEEP_WEST, WORLDSTATE_WORKSHOP_K_W, 0, BATTLEFIELD_WG_TEXT_WORKSHOP_NE_TAKEN},
{BATTLEFIELD_WG_WORKSHOP_KEEP_WEST, WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_K_W, 0, BATTLEFIELD_WG_TEXT_WORKSHOP_NE_TAKEN},
// KEEP EAST - It can't be taken
{BATTLEFIELD_WG_WORKSHOP_KEEP_EAST, WORLDSTATE_WORKSHOP_K_E, 0, BATTLEFIELD_WG_TEXT_WORKSHOP_NE_TAKEN}
{BATTLEFIELD_WG_WORKSHOP_KEEP_EAST, WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_K_E, 0, BATTLEFIELD_WG_TEXT_WORKSHOP_NE_TAKEN}
};
// ********************************************************************

View File

@@ -26,6 +26,7 @@
#include "World.h"
#include "WorldSession.h"
#include "WorldSessionMgr.h"
#include "WorldStateDefines.h"
#include "WorldStatePackets.h"
void ArenaScore::AppendToPacket(WorldPacket& data)
@@ -150,14 +151,14 @@ void Arena::RemovePlayer(Player* /*player*/)
void Arena::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
{
packet.Worldstates.reserve(2);
packet.Worldstates.emplace_back(ARENA_WORLD_STATE_ALIVE_PLAYERS_GREEN, GetAlivePlayersCountByTeam(TEAM_HORDE));
packet.Worldstates.emplace_back(ARENA_WORLD_STATE_ALIVE_PLAYERS_GOLD, GetAlivePlayersCountByTeam(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(WORLD_STATE_ARENA_ALIVE_PLAYERS_GREEN, GetAlivePlayersCountByTeam(TEAM_HORDE));
packet.Worldstates.emplace_back(WORLD_STATE_ARENA_ALIVE_PLAYERS_GOLD, GetAlivePlayersCountByTeam(TEAM_ALLIANCE));
}
void Arena::UpdateArenaWorldState()
{
UpdateWorldState(ARENA_WORLD_STATE_ALIVE_PLAYERS_GREEN, GetAlivePlayersCountByTeam(TEAM_HORDE));
UpdateWorldState(ARENA_WORLD_STATE_ALIVE_PLAYERS_GOLD, GetAlivePlayersCountByTeam(TEAM_ALLIANCE));
UpdateWorldState(WORLD_STATE_ARENA_ALIVE_PLAYERS_GREEN, GetAlivePlayersCountByTeam(TEAM_HORDE));
UpdateWorldState(WORLD_STATE_ARENA_ALIVE_PLAYERS_GOLD, GetAlivePlayersCountByTeam(TEAM_ALLIANCE));
}
void Arena::HandleKillPlayer(Player* player, Player* killer)

View File

@@ -38,12 +38,6 @@ enum ArenaSpellIds
SPELL_LAST_MAN_STANDING = 26549 // Achievement Credit
};
enum ArenaWorldStates
{
ARENA_WORLD_STATE_ALIVE_PLAYERS_GREEN = 3600,
ARENA_WORLD_STATE_ALIVE_PLAYERS_GOLD = 3601
};
class AC_GAME_API Arena : public Battleground
{
protected:

View File

@@ -47,6 +47,7 @@
#include "SharedDefines.h"
#include "World.h"
#include "WorldPacket.h"
#include "WorldStateDefines.h"
#include <unordered_map>
bool BattlegroundTemplate::IsArena() const
@@ -182,7 +183,7 @@ void BattlegroundMgr::Update(uint32 diff)
{
sArenaTeamMgr->DistributeArenaPoints();
m_NextAutoDistributionTime = GameTime::GetGameTime() + Seconds(DAY * sWorld->getIntConfig(CONFIG_ARENA_AUTO_DISTRIBUTE_INTERVAL_DAYS));
sWorld->setWorldState(WS_ARENA_DISTRIBUTION_TIME, m_NextAutoDistributionTime.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_ARENA_DISTRIBUTION_TIME, m_NextAutoDistributionTime.count());
}
m_AutoDistributionTimeChecker = 600000; // 10 minutes check
}
@@ -561,7 +562,7 @@ void BattlegroundMgr::InitAutomaticArenaPointDistribution()
if (!sWorld->getBoolConfig(CONFIG_ARENA_AUTO_DISTRIBUTE_POINTS))
return;
Seconds wstime = Seconds(sWorld->getWorldState(WS_ARENA_DISTRIBUTION_TIME));
Seconds wstime = Seconds(sWorld->getWorldState(WORLD_STATE_CUSTOM_ARENA_DISTRIBUTION_TIME));
Seconds curtime = GameTime::GetGameTime();
LOG_INFO("server.loading", "Initializing Automatic Arena Point Distribution");

View File

@@ -24,6 +24,7 @@
#include "WorldPacket.h"
#include "WorldSession.h"
#include "WorldStatePackets.h"
#include "WorldStateDefines.h"
void BattlegroundABScore::BuildObjectivesBlock(WorldPacket& data)
{
@@ -129,7 +130,7 @@ void BattlegroundAB::PostUpdateImpl(uint32 diff)
}
}
UpdateWorldState(teamId == TEAM_ALLIANCE ? BG_AB_OP_RESOURCES_ALLY : BG_AB_OP_RESOURCES_HORDE, m_TeamScores[teamId]);
UpdateWorldState(teamId == TEAM_ALLIANCE ? WORLD_STATE_BATTLEGROUND_AB_RESOURCES_ALLIANCE : WORLD_STATE_BATTLEGROUND_AB_RESOURCES_HORDE, m_TeamScores[teamId]);
if (m_TeamScores[teamId] > m_TeamScores[GetOtherTeamId(teamId)] + 500)
_teamScores500Disadvantage[GetOtherTeamId(teamId)] = true;
if (m_TeamScores[teamId] >= static_cast<int32>(_configurableMaxTeamScore))
@@ -247,13 +248,13 @@ void BattlegroundAB::FillInitialWorldStates(WorldPackets::WorldState::InitWorldS
packet.Worldstates.emplace_back(node._iconCapture + i - 1, node._state == i ? 1 : 0);
}
packet.Worldstates.emplace_back(BG_AB_OP_OCCUPIED_BASES_ALLY, _controlledPoints[TEAM_ALLIANCE]);
packet.Worldstates.emplace_back(BG_AB_OP_OCCUPIED_BASES_HORDE, _controlledPoints[TEAM_HORDE]);
packet.Worldstates.emplace_back(BG_AB_OP_RESOURCES_MAX, _configurableMaxTeamScore);
packet.Worldstates.emplace_back(BG_AB_OP_RESOURCES_WARNING, BG_AB_WARNING_NEAR_VICTORY_SCORE);
packet.Worldstates.emplace_back(BG_AB_OP_RESOURCES_ALLY, m_TeamScores[TEAM_ALLIANCE]);
packet.Worldstates.emplace_back(BG_AB_OP_RESOURCES_HORDE, m_TeamScores[TEAM_HORDE]);
packet.Worldstates.emplace_back(0x745, 2);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_OCCUPIED_BASES_ALLIANCE, _controlledPoints[TEAM_ALLIANCE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_OCCUPIED_BASES_HORDE, _controlledPoints[TEAM_HORDE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_RESOURCES_MAX, _configurableMaxTeamScore);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_RESOURCES_WARNING, BG_AB_WARNING_NEAR_VICTORY_SCORE);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_RESOURCES_ALLIANCE, m_TeamScores[TEAM_ALLIANCE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_RESOURCES_HORDE, m_TeamScores[TEAM_HORDE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_UNK, 2);
}
void BattlegroundAB::SendNodeUpdate(uint8 node)
@@ -262,8 +263,8 @@ void BattlegroundAB::SendNodeUpdate(uint8 node)
for (uint8 i = BG_AB_NODE_STATE_ALLY_OCCUPIED; i <= BG_AB_NODE_STATE_HORDE_CONTESTED; ++i)
UpdateWorldState(_capturePointInfo[node]._iconCapture + i - 1, _capturePointInfo[node]._state == i);
UpdateWorldState(BG_AB_OP_OCCUPIED_BASES_ALLY, _controlledPoints[TEAM_ALLIANCE]);
UpdateWorldState(BG_AB_OP_OCCUPIED_BASES_HORDE, _controlledPoints[TEAM_HORDE]);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_AB_OCCUPIED_BASES_ALLIANCE, _controlledPoints[TEAM_ALLIANCE]);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_AB_OCCUPIED_BASES_HORDE, _controlledPoints[TEAM_HORDE]);
}
void BattlegroundAB::NodeOccupied(uint8 node)
@@ -470,16 +471,16 @@ void BattlegroundAB::Init()
_honorTics = BattlegroundMgr::IsBGWeekend(GetBgTypeID(true)) ? BG_AB_HONOR_TICK_WEEKEND : BG_AB_HONOR_TICK_NORMAL;
_reputationTics = BattlegroundMgr::IsBGWeekend(GetBgTypeID(true)) ? BG_AB_REP_TICK_WEEKEND : BG_AB_REP_TICK_NORMAL;
_capturePointInfo[BG_AB_NODE_STABLES]._iconNone = BG_AB_OP_STABLE_ICON;
_capturePointInfo[BG_AB_NODE_FARM]._iconNone = BG_AB_OP_FARM_ICON;
_capturePointInfo[BG_AB_NODE_BLACKSMITH]._iconNone = BG_AB_OP_BLACKSMITH_ICON;
_capturePointInfo[BG_AB_NODE_LUMBER_MILL]._iconNone = BG_AB_OP_LUMBERMILL_ICON;
_capturePointInfo[BG_AB_NODE_GOLD_MINE]._iconNone = BG_AB_OP_GOLDMINE_ICON;
_capturePointInfo[BG_AB_NODE_STABLES]._iconCapture = BG_AB_OP_STABLE_STATE_ALIENCE;
_capturePointInfo[BG_AB_NODE_FARM]._iconCapture = BG_AB_OP_FARM_STATE_ALIENCE;
_capturePointInfo[BG_AB_NODE_BLACKSMITH]._iconCapture = BG_AB_OP_BLACKSMITH_STATE_ALIENCE;
_capturePointInfo[BG_AB_NODE_LUMBER_MILL]._iconCapture = BG_AB_OP_LUMBERMILL_STATE_ALIENCE;
_capturePointInfo[BG_AB_NODE_GOLD_MINE]._iconCapture = BG_AB_OP_GOLDMINE_STATE_ALIENCE;
_capturePointInfo[BG_AB_NODE_STABLES]._iconNone = WORLD_STATE_BATTLEGROUND_AB_STABLE_ICON;
_capturePointInfo[BG_AB_NODE_FARM]._iconNone = WORLD_STATE_BATTLEGROUND_AB_FARM_ICON;
_capturePointInfo[BG_AB_NODE_BLACKSMITH]._iconNone = WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_ICON;
_capturePointInfo[BG_AB_NODE_LUMBER_MILL]._iconNone = WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_ICON;
_capturePointInfo[BG_AB_NODE_GOLD_MINE]._iconNone = WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_ICON;
_capturePointInfo[BG_AB_NODE_STABLES]._iconCapture = WORLD_STATE_BATTLEGROUND_AB_STABLE_STATE_ALLIANCE;
_capturePointInfo[BG_AB_NODE_FARM]._iconCapture = WORLD_STATE_BATTLEGROUND_AB_FARM_STATE_ALLIANCE;
_capturePointInfo[BG_AB_NODE_BLACKSMITH]._iconCapture = WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_STATE_ALLIANCE;
_capturePointInfo[BG_AB_NODE_LUMBER_MILL]._iconCapture = WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_STATE_ALLIANCE;
_capturePointInfo[BG_AB_NODE_GOLD_MINE]._iconCapture = WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_STATE_ALLIANCE;
uint32 bgArathiCapturePointsConfig = sWorld->getIntConfig(CONFIG_BATTLEGROUND_ARATHI_CAPTUREPOINTS);
_configurableMaxTeamScore = bgArathiCapturePointsConfig > 0

View File

@@ -40,46 +40,6 @@ enum BG_AB_Events
BG_AB_EVENT_HORDE_TICK = 12
};
enum BG_AB_WorldStates
{
BG_AB_OP_OCCUPIED_BASES_HORDE = 1778,
BG_AB_OP_OCCUPIED_BASES_ALLY = 1779,
BG_AB_OP_RESOURCES_ALLY = 1776,
BG_AB_OP_RESOURCES_HORDE = 1777,
BG_AB_OP_RESOURCES_MAX = 1780,
BG_AB_OP_RESOURCES_WARNING = 1955,
BG_AB_OP_STABLE_ICON = 1842, //Stable map icon (NONE)
BG_AB_OP_STABLE_STATE_ALIENCE = 1767, //Stable map state (ALIENCE)
BG_AB_OP_STABLE_STATE_HORDE = 1768, //Stable map state (HORDE)
BG_AB_OP_STABLE_STATE_CON_ALI = 1769, //Stable map state (CON ALIENCE)
BG_AB_OP_STABLE_STATE_CON_HOR = 1770, //Stable map state (CON HORDE)
BG_AB_OP_FARM_ICON = 1845, //Farm map icon (NONE)
BG_AB_OP_FARM_STATE_ALIENCE = 1772, //Farm state (ALIENCE)
BG_AB_OP_FARM_STATE_HORDE = 1773, //Farm state (HORDE)
BG_AB_OP_FARM_STATE_CON_ALI = 1774, //Farm state (CON ALIENCE)
BG_AB_OP_FARM_STATE_CON_HOR = 1775, //Farm state (CON HORDE)
BG_AB_OP_BLACKSMITH_ICON = 1846, //Blacksmith map icon (NONE)
BG_AB_OP_BLACKSMITH_STATE_ALIENCE = 1782, //Blacksmith map state (ALIENCE)
BG_AB_OP_BLACKSMITH_STATE_HORDE = 1783, //Blacksmith map state (HORDE)
BG_AB_OP_BLACKSMITH_STATE_CON_ALI = 1784, //Blacksmith map state (CON ALIENCE)
BG_AB_OP_BLACKSMITH_STATE_CON_HOR = 1785, //Blacksmith map state (CON HORDE)
BG_AB_OP_LUMBERMILL_ICON = 1844, //Lumber Mill map icon (NONE)
BG_AB_OP_LUMBERMILL_STATE_ALIENCE = 1792, //Lumber Mill map state (ALIENCE)
BG_AB_OP_LUMBERMILL_STATE_HORDE = 1793, //Lumber Mill map state (HORDE)
BG_AB_OP_LUMBERMILL_STATE_CON_ALI = 1794, //Lumber Mill map state (CON ALIENCE)
BG_AB_OP_LUMBERMILL_STATE_CON_HOR = 1795, //Lumber Mill map state (CON HORDE)
BG_AB_OP_GOLDMINE_ICON = 1843, //Gold Mine map icon (NONE)
BG_AB_OP_GOLDMINE_STATE_ALIENCE = 1787, //Gold Mine map state (ALIENCE)
BG_AB_OP_GOLDMINE_STATE_HORDE = 1788, //Gold Mine map state (HORDE)
BG_AB_OP_GOLDMINE_STATE_CON_ALI = 1789, //Gold Mine map state (CON ALIENCE
BG_AB_OP_GOLDMINE_STATE_CON_HOR = 1790, //Gold Mine map state (CON HORDE)
};
enum BG_AB_ObjectIds
{
BG_AB_OBJECTID_NODE_BANNER_0 = 180087, // Stables banner

View File

@@ -272,7 +272,7 @@ void BattlegroundAV::UpdateScore(TeamId teamId, int16 points)
//note: to remove reinforcementpoints points must be negative, for adding reinforcements points must be positive
m_Team_Scores[teamId] += points;
UpdateWorldState(((teamId == TEAM_HORDE) ? AV_Horde_Score : AV_Alliance_Score), m_Team_Scores[teamId]);
UpdateWorldState(((teamId == TEAM_HORDE) ? WORLD_STATE_BATTLEGROUND_AV_HORDE_SCORE : WORLD_STATE_BATTLEGROUND_AV_ALLIANCE_SCORE), m_Team_Scores[teamId]);
if (points < 0)
{
if (m_Team_Scores[teamId] < 1)
@@ -480,8 +480,8 @@ void BattlegroundAV::StartingEventOpenDoors()
if (BG_AV_SCORE_INITIAL_POINTS > 0) // display teamscores on top only if reinforcements are enabled
{
UpdateWorldState(AV_SHOW_H_SCORE, 1);
UpdateWorldState(AV_SHOW_A_SCORE, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_AV_SHOW_HORDE_SCORE, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_AV_SHOW_ALLIANCE_SCORE, 1);
}
DoorOpen(BG_AV_OBJECT_DOOR_H);
@@ -1118,14 +1118,14 @@ void BattlegroundAV::FillInitialWorldStates(WorldPackets::WorldState::InitWorldS
}
if (m_Nodes[BG_AV_NODES_SNOWFALL_GRAVE].OwnerId == TEAM_NEUTRAL) //cause neutral teams aren't handled generic
{
packet.Worldstates.emplace_back(AV_SNOWFALL_N, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_N, 1);
}
packet.Worldstates.emplace_back(AV_Alliance_Score, m_Team_Scores[0]);
packet.Worldstates.emplace_back(AV_Horde_Score, m_Team_Scores[1]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ALLIANCE_SCORE, m_Team_Scores[0]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_HORDE_SCORE, m_Team_Scores[1]);
packet.Worldstates.emplace_back(AV_SHOW_A_SCORE, GetStatus() == STATUS_IN_PROGRESS && BG_AV_SCORE_INITIAL_POINTS > 0 ? 1 : 0);
packet.Worldstates.emplace_back(AV_SHOW_H_SCORE, GetStatus() == STATUS_IN_PROGRESS && BG_AV_SCORE_INITIAL_POINTS > 0 ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_SHOW_ALLIANCE_SCORE, GetStatus() == STATUS_IN_PROGRESS && BG_AV_SCORE_INITIAL_POINTS > 0 ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_SHOW_HORDE_SCORE, GetStatus() == STATUS_IN_PROGRESS && BG_AV_SCORE_INITIAL_POINTS > 0 ? 1 : 0);
SendMineWorldStates(AV_NORTH_MINE);
SendMineWorldStates(AV_SOUTH_MINE);
@@ -1158,7 +1158,7 @@ void BattlegroundAV::UpdateNodeWorldState(BG_AV_Nodes node)
{
UpdateWorldState(BG_AV_NodeWorldStates[node][GetWorldStateType(m_Nodes[node].State, m_Nodes[node].OwnerId)], 1);
if (m_Nodes[node].PrevOwnerId == TEAM_NEUTRAL) //currently only snowfall is supported as neutral node (i don't want to make an extra row (neutral states) in worldstatesarray just for one node
UpdateWorldState(AV_SNOWFALL_N, 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_N, 0);
else
UpdateWorldState(BG_AV_NodeWorldStates[node][GetWorldStateType(m_Nodes[node].PrevState, m_Nodes[node].PrevOwnerId)], 0);
}

View File

@@ -20,6 +20,7 @@
#include "Battleground.h"
#include "BattlegroundScore.h"
#include "WorldStateDefines.h"
#define BG_AV_CAPTIME 240000 //4:00
#define BG_AV_SNOWFALL_FIRSTCAP 300000 //5:00 but i also have seen 4:05
@@ -1548,159 +1549,46 @@ enum BG_AV_States
POINT_CONTROLED = 3
};
enum BG_AV_WorldStates
{
AV_Alliance_Score = 3127,
AV_Horde_Score = 3128,
AV_SHOW_H_SCORE = 3133,
AV_SHOW_A_SCORE = 3134,
/*
//the comments behind the state shows which icon overlaps the other.. but is, until now, unused and maybe not a good solution (but give few performance (:)
// Graves
// Alliance
//Stormpike first aid station
AV_AID_A_C = 1325,
AV_AID_A_A = 1326,
AV_AID_H_C = 1327,
AV_AID_H_A = 1328,
//Stormpike Graveyard
AV_PIKEGRAVE_A_C = 1333,
AV_PIKEGRAVE_A_A = 1335,
AV_PIKEGRAVE_H_C = 1334,
AV_PIKEGRAVE_H_A = 1336,
//Stoneheart Grave
AV_STONEHEART_A_C = 1302,
AV_STONEHEART_A_A = 1304, //over hc
AV_STONEHEART_H_C = 1301, //over ac
AV_STONEHEART_H_A = 1303, //over aa
//Neutral
//Snowfall Grave
*/
AV_SNOWFALL_N = 1966, //over aa
/*
AV_SNOWFALL_A_C = 1341, //over hc
AV_SNOWFALL_A_A = 1343, //over ha
AV_SNOWFALL_H_C = 1342,
AV_SNOWFALL_H_A = 1344, //over ac
//Horde
//Iceblood grave
AV_ICEBLOOD_A_C = 1346, //over hc
AV_ICEBLOOD_A_A = 1348, //over ac
AV_ICEBLOOD_H_C = 1347,
AV_ICEBLOOD_H_A = 1349, //over aa
//Frostwolf Grave
AV_FROSTWOLF_A_C = 1337, //over hc
AV_FROSTWOLF_A_A = 1339, //over ac
AV_FROSTWOLF_H_C = 1338,
AV_FROSTWOLF_H_A = 1340, //over aa
//Frostwolf Hut
AV_FROSTWOLFHUT_A_C = 1329, //over hc
AV_FROSTWOLFHUT_A_A = 1331, //over ha
AV_FROSTWOLFHUT_H_C = 1330,
AV_FROSTWOLFHUT_H_A = 1332, //over ac
//Towers
//Alliance
//Dunbaldar South Bunker
AV_DUNS_CONTROLLED = 1361,
AV_DUNS_DESTROYED = 1370,
AV_DUNS_ASSAULTED = 1378,
//Dunbaldar North Bunker
AV_DUNN_CONTROLLED = 1362,
AV_DUNN_DESTROYED = 1371,
AV_DUNN_ASSAULTED = 1379,
//Icewing Bunker
AV_ICEWING_CONTROLLED = 1363,
AV_ICEWING_DESTROYED = 1372,
AV_ICEWING_ASSAULTED = 1380,
//Stoneheart Bunker
AV_STONEH_CONTROLLED = 1364,
AV_STONEH_DESTROYED = 1373,
AV_STONEH_ASSAULTED = 1381,
//Horde
//Iceblood Tower
AV_ICEBLOOD_CONTROLLED = 1385,
AV_ICEBLOOD_DESTROYED = 1368,
AV_ICEBLOOD_ASSAULTED = 1390,
//Tower Point
AV_TOWERPOINT_CONTROLLED = 1384,
AV_TOWERPOINT_DESTROYED = 1367, //goes over controlled
AV_TOWERPOINT_ASSAULTED = 1389, //goes over destroyed
//Frostwolf West
AV_FROSTWOLFW_CONTROLLED = 1382,
AV_FROSTWOLFW_DESTROYED = 1365, //over controlled
AV_FROSTWOLFW_ASSAULTED = 1387, //over destroyed
//Frostwolf East
AV_FROSTWOLFE_CONTROLLED = 1383,
AV_FROSTWOLFE_DESTROYED = 1366,
AV_FROSTWOLFE_ASSAULTED = 1388,
//mines
AV_N_MINE_N = 1360,
AV_N_MINE_A = 1358,
AV_N_MINE_H = 1359,
AV_S_MINE_N = 1357,
AV_S_MINE_A = 1355,
AV_S_MINE_H = 1356,
//towers assaulted by own team (unused)
AV_STONEH_UNUSED = 1377,
AV_ICEWING_UNUSED = 1376,
AV_DUNS_UNUSED = 1375,
AV_DUNN_UNUSED = 1374,
AV_ICEBLOOD_UNUSED = 1395,
AV_TOWERPOINT_UNUSED = 1394,
AV_FROSTWOLFE_UNUSED = 1393,
AV_FROSTWOLFW_UNUSED = 1392
*/
};
//alliance_control neutral_control horde_control
const uint32 BG_AV_MineWorldStates[2][3] =
{
{1358, 1360, 1359},
{1355, 1357, 1356}
{WORLD_STATE_BATTLEGROUND_AV_N_MINE_A, WORLD_STATE_BATTLEGROUND_AV_N_MINE_N, WORLD_STATE_BATTLEGROUND_AV_N_MINE_H},
{WORLD_STATE_BATTLEGROUND_AV_S_MINE_A, WORLD_STATE_BATTLEGROUND_AV_S_MINE_N, WORLD_STATE_BATTLEGROUND_AV_S_MINE_H}
};
//alliance_control alliance_assault h_control h_assault
const uint32 BG_AV_NodeWorldStates[16][4] =
{
//Stormpike first aid station
{1325, 1326, 1327, 1328},
{WORLD_STATE_BATTLEGROUND_AV_AID_A_C, WORLD_STATE_BATTLEGROUND_AV_AID_A_A, WORLD_STATE_BATTLEGROUND_AV_AID_H_C, WORLD_STATE_BATTLEGROUND_AV_AID_H_A},
//Stormpike Graveyard
{1333, 1335, 1334, 1336},
{WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_A_C, WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_A_A, WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_H_C, WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_H_A},
//Stoneheart Grave
{1302, 1304, 1301, 1303},
{WORLD_STATE_BATTLEGROUND_AV_STONEHEART_A_C, WORLD_STATE_BATTLEGROUND_AV_STONEHEART_A_A, WORLD_STATE_BATTLEGROUND_AV_STONEHEART_H_C, WORLD_STATE_BATTLEGROUND_AV_STONEHEART_H_A},
//Snowfall Grave
{1341, 1343, 1342, 1344},
{WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_A_C, WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_A_A, WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_H_C, WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_H_A},
//Iceblood grave
{1346, 1348, 1347, 1349},
{WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_A_C, WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_A_A, WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_H_C, WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_H_A},
//Frostwolf Grave
{1337, 1339, 1338, 1340},
{WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_A_C, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_A_A, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_H_C, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_H_A},
//Frostwolf Hut
{1329, 1331, 1330, 1332},
{WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_A_C, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_A_A, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_H_C, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_H_A},
//Dunbaldar South Bunker
{1361, 1375, 1370, 1378},
{WORLD_STATE_BATTLEGROUND_AV_DUNS_CONTROLLED, WORLD_STATE_BATTLEGROUND_AV_DUNS_UNUSED, WORLD_STATE_BATTLEGROUND_AV_DUNS_DESTROYED, WORLD_STATE_BATTLEGROUND_AV_DUNS_ASSAULTED},
//Dunbaldar North Bunker
{1362, 1374, 1371, 1379},
{WORLD_STATE_BATTLEGROUND_AV_DUNN_CONTROLLED, WORLD_STATE_BATTLEGROUND_AV_DUNN_UNUSED, WORLD_STATE_BATTLEGROUND_AV_DUNN_DESTROYED, WORLD_STATE_BATTLEGROUND_AV_DUNN_ASSAULTED},
//Icewing Bunker
{1363, 1376, 1372, 1380},
{WORLD_STATE_BATTLEGROUND_AV_ICEWING_CONTROLLED, WORLD_STATE_BATTLEGROUND_AV_ICEWING_UNUSED, WORLD_STATE_BATTLEGROUND_AV_ICEWING_DESTROYED, WORLD_STATE_BATTLEGROUND_AV_ICEWING_ASSAULTED},
//Stoneheart Bunker
{1364, 1377, 1373, 1381},
{WORLD_STATE_BATTLEGROUND_AV_STONEH_CONTROLLED, WORLD_STATE_BATTLEGROUND_AV_STONEH_UNUSED, WORLD_STATE_BATTLEGROUND_AV_STONEH_DESTROYED, WORLD_STATE_BATTLEGROUND_AV_STONEH_ASSAULTED},
//Iceblood Tower
{1368, 1390, 1385, 1395},
{WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_DESTROYED, WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_ASSAULTED, WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_CONTROLLED, WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_UNUSED},
//Tower Point
{1367, 1389, 1384, 1394},
{WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_DESTROYED, WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_ASSAULTED, WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_CONTROLLED, WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_UNUSED},
//Frostwolf East
{1366, 1388, 1383, 1393},
{WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_DESTROYED, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_ASSAULTED, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_CONTROLLED, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_UNUSED},
//Frostwolf West
{1365, 1387, 1382, 1392},
{WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_DESTROYED, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_ASSAULTED, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_CONTROLLED, WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_UNUSED},
};
enum BG_AV_QuestIds

View File

@@ -20,6 +20,7 @@
#include "Player.h"
#include "WorldPacket.h"
#include "WorldStatePackets.h"
#include "WorldStateDefines.h"
BattlegroundBE::BattlegroundBE()
{
@@ -90,7 +91,7 @@ void BattlegroundBE::HandleAreaTrigger(Player* player, uint32 trigger)
void BattlegroundBE::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
{
packet.Worldstates.emplace_back(0x9f3, 1); // BATTLEGROUND_BLADES_EDGE_ARENA_SHOW
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_BE_ARENA_SHOW, 1);
Arena::FillInitialWorldStates(packet);
}

View File

@@ -22,6 +22,7 @@
#include "ObjectAccessor.h"
#include "Player.h"
#include "WorldPacket.h"
#include "WorldStateDefines.h"
#include "WorldStatePackets.h"
BattlegroundDS::BattlegroundDS()
@@ -176,7 +177,7 @@ bool BattlegroundDS::HandlePlayerUnderMap(Player* player)
void BattlegroundDS::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
{
packet.Worldstates.emplace_back(0xe1a, 1); // ARENA_WORLD_STATE_ALIVE_PLAYERS_SHOW
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_RV_ARENA_SHOW, 1); // Wrong worldstate used
Arena::FillInitialWorldStates(packet);
}

View File

@@ -120,7 +120,7 @@ void BattlegroundEY::AddPoints(TeamId teamId, uint32 points)
for (; honorRewards < uint8(m_TeamScores[teamId] / _honorTics); ++honorRewards)
RewardHonorToTeam(GetBonusHonorFromKill(1), teamId);
UpdateWorldState(teamId == TEAM_ALLIANCE ? EY_ALLIANCE_RESOURCES : EY_HORDE_RESOURCES, std::min<uint32>(m_TeamScores[teamId], _configurableMaxTeamScore));
UpdateWorldState(teamId == TEAM_ALLIANCE ? WORLD_STATE_BATTLEGROUND_EY_ALLIANCE_RESOURCES : WORLD_STATE_BATTLEGROUND_EY_HORDE_RESOURCES, std::min<uint32>(m_TeamScores[teamId], _configurableMaxTeamScore));
if (m_TeamScores[teamId] >= static_cast<int32>(_configurableMaxTeamScore))
EndBattleground(teamId);
}
@@ -138,14 +138,14 @@ void BattlegroundEY::UpdatePointsState()
const BattlegroundPlayerMap& bgPlayerMap = GetPlayers();
for (BattlegroundPlayerMap::const_iterator itr = bgPlayerMap.begin(); itr != bgPlayerMap.end(); ++itr)
{
itr->second->SendUpdateWorldState(PROGRESS_BAR_SHOW, BG_EY_PROGRESS_BAR_DONT_SHOW);
itr->second->SendUpdateWorldState(WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_SHOW, BG_EY_PROGRESS_BAR_DONT_SHOW);
for (uint8 point = 0; point < EY_POINTS_MAX; ++point)
if (GameObject* pointObject = pointsVec[point])
if (itr->second->CanCaptureTowerPoint() && itr->second->IsWithinDistInMap(pointObject, BG_EY_POINT_RADIUS))
{
itr->second->SendUpdateWorldState(PROGRESS_BAR_SHOW, BG_EY_PROGRESS_BAR_SHOW);
itr->second->SendUpdateWorldState(PROGRESS_BAR_PERCENT_GREY, BG_EY_PROGRESS_BAR_PERCENT_GREY);
itr->second->SendUpdateWorldState(PROGRESS_BAR_STATUS, _capturePointInfo[point]._barStatus);
itr->second->SendUpdateWorldState(WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_SHOW, BG_EY_PROGRESS_BAR_SHOW);
itr->second->SendUpdateWorldState(WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_PERCENT_GREY, BG_EY_PROGRESS_BAR_PERCENT_GREY);
itr->second->SendUpdateWorldState(WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_STATUS, _capturePointInfo[point]._barStatus);
++_capturePointInfo[point]._playersCount[itr->second->GetTeamId()];
_capturePointInfo[point].player = itr->second;
@@ -187,8 +187,8 @@ void BattlegroundEY::EndBattleground(TeamId winnerTeamId)
void BattlegroundEY::UpdatePointsCount()
{
UpdateWorldState(EY_ALLIANCE_BASE, _ownedPointsCount[TEAM_ALLIANCE]);
UpdateWorldState(EY_HORDE_BASE, _ownedPointsCount[TEAM_HORDE]);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_EY_ALLIANCE_BASE, _ownedPointsCount[TEAM_ALLIANCE]);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_EY_HORDE_BASE, _ownedPointsCount[TEAM_HORDE]);
}
void BattlegroundEY::UpdatePointsIcons(uint32 point)
@@ -382,7 +382,7 @@ void BattlegroundEY::RespawnFlag()
SendBroadcastText(BG_EY_TEXT_FLAG_RESET, CHAT_MSG_BG_SYSTEM_NEUTRAL);
PlaySoundToAll(BG_EY_SOUND_FLAG_RESET);
UpdateWorldState(NETHERSTORM_FLAG, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_EY_FLAG, 1);
}
void BattlegroundEY::RespawnFlagAfterDrop()
@@ -442,7 +442,7 @@ void BattlegroundEY::EventPlayerClickedOnFlag(Player* player, GameObject* gameOb
player->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_ENTER_PVP_COMBAT);
PlaySoundToAll(player->GetTeamId() == TEAM_ALLIANCE ? BG_EY_SOUND_FLAG_PICKED_UP_ALLIANCE : BG_EY_SOUND_FLAG_PICKED_UP_HORDE);
UpdateWorldState(NETHERSTORM_FLAG, 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_EY_FLAG, 0);
if (player->GetTeamId() == TEAM_ALLIANCE)
SendBroadcastText(BG_EY_TEXT_TAKEN_FLAG, CHAT_MSG_BG_SYSTEM_ALLIANCE, player);
@@ -577,28 +577,28 @@ bool BattlegroundEY::UpdatePlayerScore(Player* player, uint32 type, uint32 value
void BattlegroundEY::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
{
packet.Worldstates.reserve(22);
packet.Worldstates.emplace_back(EY_HORDE_BASE, _ownedPointsCount[TEAM_HORDE]);
packet.Worldstates.emplace_back(EY_ALLIANCE_BASE, _ownedPointsCount[TEAM_ALLIANCE]);
packet.Worldstates.emplace_back(DRAENEI_RUINS_HORDE_CONTROL, _capturePointInfo[POINT_DRAENEI_RUINS].IsUnderControl(TEAM_HORDE));
packet.Worldstates.emplace_back(DRAENEI_RUINS_ALLIANCE_CONTROL, _capturePointInfo[POINT_DRAENEI_RUINS].IsUnderControl(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(DRAENEI_RUINS_UNCONTROL, _capturePointInfo[POINT_DRAENEI_RUINS].IsUncontrolled());
packet.Worldstates.emplace_back(MAGE_TOWER_ALLIANCE_CONTROL, _capturePointInfo[POINT_MAGE_TOWER].IsUnderControl(TEAM_HORDE));
packet.Worldstates.emplace_back(MAGE_TOWER_HORDE_CONTROL, _capturePointInfo[POINT_MAGE_TOWER].IsUnderControl(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(MAGE_TOWER_UNCONTROL, _capturePointInfo[POINT_MAGE_TOWER].IsUncontrolled());
packet.Worldstates.emplace_back(FEL_REAVER_HORDE_CONTROL, _capturePointInfo[POINT_FEL_REAVER].IsUnderControl(TEAM_HORDE));
packet.Worldstates.emplace_back(FEL_REAVER_ALLIANCE_CONTROL, _capturePointInfo[POINT_FEL_REAVER].IsUnderControl(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(FEL_REAVER_UNCONTROL, _capturePointInfo[POINT_FEL_REAVER].IsUncontrolled());
packet.Worldstates.emplace_back(BLOOD_ELF_HORDE_CONTROL, _capturePointInfo[POINT_BLOOD_ELF].IsUnderControl(TEAM_HORDE));
packet.Worldstates.emplace_back(BLOOD_ELF_ALLIANCE_CONTROL, _capturePointInfo[POINT_BLOOD_ELF].IsUnderControl(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(BLOOD_ELF_UNCONTROL, _capturePointInfo[POINT_BLOOD_ELF].IsUncontrolled());
packet.Worldstates.emplace_back(NETHERSTORM_FLAG, _flagState == BG_EY_FLAG_STATE_ON_BASE);
packet.Worldstates.emplace_back(NETHERSTORM_FLAG_STATE_HORDE, 1);
packet.Worldstates.emplace_back(NETHERSTORM_FLAG_STATE_ALLIANCE, 1);
packet.Worldstates.emplace_back(EY_HORDE_RESOURCES, GetTeamScore(TEAM_HORDE));
packet.Worldstates.emplace_back(EY_ALLIANCE_RESOURCES, GetTeamScore(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(PROGRESS_BAR_SHOW, 0);
packet.Worldstates.emplace_back(PROGRESS_BAR_PERCENT_GREY, 0);
packet.Worldstates.emplace_back(PROGRESS_BAR_STATUS, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_HORDE_BASE, _ownedPointsCount[TEAM_HORDE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_ALLIANCE_BASE, _ownedPointsCount[TEAM_ALLIANCE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_HORDE_CONTROL, _capturePointInfo[POINT_DRAENEI_RUINS].IsUnderControl(TEAM_HORDE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_ALLIANCE_CONTROL, _capturePointInfo[POINT_DRAENEI_RUINS].IsUnderControl(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_UNCONTROL, _capturePointInfo[POINT_DRAENEI_RUINS].IsUncontrolled());
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_ALLIANCE_CONTROL, _capturePointInfo[POINT_MAGE_TOWER].IsUnderControl(TEAM_HORDE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_HORDE_CONTROL, _capturePointInfo[POINT_MAGE_TOWER].IsUnderControl(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_UNCONTROL, _capturePointInfo[POINT_MAGE_TOWER].IsUncontrolled());
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_HORDE_CONTROL, _capturePointInfo[POINT_FEL_REAVER].IsUnderControl(TEAM_HORDE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_ALLIANCE_CONTROL, _capturePointInfo[POINT_FEL_REAVER].IsUnderControl(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_UNCONTROL, _capturePointInfo[POINT_FEL_REAVER].IsUncontrolled());
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_HORDE_CONTROL, _capturePointInfo[POINT_BLOOD_ELF].IsUnderControl(TEAM_HORDE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_ALLIANCE_CONTROL, _capturePointInfo[POINT_BLOOD_ELF].IsUnderControl(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_UNCONTROL, _capturePointInfo[POINT_BLOOD_ELF].IsUncontrolled());
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FLAG, _flagState == BG_EY_FLAG_STATE_ON_BASE);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FLAG_STATE_HORDE, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FLAG_STATE_ALLIANCE, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_HORDE_RESOURCES, GetTeamScore(TEAM_HORDE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_ALLIANCE_RESOURCES, GetTeamScore(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_SHOW, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_PERCENT_GREY, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_STATUS, 0);
}
GraveyardStruct const* BattlegroundEY::GetClosestGraveyard(Player* player)

View File

@@ -21,6 +21,7 @@
#include "Battleground.h"
#include "BattlegroundScore.h"
#include "EventMap.h"
#include "WorldStateDefines.h"
enum BG_EY_Events
{
@@ -38,33 +39,6 @@ enum BG_EY_Timers
BG_EY_FPOINTS_TICK_TIME = 2 * IN_MILLISECONDS
};
enum BG_EY_WorldStates
{
EY_ALLIANCE_RESOURCES = 2749,
EY_HORDE_RESOURCES = 2750,
EY_ALLIANCE_BASE = 2752,
EY_HORDE_BASE = 2753,
DRAENEI_RUINS_HORDE_CONTROL = 2733,
DRAENEI_RUINS_ALLIANCE_CONTROL = 2732,
DRAENEI_RUINS_UNCONTROL = 2731,
MAGE_TOWER_ALLIANCE_CONTROL = 2730,
MAGE_TOWER_HORDE_CONTROL = 2729,
MAGE_TOWER_UNCONTROL = 2728,
FEL_REAVER_HORDE_CONTROL = 2727,
FEL_REAVER_ALLIANCE_CONTROL = 2726,
FEL_REAVER_UNCONTROL = 2725,
BLOOD_ELF_HORDE_CONTROL = 2724,
BLOOD_ELF_ALLIANCE_CONTROL = 2723,
BLOOD_ELF_UNCONTROL = 2722,
PROGRESS_BAR_PERCENT_GREY = 2720, //100 = empty (only grey), 0 = blue|red (no grey)
PROGRESS_BAR_STATUS = 2719, //50 init!, 48 ... hordak bere .. 33 .. 0 = full 100% hordacky, 100 = full alliance
PROGRESS_BAR_SHOW = 2718, //1 init, 0 druhy send - bez messagu, 1 = controlled aliance
NETHERSTORM_FLAG = 2757,
//set to 2 when flag is picked up, and to 1 if it is dropped
NETHERSTORM_FLAG_STATE_ALLIANCE = 2769,
NETHERSTORM_FLAG_STATE_HORDE = 2770
};
enum BG_EY_ProgressBarConsts
{
BG_EY_POINT_MAX_CAPTURERS_COUNT = 5,
@@ -326,10 +300,10 @@ const uint32 BG_EY_FlagPoints[EY_POINTS_MAX] = {75, 85, 100, 500};
//constant arrays:
const BattlegroundEYPointIconsStruct m_PointsIconStruct[EY_POINTS_MAX] =
{
BattlegroundEYPointIconsStruct(FEL_REAVER_UNCONTROL, FEL_REAVER_ALLIANCE_CONTROL, FEL_REAVER_HORDE_CONTROL),
BattlegroundEYPointIconsStruct(BLOOD_ELF_UNCONTROL, BLOOD_ELF_ALLIANCE_CONTROL, BLOOD_ELF_HORDE_CONTROL),
BattlegroundEYPointIconsStruct(DRAENEI_RUINS_UNCONTROL, DRAENEI_RUINS_ALLIANCE_CONTROL, DRAENEI_RUINS_HORDE_CONTROL),
BattlegroundEYPointIconsStruct(MAGE_TOWER_UNCONTROL, MAGE_TOWER_ALLIANCE_CONTROL, MAGE_TOWER_HORDE_CONTROL)
BattlegroundEYPointIconsStruct(WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_UNCONTROL, WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_ALLIANCE_CONTROL, WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_HORDE_CONTROL),
BattlegroundEYPointIconsStruct(WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_UNCONTROL, WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_ALLIANCE_CONTROL, WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_HORDE_CONTROL),
BattlegroundEYPointIconsStruct(WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_UNCONTROL, WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_ALLIANCE_CONTROL, WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_HORDE_CONTROL),
BattlegroundEYPointIconsStruct(WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_UNCONTROL, WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_ALLIANCE_CONTROL, WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_HORDE_CONTROL)
};
const BattlegroundEYLosingPointStruct m_LosingPointTypes[EY_POINTS_MAX] =

View File

@@ -268,7 +268,7 @@ void BattlegroundIC::PostUpdateImpl(uint32 diff)
{
factionReinforcements[nodePoint[i].faction] += 1;
RewardHonorToTeam(RESOURCE_HONOR_AMOUNT, nodePoint[i].faction);
UpdateWorldState((nodePoint[i].faction == TEAM_ALLIANCE ? BG_IC_ALLIANCE_RENFORT : BG_IC_HORDE_RENFORT), factionReinforcements[nodePoint[i].faction]);
UpdateWorldState((nodePoint[i].faction == TEAM_ALLIANCE ? WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_REINFORCEMENT : WORLD_STATE_BATTLEGROUND_IC_HORDE_REINFORCEMENT), factionReinforcements[nodePoint[i].faction]);
}
}
resourceTimer = IC_RESOURCE_TIME;
@@ -385,10 +385,10 @@ bool BattlegroundIC::UpdatePlayerScore(Player* player, uint32 type, uint32 value
void BattlegroundIC::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
{
packet.Worldstates.reserve(4+MAX_FORTRESS_GATES_SPAWNS+MAX_NODE_TYPES+1);
packet.Worldstates.emplace_back(BG_IC_ALLIANCE_RENFORT_SET, 1);
packet.Worldstates.emplace_back(BG_IC_HORDE_RENFORT_SET, 1);
packet.Worldstates.emplace_back(BG_IC_ALLIANCE_RENFORT, factionReinforcements[TEAM_ALLIANCE]);
packet.Worldstates.emplace_back(BG_IC_HORDE_RENFORT, factionReinforcements[TEAM_HORDE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_REINFORCEMENT_SET, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_HORDE_REINFORCEMENT_SET, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_REINFORCEMENT, factionReinforcements[TEAM_ALLIANCE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_HORDE_REINFORCEMENT, factionReinforcements[TEAM_HORDE]);
for (uint8 i = 0; i < MAX_FORTRESS_GATES_SPAWNS; ++i)
{
@@ -399,7 +399,7 @@ void BattlegroundIC::FillInitialWorldStates(WorldPackets::WorldState::InitWorldS
for (uint8 i = 0; i < MAX_NODE_TYPES; ++i)
packet.Worldstates.emplace_back(nodePoint[i].worldStates[nodePoint[i].nodeState], 1);
packet.Worldstates.emplace_back(BG_IC_HORDE_RENFORT_SET, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_HORDE_REINFORCEMENT_SET, 1);
}
bool BattlegroundIC::SetupBattleground()
@@ -545,7 +545,7 @@ void BattlegroundIC::HandleKillPlayer(Player* player, Player* killer)
factionReinforcements[player->GetTeamId()] -= 1;
UpdateWorldState((player->GetTeamId() == TEAM_ALLIANCE ? BG_IC_ALLIANCE_RENFORT : BG_IC_HORDE_RENFORT), factionReinforcements[player->GetTeamId()]);
UpdateWorldState((player->GetTeamId() == TEAM_ALLIANCE ? WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_REINFORCEMENT : WORLD_STATE_BATTLEGROUND_IC_HORDE_REINFORCEMENT), factionReinforcements[player->GetTeamId()]);
// we must end the battleground
if (factionReinforcements[player->GetTeamId()] < 1)

View File

@@ -21,6 +21,7 @@
#include "Battleground.h"
#include "BattlegroundScore.h"
#include "Object.h"
#include "WorldStateDefines.h"
const uint32 BG_IC_Factions[PVP_TEAMS_COUNT] =
{
@@ -735,68 +736,6 @@ enum BG_IC_Objectives
IC_OBJECTIVE_DEFEND_BASE = 246
};
enum ICWorldStates
{
BG_IC_ALLIANCE_RENFORT_SET = 4221,
BG_IC_HORDE_RENFORT_SET = 4222,
BG_IC_ALLIANCE_RENFORT = 4226,
BG_IC_HORDE_RENFORT = 4227,
BG_IC_GATE_FRONT_H_WS_CLOSED = 4317,
BG_IC_GATE_WEST_H_WS_CLOSED = 4318,
BG_IC_GATE_EAST_H_WS_CLOSED = 4319,
BG_IC_GATE_FRONT_A_WS_CLOSED = 4328,
BG_IC_GATE_WEST_A_WS_CLOSED = 4327,
BG_IC_GATE_EAST_A_WS_CLOSED = 4326,
BG_IC_GATE_FRONT_H_WS_OPEN = 4322,
BG_IC_GATE_WEST_H_WS_OPEN = 4321,
BG_IC_GATE_EAST_H_WS_OPEN = 4320,
BG_IC_GATE_FRONT_A_WS_OPEN = 4323,
BG_IC_GATE_WEST_A_WS_OPEN = 4324,
BG_IC_GATE_EAST_A_WS_OPEN = 4325,
BG_IC_DOCKS_UNCONTROLLED = 4301,
BG_IC_DOCKS_CONFLICT_A = 4305,
BG_IC_DOCKS_CONFLICT_H = 4302,
BG_IC_DOCKS_CONTROLLED_A = 4304,
BG_IC_DOCKS_CONTROLLED_H = 4303,
BG_IC_HANGAR_UNCONTROLLED = 4296,
BG_IC_HANGAR_CONFLICT_A = 4300,
BG_IC_HANGAR_CONFLICT_H = 4297,
BG_IC_HANGAR_CONTROLLED_A = 4299,
BG_IC_HANGAR_CONTROLLED_H = 4298,
BG_IC_QUARRY_UNCONTROLLED = 4306,
BG_IC_QUARRY_CONFLICT_A = 4310,
BG_IC_QUARRY_CONFLICT_H = 4307,
BG_IC_QUARRY_CONTROLLED_A = 4309,
BG_IC_QUARRY_CONTROLLED_H = 4308,
BG_IC_REFINERY_UNCONTROLLED = 4311,
BG_IC_REFINERY_CONFLICT_A = 4315,
BG_IC_REFINERY_CONFLICT_H = 4312,
BG_IC_REFINERY_CONTROLLED_A = 4314,
BG_IC_REFINERY_CONTROLLED_H = 4313,
BG_IC_WORKSHOP_UNCONTROLLED = 4294,
BG_IC_WORKSHOP_CONFLICT_A = 4228,
BG_IC_WORKSHOP_CONFLICT_H = 4293,
BG_IC_WORKSHOP_CONTROLLED_A = 4229,
BG_IC_WORKSHOP_CONTROLLED_H = 4230,
BG_IC_ALLIANCE_KEEP_UNCONTROLLED = 4341,
BG_IC_ALLIANCE_KEEP_CONFLICT_A = 4342,
BG_IC_ALLIANCE_KEEP_CONFLICT_H = 4343,
BG_IC_ALLIANCE_KEEP_CONTROLLED_A = 4339,
BG_IC_ALLIANCE_KEEP_CONTROLLED_H = 4340,
BG_IC_HORDE_KEEP_UNCONTROLLED = 4346,
BG_IC_HORDE_KEEP_CONFLICT_A = 4347,
BG_IC_HORDE_KEEP_CONFLICT_H = 4348,
BG_IC_HORDE_KEEP_CONTROLLED_A = 4344,
BG_IC_HORDE_KEEP_CONTROLLED_H = 4345
};
enum BG_IC_GateState
{
BG_IC_GATE_OK = 1,
@@ -901,13 +840,13 @@ struct ICNodePoint
const ICNodePoint nodePointInitial[MAX_NODE_TYPES] =
{
{BG_IC_GO_REFINERY_BANNER, GO_REFINERY_BANNER, TEAM_NEUTRAL, NODE_TYPE_REFINERY, {GO_ALLIANCE_BANNER_REFINERY, GO_ALLIANCE_BANNER_REFINERY_CONT, GO_HORDE_BANNER_REFINERY, GO_HORDE_BANNER_REFINERY_CONT}, false, 0, 0, {BG_IC_REFINERY_UNCONTROLLED, BG_IC_REFINERY_CONFLICT_A, BG_IC_REFINERY_CONFLICT_H, BG_IC_REFINERY_CONTROLLED_A, BG_IC_REFINERY_CONTROLLED_H}, NODE_STATE_UNCONTROLLED},
{BG_IC_GO_QUARRY_BANNER, GO_QUARRY_BANNER, TEAM_NEUTRAL, NODE_TYPE_QUARRY, {GO_ALLIANCE_BANNER_QUARRY, GO_ALLIANCE_BANNER_QUARRY_CONT, GO_HORDE_BANNER_QUARRY, GO_HORDE_BANNER_QUARRY_CONT}, false, 0, 0, {BG_IC_QUARRY_UNCONTROLLED, BG_IC_QUARRY_CONFLICT_A, BG_IC_QUARRY_CONFLICT_H, BG_IC_QUARRY_CONTROLLED_A, BG_IC_QUARRY_CONTROLLED_H}, NODE_STATE_UNCONTROLLED},
{BG_IC_GO_DOCKS_BANNER, GO_DOCKS_BANNER, TEAM_NEUTRAL, NODE_TYPE_DOCKS, {GO_ALLIANCE_BANNER_DOCK, GO_ALLIANCE_BANNER_DOCK_CONT, GO_HORDE_BANNER_DOCK, GO_HORDE_BANNER_DOCK_CONT}, false, 0, 0, {BG_IC_DOCKS_UNCONTROLLED, BG_IC_DOCKS_CONFLICT_A, BG_IC_DOCKS_CONFLICT_H, BG_IC_DOCKS_CONTROLLED_A, BG_IC_DOCKS_CONTROLLED_H}, NODE_STATE_UNCONTROLLED},
{BG_IC_GO_HANGAR_BANNER, GO_HANGAR_BANNER, TEAM_NEUTRAL, NODE_TYPE_HANGAR, {GO_ALLIANCE_BANNER_HANGAR, GO_ALLIANCE_BANNER_HANGAR_CONT, GO_HORDE_BANNER_HANGAR, GO_HORDE_BANNER_HANGAR_CONT}, false, 0, 0, {BG_IC_HANGAR_UNCONTROLLED, BG_IC_HANGAR_CONFLICT_A, BG_IC_HANGAR_CONFLICT_H, BG_IC_HANGAR_CONTROLLED_A, BG_IC_HANGAR_CONTROLLED_H}, NODE_STATE_UNCONTROLLED},
{BG_IC_GO_WORKSHOP_BANNER, GO_WORKSHOP_BANNER, TEAM_NEUTRAL, NODE_TYPE_WORKSHOP, {GO_ALLIANCE_BANNER_WORKSHOP, GO_ALLIANCE_BANNER_WORKSHOP_CONT, GO_HORDE_BANNER_WORKSHOP, GO_HORDE_BANNER_WORKSHOP_CONT}, false, 0, 0, {BG_IC_WORKSHOP_UNCONTROLLED, BG_IC_WORKSHOP_CONFLICT_A, BG_IC_WORKSHOP_CONFLICT_H, BG_IC_WORKSHOP_CONTROLLED_A, BG_IC_WORKSHOP_CONTROLLED_H}, NODE_STATE_UNCONTROLLED},
{BG_IC_GO_ALLIANCE_BANNER, GO_ALLIANCE_BANNER, TEAM_ALLIANCE, NODE_TYPE_GRAVEYARD_A, {GO_ALLIANCE_BANNER_GRAVEYARD_A, GO_ALLIANCE_BANNER_GRAVEYARD_A_CONT, GO_HORDE_BANNER_GRAVEYARD_A, GO_HORDE_BANNER_GRAVEYARD_A_CONT}, false, 0, 0, {BG_IC_ALLIANCE_KEEP_UNCONTROLLED, BG_IC_ALLIANCE_KEEP_CONFLICT_A, BG_IC_ALLIANCE_KEEP_CONFLICT_H, BG_IC_ALLIANCE_KEEP_CONTROLLED_A, BG_IC_ALLIANCE_KEEP_CONTROLLED_H}, NODE_STATE_CONTROLLED_A},
{BG_IC_GO_HORDE_BANNER, GO_HORDE_BANNER, TEAM_HORDE, NODE_TYPE_GRAVEYARD_H, {GO_ALLIANCE_BANNER_GRAVEYARD_H, GO_ALLIANCE_BANNER_GRAVEYARD_H_CONT, GO_HORDE_BANNER_GRAVEYARD_H, GO_HORDE_BANNER_GRAVEYARD_H_CONT}, false, 0, 0, {BG_IC_HORDE_KEEP_UNCONTROLLED, BG_IC_HORDE_KEEP_CONFLICT_A, BG_IC_HORDE_KEEP_CONFLICT_H, BG_IC_HORDE_KEEP_CONTROLLED_A, BG_IC_HORDE_KEEP_CONTROLLED_H}, NODE_STATE_CONTROLLED_H}
{BG_IC_GO_REFINERY_BANNER, GO_REFINERY_BANNER, TEAM_NEUTRAL, NODE_TYPE_REFINERY, {GO_ALLIANCE_BANNER_REFINERY, GO_ALLIANCE_BANNER_REFINERY_CONT, GO_HORDE_BANNER_REFINERY, GO_HORDE_BANNER_REFINERY_CONT}, false, 0, 0, {WORLD_STATE_BATTLEGROUND_IC_REFINERY_UNCONTROLLED, WORLD_STATE_BATTLEGROUND_IC_REFINERY_CONFLICT_A, WORLD_STATE_BATTLEGROUND_IC_REFINERY_CONFLICT_H, WORLD_STATE_BATTLEGROUND_IC_REFINERY_CONTROLLED_A, WORLD_STATE_BATTLEGROUND_IC_REFINERY_CONTROLLED_H}, NODE_STATE_UNCONTROLLED},
{BG_IC_GO_QUARRY_BANNER, GO_QUARRY_BANNER, TEAM_NEUTRAL, NODE_TYPE_QUARRY, {GO_ALLIANCE_BANNER_QUARRY, GO_ALLIANCE_BANNER_QUARRY_CONT, GO_HORDE_BANNER_QUARRY, GO_HORDE_BANNER_QUARRY_CONT}, false, 0, 0, {WORLD_STATE_BATTLEGROUND_IC_QUARRY_UNCONTROLLED, WORLD_STATE_BATTLEGROUND_IC_QUARRY_CONFLICT_A, WORLD_STATE_BATTLEGROUND_IC_QUARRY_CONFLICT_H, WORLD_STATE_BATTLEGROUND_IC_QUARRY_CONTROLLED_A, WORLD_STATE_BATTLEGROUND_IC_QUARRY_CONTROLLED_H}, NODE_STATE_UNCONTROLLED},
{BG_IC_GO_DOCKS_BANNER, GO_DOCKS_BANNER, TEAM_NEUTRAL, NODE_TYPE_DOCKS, {GO_ALLIANCE_BANNER_DOCK, GO_ALLIANCE_BANNER_DOCK_CONT, GO_HORDE_BANNER_DOCK, GO_HORDE_BANNER_DOCK_CONT}, false, 0, 0, {WORLD_STATE_BATTLEGROUND_IC_DOCKS_UNCONTROLLED, WORLD_STATE_BATTLEGROUND_IC_DOCKS_CONFLICT_A, WORLD_STATE_BATTLEGROUND_IC_DOCKS_CONFLICT_H, WORLD_STATE_BATTLEGROUND_IC_DOCKS_CONTROLLED_A, WORLD_STATE_BATTLEGROUND_IC_DOCKS_CONTROLLED_H}, NODE_STATE_UNCONTROLLED},
{BG_IC_GO_HANGAR_BANNER, GO_HANGAR_BANNER, TEAM_NEUTRAL, NODE_TYPE_HANGAR, {GO_ALLIANCE_BANNER_HANGAR, GO_ALLIANCE_BANNER_HANGAR_CONT, GO_HORDE_BANNER_HANGAR, GO_HORDE_BANNER_HANGAR_CONT}, false, 0, 0, {WORLD_STATE_BATTLEGROUND_IC_HANGAR_UNCONTROLLED, WORLD_STATE_BATTLEGROUND_IC_HANGAR_CONFLICT_A, WORLD_STATE_BATTLEGROUND_IC_HANGAR_CONFLICT_H, WORLD_STATE_BATTLEGROUND_IC_HANGAR_CONTROLLED_A, WORLD_STATE_BATTLEGROUND_IC_HANGAR_CONTROLLED_H}, NODE_STATE_UNCONTROLLED},
{BG_IC_GO_WORKSHOP_BANNER, GO_WORKSHOP_BANNER, TEAM_NEUTRAL, NODE_TYPE_WORKSHOP, {GO_ALLIANCE_BANNER_WORKSHOP, GO_ALLIANCE_BANNER_WORKSHOP_CONT, GO_HORDE_BANNER_WORKSHOP, GO_HORDE_BANNER_WORKSHOP_CONT}, false, 0, 0, {WORLD_STATE_BATTLEGROUND_IC_WORKSHOP_UNCONTROLLED, WORLD_STATE_BATTLEGROUND_IC_WORKSHOP_CONFLICT_A, WORLD_STATE_BATTLEGROUND_IC_WORKSHOP_CONFLICT_H, WORLD_STATE_BATTLEGROUND_IC_WORKSHOP_CONTROLLED_A, WORLD_STATE_BATTLEGROUND_IC_WORKSHOP_CONTROLLED_H}, NODE_STATE_UNCONTROLLED},
{BG_IC_GO_ALLIANCE_BANNER, GO_ALLIANCE_BANNER, TEAM_ALLIANCE, NODE_TYPE_GRAVEYARD_A, {GO_ALLIANCE_BANNER_GRAVEYARD_A, GO_ALLIANCE_BANNER_GRAVEYARD_A_CONT, GO_HORDE_BANNER_GRAVEYARD_A, GO_HORDE_BANNER_GRAVEYARD_A_CONT}, false, 0, 0, {WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_KEEP_UNCONTROLLED, WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_KEEP_CONFLICT_A, WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_KEEP_CONFLICT_H, WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_KEEP_CONTROLLED_A, WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_KEEP_CONTROLLED_H}, NODE_STATE_CONTROLLED_A},
{BG_IC_GO_HORDE_BANNER, GO_HORDE_BANNER, TEAM_HORDE, NODE_TYPE_GRAVEYARD_H, {GO_ALLIANCE_BANNER_GRAVEYARD_H, GO_ALLIANCE_BANNER_GRAVEYARD_H_CONT, GO_HORDE_BANNER_GRAVEYARD_H, GO_HORDE_BANNER_GRAVEYARD_H_CONT}, false, 0, 0, {WORLD_STATE_BATTLEGROUND_IC_HORDE_KEEP_UNCONTROLLED, WORLD_STATE_BATTLEGROUND_IC_HORDE_KEEP_CONFLICT_A, WORLD_STATE_BATTLEGROUND_IC_HORDE_KEEP_CONFLICT_H, WORLD_STATE_BATTLEGROUND_IC_HORDE_KEEP_CONTROLLED_A, WORLD_STATE_BATTLEGROUND_IC_HORDE_KEEP_CONTROLLED_H}, NODE_STATE_CONTROLLED_H}
};
enum HonorRewards
@@ -1035,22 +974,22 @@ private:
switch (id)
{
case GO_HORDE_GATE_1:
uws = (open ? BG_IC_GATE_FRONT_H_WS_OPEN : BG_IC_GATE_FRONT_H_WS_CLOSED);
uws = (open ? WORLD_STATE_BATTLEGROUND_IC_GATE_FRONT_H_WS_OPEN : WORLD_STATE_BATTLEGROUND_IC_GATE_FRONT_H_WS_CLOSED);
break;
case GO_HORDE_GATE_2:
uws = (open ? BG_IC_GATE_EAST_H_WS_OPEN : BG_IC_GATE_EAST_H_WS_CLOSED);
uws = (open ? WORLD_STATE_BATTLEGROUND_IC_GATE_EAST_H_WS_OPEN : WORLD_STATE_BATTLEGROUND_IC_GATE_EAST_H_WS_CLOSED);
break;
case GO_HORDE_GATE_3:
uws = (open ? BG_IC_GATE_WEST_H_WS_OPEN : BG_IC_GATE_WEST_H_WS_CLOSED);
uws = (open ? WORLD_STATE_BATTLEGROUND_IC_GATE_WEST_H_WS_OPEN : WORLD_STATE_BATTLEGROUND_IC_GATE_WEST_H_WS_CLOSED);
break;
case GO_ALLIANCE_GATE_3:
uws = (open ? BG_IC_GATE_FRONT_A_WS_OPEN : BG_IC_GATE_FRONT_A_WS_CLOSED);
uws = (open ? WORLD_STATE_BATTLEGROUND_IC_GATE_FRONT_A_WS_OPEN : WORLD_STATE_BATTLEGROUND_IC_GATE_FRONT_A_WS_CLOSED);
break;
case GO_ALLIANCE_GATE_1:
uws = (open ? BG_IC_GATE_WEST_A_WS_OPEN : BG_IC_GATE_WEST_A_WS_CLOSED);
uws = (open ? WORLD_STATE_BATTLEGROUND_IC_GATE_WEST_A_WS_OPEN : WORLD_STATE_BATTLEGROUND_IC_GATE_WEST_A_WS_CLOSED);
break;
case GO_ALLIANCE_GATE_2:
uws = (open ? BG_IC_GATE_EAST_A_WS_OPEN : BG_IC_GATE_EAST_A_WS_CLOSED);
uws = (open ? WORLD_STATE_BATTLEGROUND_IC_GATE_EAST_A_WS_OPEN : WORLD_STATE_BATTLEGROUND_IC_GATE_EAST_A_WS_CLOSED);
break;
}
return uws;

View File

@@ -18,6 +18,7 @@
#include "BattlegroundNA.h"
#include "Player.h"
#include "WorldPacket.h"
#include "WorldStateDefines.h"
BattlegroundNA::BattlegroundNA()
{
@@ -66,7 +67,7 @@ void BattlegroundNA::HandleAreaTrigger(Player* player, uint32 trigger)
void BattlegroundNA::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
{
packet.Worldstates.emplace_back(0xa11, 1); // BATTLEGROUND_NAGRAND_ARENA_SHOW
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_NA_ARENA_SHOW, 1);
Arena::FillInitialWorldStates(packet);
}

View File

@@ -19,6 +19,7 @@
#include "Log.h"
#include "Player.h"
#include "WorldPacket.h"
#include "WorldStateDefines.h"
BattlegroundRL::BattlegroundRL()
{
@@ -93,7 +94,7 @@ void BattlegroundRL::HandleAreaTrigger(Player* player, uint32 trigger)
void BattlegroundRL::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
{
packet.Worldstates.emplace_back(0xbba, 1); // BATTELGROUND_RUINS_OF_LORDAERNON_SHOW
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_RL_ARENA_SHOW, 1);
Arena::FillInitialWorldStates(packet);
}

View File

@@ -22,6 +22,7 @@
#include "ObjectAccessor.h"
#include "Player.h"
#include "WorldPacket.h"
#include "WorldStateDefines.h"
static constexpr Milliseconds BG_RV_PILLAR_SWITCH_TIMER = 25s;
static constexpr Milliseconds BG_RV_FIRE_TO_PILLAR_TIMER = 20s;
@@ -206,7 +207,7 @@ void BattlegroundRV::HandleAreaTrigger(Player* player, uint32 trigger)
void BattlegroundRV::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
{
packet.Worldstates.emplace_back(BG_RV_WORLD_STATE, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_RV_ARENA_SHOW, 1);
Arena::FillInitialWorldStates(packet);
}

View File

@@ -76,10 +76,6 @@ enum BattlegroundRVData
BG_RV_STATE_OPEN_FENCES,
BG_RV_STATE_SWITCH_PILLARS,
BG_RV_STATE_CLOSE_FIRE,
BG_RV_WORLD_STATE_A = 0xe11,
BG_RV_WORLD_STATE_H = 0xe10,
BG_RV_WORLD_STATE = 0xe1a,
};
class AC_GAME_API BattlegroundRV : public Arena

View File

@@ -238,47 +238,47 @@ bool BattlegroundSA::ResetObjs()
}
//Player may enter BEFORE we set up bG - lets update his worldstates anyway...
UpdateWorldState(BG_SA_RIGHT_GY_HORDE, GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
UpdateWorldState(BG_SA_LEFT_GY_HORDE, GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
UpdateWorldState(BG_SA_CENTER_GY_HORDE, GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_RIGHT_GY_HORDE, GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_LEFT_GY_HORDE, GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_CENTER_GY_HORDE, GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
UpdateWorldState(BG_SA_RIGHT_GY_ALLIANCE, GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
UpdateWorldState(BG_SA_LEFT_GY_ALLIANCE, GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
UpdateWorldState(BG_SA_CENTER_GY_ALLIANCE, GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_RIGHT_GY_ALLIANCE, GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_LEFT_GY_ALLIANCE, GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_CENTER_GY_ALLIANCE, GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
if (Attackers == TEAM_ALLIANCE)
{
UpdateWorldState(BG_SA_ALLY_ATTACKS, 1);
UpdateWorldState(BG_SA_HORDE_ATTACKS, 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_ALLIANCE_ATTACKS, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_HORDE_ATTACKS, 0);
UpdateWorldState(BG_SA_RIGHT_ATT_TOKEN_ALL, 1);
UpdateWorldState(BG_SA_LEFT_ATT_TOKEN_ALL, 1);
UpdateWorldState(BG_SA_RIGHT_ATT_TOKEN_HRD, 0);
UpdateWorldState(BG_SA_LEFT_ATT_TOKEN_HRD, 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_RIGHT_ATTACK_TOKEN_ALLIANCE, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_LEFT_ATTACK_TOKEN_ALLIANCE, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_RIGHT_ATTACK_TOKEN_HORDE, 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_LEFT_ATTACK_TOKEN_HORDE, 0);
UpdateWorldState(BG_SA_HORDE_DEFENCE_TOKEN, 1);
UpdateWorldState(BG_SA_ALLIANCE_DEFENCE_TOKEN, 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_HORDE_DEFENSE_TOKEN, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_ALLIANCE_DEFENSE_TOKEN, 0);
}
else
{
UpdateWorldState(BG_SA_HORDE_ATTACKS, 1);
UpdateWorldState(BG_SA_ALLY_ATTACKS, 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_HORDE_ATTACKS, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_ALLIANCE_ATTACKS, 0);
UpdateWorldState(BG_SA_RIGHT_ATT_TOKEN_ALL, 0);
UpdateWorldState(BG_SA_LEFT_ATT_TOKEN_ALL, 0);
UpdateWorldState(BG_SA_RIGHT_ATT_TOKEN_HRD, 1);
UpdateWorldState(BG_SA_LEFT_ATT_TOKEN_HRD, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_RIGHT_ATTACK_TOKEN_ALLIANCE, 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_LEFT_ATTACK_TOKEN_ALLIANCE, 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_RIGHT_ATTACK_TOKEN_HORDE, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_LEFT_ATTACK_TOKEN_HORDE, 1);
UpdateWorldState(BG_SA_HORDE_DEFENCE_TOKEN, 0);
UpdateWorldState(BG_SA_ALLIANCE_DEFENCE_TOKEN, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_HORDE_DEFENSE_TOKEN, 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_ALLIANCE_DEFENSE_TOKEN, 1);
}
UpdateWorldState(BG_SA_PURPLE_GATEWS, 1);
UpdateWorldState(BG_SA_RED_GATEWS, 1);
UpdateWorldState(BG_SA_BLUE_GATEWS, 1);
UpdateWorldState(BG_SA_GREEN_GATEWS, 1);
UpdateWorldState(BG_SA_YELLOW_GATEWS, 1);
UpdateWorldState(BG_SA_ANCIENT_GATEWS, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_PURPLE_GATE, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_RED_GATE, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_BLUE_GATE, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_GREEN_GATE, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_YELLOW_GATE, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_ANCIENT_GATE, 1);
for (int i = BG_SA_BOAT_ONE; i <= BG_SA_BOAT_TWO; i++)
for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)
@@ -473,40 +473,40 @@ void BattlegroundSA::FillInitialWorldStates(WorldPackets::WorldState::InitWorldS
bool const horde_attacks = Attackers == TEAM_HORDE;
packet.Worldstates.reserve(25);
packet.Worldstates.emplace_back(BG_SA_ANCIENT_GATEWS, GateStatus[BG_SA_ANCIENT_GATE]);
packet.Worldstates.emplace_back(BG_SA_YELLOW_GATEWS, GateStatus[BG_SA_YELLOW_GATE]);
packet.Worldstates.emplace_back(BG_SA_GREEN_GATEWS, GateStatus[BG_SA_GREEN_GATE]);
packet.Worldstates.emplace_back(BG_SA_BLUE_GATEWS, GateStatus[BG_SA_BLUE_GATE]);
packet.Worldstates.emplace_back(BG_SA_RED_GATEWS, GateStatus[BG_SA_RED_GATE]);
packet.Worldstates.emplace_back(BG_SA_PURPLE_GATEWS, GateStatus[BG_SA_PURPLE_GATE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_ANCIENT_GATE, GateStatus[BG_SA_ANCIENT_GATE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_YELLOW_GATE, GateStatus[BG_SA_YELLOW_GATE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_GREEN_GATE, GateStatus[BG_SA_GREEN_GATE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_BLUE_GATE, GateStatus[BG_SA_BLUE_GATE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_RED_GATE, GateStatus[BG_SA_RED_GATE]);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_PURPLE_GATE, GateStatus[BG_SA_PURPLE_GATE]);
packet.Worldstates.emplace_back(BG_SA_BONUS_TIMER, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_BONUS_TIMER, 0);
packet.Worldstates.emplace_back(BG_SA_HORDE_ATTACKS, horde_attacks);
packet.Worldstates.emplace_back(BG_SA_ALLY_ATTACKS, ally_attacks);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_HORDE_ATTACKS, horde_attacks);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_ALLIANCE_ATTACKS, ally_attacks);
//Time will be sent on first update...
packet.Worldstates.emplace_back(BG_SA_ENABLE_TIMER, TimerEnabled ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_ENABLE_TIMER, TimerEnabled ? 1 : 0);
packet.Worldstates.emplace_back(BG_SA_TIMER_MINS, 0);
packet.Worldstates.emplace_back(BG_SA_TIMER_SEC_TENS, 0);
packet.Worldstates.emplace_back(BG_SA_TIMER_SEC_DECS, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_TIMER_MINUTES, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_TIMER_SECONDS_FIRST_DIGIT, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_TIMER_SECONDS_SECOND_DIGIT, 0);
packet.Worldstates.emplace_back(BG_SA_RIGHT_GY_HORDE, GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
packet.Worldstates.emplace_back(BG_SA_LEFT_GY_HORDE, GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
packet.Worldstates.emplace_back(BG_SA_CENTER_GY_HORDE, GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_RIGHT_GY_HORDE, GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_LEFT_GY_HORDE, GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_CENTER_GY_HORDE, GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
packet.Worldstates.emplace_back(BG_SA_RIGHT_GY_ALLIANCE, GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
packet.Worldstates.emplace_back(BG_SA_LEFT_GY_ALLIANCE, GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
packet.Worldstates.emplace_back(BG_SA_CENTER_GY_ALLIANCE, GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_RIGHT_GY_ALLIANCE, GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_LEFT_GY_ALLIANCE, GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_CENTER_GY_ALLIANCE, GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
packet.Worldstates.emplace_back(BG_SA_HORDE_DEFENCE_TOKEN, ally_attacks);
packet.Worldstates.emplace_back(BG_SA_ALLIANCE_DEFENCE_TOKEN, horde_attacks);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_HORDE_DEFENSE_TOKEN, ally_attacks);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_ALLIANCE_DEFENSE_TOKEN, horde_attacks);
packet.Worldstates.emplace_back(BG_SA_LEFT_ATT_TOKEN_HRD, horde_attacks);
packet.Worldstates.emplace_back(BG_SA_RIGHT_ATT_TOKEN_HRD, horde_attacks);
packet.Worldstates.emplace_back(BG_SA_RIGHT_ATT_TOKEN_ALL, ally_attacks);
packet.Worldstates.emplace_back(BG_SA_LEFT_ATT_TOKEN_ALL, ally_attacks);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_LEFT_ATTACK_TOKEN_HORDE, horde_attacks);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_RIGHT_ATTACK_TOKEN_HORDE, horde_attacks);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_RIGHT_ATTACK_TOKEN_ALLIANCE, ally_attacks);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_LEFT_ATTACK_TOKEN_ALLIANCE, ally_attacks);
}
void BattlegroundSA::AddPlayer(Player* player)
@@ -830,9 +830,9 @@ GraveyardStruct const* BattlegroundSA::GetClosestGraveyard(Player* player)
void BattlegroundSA::SendTime()
{
Milliseconds end_of_round = (EndRoundTimer - TotalTime);
UpdateWorldState(BG_SA_TIMER_MINS, end_of_round / 1min);
UpdateWorldState(BG_SA_TIMER_SEC_TENS, (end_of_round % 1min) / 10s);
UpdateWorldState(BG_SA_TIMER_SEC_DECS, ((end_of_round % 1min) % 10s) / 1s);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_TIMER_MINUTES, end_of_round / 1min);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_TIMER_SECONDS_FIRST_DIGIT, (end_of_round % 1min) / 10s);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_TIMER_SECONDS_SECOND_DIGIT, ((end_of_round % 1min) % 10s) / 1s);
}
bool BattlegroundSA::CanInteractWithObject(uint32 objectId)
@@ -973,8 +973,8 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
dem->SetFaction(BG_SA_Factions[Attackers]);
}
UpdateWorldState(BG_SA_LEFT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
UpdateWorldState(BG_SA_LEFT_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_LEFT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_LEFT_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
GetBgMap()->DoForAllPlayers([&](Player* player)
{
if (player->GetTeamId() == TEAM_ALLIANCE)
@@ -1004,8 +1004,8 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
dem->SetFaction(BG_SA_Factions[Attackers]);
}
UpdateWorldState(BG_SA_RIGHT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
UpdateWorldState(BG_SA_RIGHT_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_RIGHT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_RIGHT_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
GetBgMap()->DoForAllPlayers([&](Player* player)
{
if (player->GetTeamId() == TEAM_ALLIANCE)
@@ -1021,8 +1021,8 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
BG_SA_ObjSpawnlocs[flag][0], BG_SA_ObjSpawnlocs[flag][1],
BG_SA_ObjSpawnlocs[flag][2], BG_SA_ObjSpawnlocs[flag][3], 0, 0, 0, 0, RESPAWN_ONE_DAY);
UpdateWorldState(BG_SA_CENTER_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
UpdateWorldState(BG_SA_CENTER_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_CENTER_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_CENTER_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
GetBgMap()->DoForAllPlayers([&](Player* player)
{
if (player->GetTeamId() == TEAM_ALLIANCE)
@@ -1082,7 +1082,7 @@ void BattlegroundSA::EventPlayerUsedGO(Player* Source, GameObject* object)
void BattlegroundSA::ToggleTimer()
{
TimerEnabled = !TimerEnabled;
UpdateWorldState(BG_SA_ENABLE_TIMER, (TimerEnabled) ? 1 : 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_SA_ENABLE_TIMER, (TimerEnabled) ? 1 : 0);
}
void BattlegroundSA::EndBattleground(TeamId winnerTeamId)

View File

@@ -20,6 +20,7 @@
#include "Battleground.h"
#include "BattlegroundScore.h"
#include "WorldStateDefines.h"
#define BG_SA_FLAG_AMOUNT 3
#define BG_SA_DEMOLISHER_AMOUNT 4
@@ -42,35 +43,6 @@ enum BG_SA_GateState
BG_SA_GATE_DESTROYED = 3
};
enum BG_SA_WorldStates
{
BG_SA_TIMER_MINS = 3559,
BG_SA_TIMER_SEC_TENS = 3560,
BG_SA_TIMER_SEC_DECS = 3561,
BG_SA_ALLY_ATTACKS = 4352,
BG_SA_HORDE_ATTACKS = 4353,
BG_SA_PURPLE_GATEWS = 3614,
BG_SA_RED_GATEWS = 3617,
BG_SA_BLUE_GATEWS = 3620,
BG_SA_GREEN_GATEWS = 3623,
BG_SA_YELLOW_GATEWS = 3638,
BG_SA_ANCIENT_GATEWS = 3849,
BG_SA_LEFT_GY_ALLIANCE = 3635,
BG_SA_RIGHT_GY_ALLIANCE = 3636,
BG_SA_CENTER_GY_ALLIANCE = 3637,
BG_SA_RIGHT_ATT_TOKEN_ALL = 3627,
BG_SA_LEFT_ATT_TOKEN_ALL = 3626,
BG_SA_LEFT_ATT_TOKEN_HRD = 3629,
BG_SA_RIGHT_ATT_TOKEN_HRD = 3628,
BG_SA_HORDE_DEFENCE_TOKEN = 3631,
BG_SA_ALLIANCE_DEFENCE_TOKEN = 3630,
BG_SA_RIGHT_GY_HORDE = 3632,
BG_SA_LEFT_GY_HORDE = 3633,
BG_SA_CENTER_GY_HORDE = 3634,
BG_SA_BONUS_TIMER = 0xdf3,
BG_SA_ENABLE_TIMER = 3564,
};
enum npc
{
NPC_ANTI_PERSONNAL_CANNON = 27894,
@@ -494,22 +466,22 @@ public:
switch (id)
{
case BG_SA_GREEN_GATE:
uws = BG_SA_GREEN_GATEWS;
uws = WORLD_STATE_BATTLEGROUND_SA_GREEN_GATE;
break;
case BG_SA_YELLOW_GATE:
uws = BG_SA_YELLOW_GATEWS;
uws = WORLD_STATE_BATTLEGROUND_SA_YELLOW_GATE;
break;
case BG_SA_BLUE_GATE:
uws = BG_SA_BLUE_GATEWS;
uws = WORLD_STATE_BATTLEGROUND_SA_BLUE_GATE;
break;
case BG_SA_RED_GATE:
uws = BG_SA_RED_GATEWS;
uws = WORLD_STATE_BATTLEGROUND_SA_RED_GATE;
break;
case BG_SA_PURPLE_GATE:
uws = BG_SA_PURPLE_GATEWS;
uws = WORLD_STATE_BATTLEGROUND_SA_PURPLE_GATE;
break;
case BG_SA_ANCIENT_GATE:
uws = BG_SA_ANCIENT_GATEWS;
uws = WORLD_STATE_BATTLEGROUND_SA_ANCIENT_GATE;
break;
}
return uws;

View File

@@ -24,6 +24,7 @@
#include "Player.h"
#include "World.h"
#include "WorldPacket.h"
#include "WorldStateDefines.h"
void BattlegroundWGScore::BuildObjectivesBlock(WorldPacket& data)
{
@@ -61,7 +62,7 @@ void BattlegroundWS::PostUpdateImpl(uint32 diff)
switch (_bgEvents.ExecuteEvent())
{
case BG_WS_EVENT_UPDATE_GAME_TIME:
UpdateWorldState(BG_WS_STATE_TIMER, GetMatchTime());
UpdateWorldState(WORLD_STATE_BATTLEGROUND_WS_STATE_TIMER, GetMatchTime());
_bgEvents.ScheduleEvent(BG_WS_EVENT_UPDATE_GAME_TIME, ((BG_WS_TOTAL_GAME_TIME - GetStartTime()) % (MINUTE * IN_MILLISECONDS)) + 1);
break;
case BG_WS_EVENT_NO_TIME_LEFT:
@@ -135,7 +136,7 @@ void BattlegroundWS::StartingEventOpenDoors()
SpawnBGObject(BG_WS_OBJECT_DOOR_H_4, RESPAWN_ONE_DAY);
StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, WS_EVENT_START_BATTLE);
UpdateWorldState(BG_WS_STATE_TIMER_ACTIVE, 1);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_WS_STATE_TIMER_ACTIVE, 1);
_bgEvents.ScheduleEvent(BG_WS_EVENT_UPDATE_GAME_TIME, 0);
_bgEvents.ScheduleEvent(BG_WS_EVENT_NO_TIME_LEFT, BG_WS_TOTAL_GAME_TIME - 2 * MINUTE * IN_MILLISECONDS); // 27 - 2 = 25 minutes
_bgEvents.ScheduleEvent(BG_WS_EVENT_DESPAWN_DOORS, BG_WS_DOOR_DESPAWN_TIME);
@@ -216,7 +217,7 @@ void BattlegroundWS::EventPlayerCapturedFlag(Player* player)
SpawnBGObject(BG_WS_OBJECT_H_FLAG, BG_WS_FLAG_RESPAWN_TIME);
SpawnBGObject(BG_WS_OBJECT_A_FLAG, BG_WS_FLAG_RESPAWN_TIME);
UpdateWorldState(player->GetTeamId() == TEAM_ALLIANCE ? BG_WS_FLAG_CAPTURES_ALLIANCE : BG_WS_FLAG_CAPTURES_HORDE, GetTeamScore(player->GetTeamId()));
UpdateWorldState(player->GetTeamId() == TEAM_ALLIANCE ? WORLD_STATE_BATTLEGROUND_WS_FLAG_CAPTURES_ALLIANCE : WORLD_STATE_BATTLEGROUND_WS_FLAG_CAPTURES_HORDE, GetTeamScore(player->GetTeamId()));
UpdatePlayerScore(player, SCORE_FLAG_CAPTURES, 1); // +1 flag captures
_lastFlagCaptureTeam = player->GetTeamId();
@@ -224,7 +225,7 @@ void BattlegroundWS::EventPlayerCapturedFlag(Player* player)
if (GetTeamScore(TEAM_ALLIANCE) == _configurableMaxTeamScore || GetTeamScore(TEAM_HORDE) == _configurableMaxTeamScore)
{
UpdateWorldState(BG_WS_STATE_TIMER_ACTIVE, 0);
UpdateWorldState(WORLD_STATE_BATTLEGROUND_WS_STATE_TIMER_ACTIVE, 0);
EndBattleground(GetTeamScore(TEAM_HORDE) == _configurableMaxTeamScore ? TEAM_HORDE : TEAM_ALLIANCE);
}
else
@@ -391,7 +392,7 @@ void BattlegroundWS::RemovePlayer(Player* player)
void BattlegroundWS::UpdateFlagState(TeamId teamId, uint32 value)
{
_flagState[teamId] = value;
UpdateWorldState(teamId == TEAM_ALLIANCE ? BG_WS_FLAG_STATE_HORDE : BG_WS_FLAG_STATE_ALLIANCE, value);
UpdateWorldState(teamId == TEAM_ALLIANCE ? WORLD_STATE_BATTLEGROUND_WS_FLAG_STATE_HORDE : WORLD_STATE_BATTLEGROUND_WS_FLAG_STATE_ALLIANCE, value);
}
void BattlegroundWS::HandleAreaTrigger(Player* player, uint32 trigger)
@@ -554,15 +555,15 @@ GraveyardStruct const* BattlegroundWS::GetClosestGraveyard(Player* player)
void BattlegroundWS::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
{
packet.Worldstates.reserve(7);
packet.Worldstates.emplace_back(BG_WS_FLAG_CAPTURES_ALLIANCE, GetTeamScore(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(BG_WS_FLAG_CAPTURES_HORDE, GetTeamScore(TEAM_HORDE));
packet.Worldstates.emplace_back(BG_WS_FLAG_CAPTURES_MAX, _configurableMaxTeamScore);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_FLAG_CAPTURES_ALLIANCE, GetTeamScore(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_FLAG_CAPTURES_HORDE, GetTeamScore(TEAM_HORDE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_FLAG_CAPTURES_MAX, _configurableMaxTeamScore);
packet.Worldstates.emplace_back(BG_WS_STATE_TIMER_ACTIVE, GetStatus() == STATUS_IN_PROGRESS ? 1 : 0);
packet.Worldstates.emplace_back(BG_WS_STATE_TIMER, GetMatchTime());
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_STATE_TIMER_ACTIVE, GetStatus() == STATUS_IN_PROGRESS ? 1 : 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_STATE_TIMER, GetMatchTime());
packet.Worldstates.emplace_back(BG_WS_FLAG_STATE_HORDE, GetFlagState(TEAM_HORDE));
packet.Worldstates.emplace_back(BG_WS_FLAG_STATE_ALLIANCE, GetFlagState(TEAM_ALLIANCE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_FLAG_STATE_HORDE, GetFlagState(TEAM_HORDE));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_FLAG_STATE_ALLIANCE, GetFlagState(TEAM_ALLIANCE));
}
TeamId BattlegroundWS::GetPrematureWinner()

View File

@@ -86,17 +86,6 @@ enum BG_WS_SpellId
BG_WS_SPELL_BRUTAL_ASSAULT = 46393
};
enum BG_WS_WorldStates
{
BG_WS_FLAG_CAPTURES_ALLIANCE = 1581,
BG_WS_FLAG_CAPTURES_HORDE = 1582,
BG_WS_FLAG_CAPTURES_MAX = 1601,
BG_WS_FLAG_STATE_HORDE = 2338,
BG_WS_FLAG_STATE_ALLIANCE = 2339,
BG_WS_STATE_TIMER = 4248,
BG_WS_STATE_TIMER_ACTIVE = 4247
};
enum BG_WS_ObjectTypes
{
BG_WS_OBJECT_DOOR_A_1 = 0,

View File

@@ -86,6 +86,7 @@
#include "WorldSession.h"
#include "WorldSessionMgr.h"
#include "WorldState.h"
#include "WorldStateDefines.h"
#include "WorldStatePackets.h"
#include <cmath>
@@ -8244,24 +8245,24 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
packet.AreaID = areaId;
packet.Worldstates.reserve(8);
packet.Worldstates.emplace_back(0x8d8, 0); // SCOURGE_EVENT_WORLDSTATE_EASTERN_PLAGUELANDS
packet.Worldstates.emplace_back(0x8d7, 0); // SCOURGE_EVENT_WORLDSTATE_TANARIS
packet.Worldstates.emplace_back(0x8d6, 0); // SCOURGE_EVENT_WORLDSTATE_BURNING_STEPPES
packet.Worldstates.emplace_back(0x8d5, 0); // SCOURGE_EVENT_WORLDSTATE_BLASTED_LANDS
packet.Worldstates.emplace_back(0x8d4, 0); // SCOURGE_EVENT_WORLDSTATE_AZSHARA
packet.Worldstates.emplace_back(0x8d3, 0); // SCOURGE_EVENT_WORLDSTATE_WINTERSPRING
packet.Worldstates.emplace_back(WORLD_STATE_SCOURGE_INVASION_WINTERSPRING, 0);
packet.Worldstates.emplace_back(WORLD_STATE_SCOURGE_INVASION_AZSHARA, 0);
packet.Worldstates.emplace_back(WORLD_STATE_SCOURGE_INVASION_BLASTED_LANDS, 0);
packet.Worldstates.emplace_back(WORLD_STATE_SCOURGE_INVASION_BURNING_STEPPES, 0);
packet.Worldstates.emplace_back(WORLD_STATE_SCOURGE_INVASION_TANARIS, 0);
packet.Worldstates.emplace_back(WORLD_STATE_SCOURGE_INVASION_EASTERN_PLAGUELANDS, 0);
// 7 1 - Arena season in progress, 0 - end of season
packet.Worldstates.emplace_back(0xc77, sArenaSeasonMgr->GetSeasonState() == ARENA_SEASON_STATE_IN_PROGRESS);
packet.Worldstates.emplace_back(WORLD_STATE_ARENA_SEASON_PROGRESS, sArenaSeasonMgr->GetSeasonState() == ARENA_SEASON_STATE_IN_PROGRESS);
// 8 Arena season id
packet.Worldstates.emplace_back(0xf3d, sArenaSeasonMgr->GetCurrentSeason());
packet.Worldstates.emplace_back(WORLD_STATE_ARENA_SEASON_ID, sArenaSeasonMgr->GetCurrentSeason());
if (mapId == 530) // Outland
{
packet.Worldstates.reserve(3);
packet.Worldstates.emplace_back(0x9bf, 0); // NA_UI_OUTLAND_01 "Progress: %2494w"
packet.Worldstates.emplace_back(0x9bd, 15); // NA_UI_GUARDS_MAX
packet.Worldstates.emplace_back(0x9bb, 15); // NA_UI_GUARDS_LEFT
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_GUARDS_MAX, 15);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT, 15);
}
if (Player::bgZoneIdToFillWorldStates.find(zoneId) != Player::bgZoneIdToFillWorldStates.end())
@@ -8290,39 +8291,39 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(32);
packet.Worldstates.emplace_back(0x97a, 0); // GENERAL_WORLDSTATES_01 "Progress: %2427w"
packet.Worldstates.emplace_back(0x917, 0); // EP_UI_TOWER_COUNT_A
packet.Worldstates.emplace_back(0x918, 0); // EP_UI_TOWER_COUNT_H
packet.Worldstates.emplace_back(0x97b, 50); // GENERAL_WORLDSTATES_02
packet.Worldstates.emplace_back(0x97c, 50); // GENERAL_WORLDSTATES_03
packet.Worldstates.emplace_back(0x933, 1); // EP_CGT_N
packet.Worldstates.emplace_back(0x946, 0); // EP_CGT_N_A
packet.Worldstates.emplace_back(0x947, 0); // EP_CGT_N_H
packet.Worldstates.emplace_back(0x948, 0); // GENERAL_WORLDSTATES_04
packet.Worldstates.emplace_back(0x949, 0); // GENERAL_WORLDSTATES_05
packet.Worldstates.emplace_back(0x94a, 0); // EP_CGT_A
packet.Worldstates.emplace_back(0x94b, 0); // EP_CGT_H
packet.Worldstates.emplace_back(0x932, 0); // EP_EWT_A
packet.Worldstates.emplace_back(0x934, 0); // EP_EWT_H
packet.Worldstates.emplace_back(0x935, 0); // GENERAL_WORLDSTATES_06
packet.Worldstates.emplace_back(0x936, 0); // GENERAL_WORLDSTATES_07
packet.Worldstates.emplace_back(0x937, 0); // EP_EWT_N_A
packet.Worldstates.emplace_back(0x938, 0); // EP_EWT_N_H
packet.Worldstates.emplace_back(0x939, 1); // EP_EWT_N
packet.Worldstates.emplace_back(0x930, 1); // EP_NPT_N
packet.Worldstates.emplace_back(0x93a, 0); // EP_NPT_N_A
packet.Worldstates.emplace_back(0x93b, 0); // GENERAL_WORLDSTATES_08
packet.Worldstates.emplace_back(0x93c, 0); // GENERAL_WORLDSTATES_09
packet.Worldstates.emplace_back(0x93d, 0); // GENERAL_WORLDSTATES_10
packet.Worldstates.emplace_back(0x944, 0); // EP_NPT_A
packet.Worldstates.emplace_back(0x945, 0); // EP_NPT_H
packet.Worldstates.emplace_back(0x931, 1); // EP_PWT_N
packet.Worldstates.emplace_back(0x93e, 0); // EP_PWT_N_A
//packet.Worldstates.emplace_back(0x93f, 1); // GENERAL_WORLDSTATES_13 grey horde not in dbc!
packet.Worldstates.emplace_back(0x940, 0); // GENERAL_WORLDSTATES_11
packet.Worldstates.emplace_back(0x941, 0); // GENERAL_WORLDSTATES_12
packet.Worldstates.emplace_back(0x942, 0); // EP_PWT_A
packet.Worldstates.emplace_back(0x943, 0); // EP_PWT_H
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UI_TOWER_COUNT_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UI_TOWER_COUNT_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_POS, 50);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_N, 50);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UNK_7, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UNK_8, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_EASTWALLTOWER_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_EASTWALLTOWER_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UNK_0, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UNK_1, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UNK_2, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UNK_3, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N_A, 0);
//packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UNK_4, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UNK_5, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UNK_6, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_H, 0);
break;
case 1377: // Silithus
@@ -8331,16 +8332,16 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(3);
packet.Worldstates.emplace_back(0x909, 0); // SI_GATHERED_A
packet.Worldstates.emplace_back(0x90a, 0); // SI_GATHERED_H
packet.Worldstates.emplace_back(0x90d, 0); // SI_SILITHYST_MAX
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_SI_GATHERED_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_SI_GATHERED_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_SI_SILITHYST_MAX, 0);
}
// unknown, aq opening?
packet.Worldstates.reserve(4);
packet.Worldstates.emplace_back(0x912, 0); // AQ_SANDWORM_N
packet.Worldstates.emplace_back(0x913, 0); // AQ_SANDWORM_S
packet.Worldstates.emplace_back(0x914, 0); // AQ_SANDWORM_SW
packet.Worldstates.emplace_back(0x915, 0); // AQ_SANDWORM_E
packet.Worldstates.emplace_back(WORLD_STATE_AHNQIRAJ_SANDWORM_N, 0);
packet.Worldstates.emplace_back(WORLD_STATE_AHNQIRAJ_SANDWORM_S, 0);
packet.Worldstates.emplace_back(WORLD_STATE_AHNQIRAJ_SANDWORM_SW, 0);
packet.Worldstates.emplace_back(WORLD_STATE_AHNQIRAJ_SANDWORM_E, 0);
break;
case 2597: // Alterac Valley
if (battleground && battleground->GetBgTypeID(true) == BATTLEGROUND_AV)
@@ -8348,81 +8349,81 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(75);
packet.Worldstates.emplace_back(0x7ae, 1); // AV_SNOWFALL_N
packet.Worldstates.emplace_back(0x532, 1); // AV_FROSTWOLFHUT_H_C
packet.Worldstates.emplace_back(0x531, 0); // AV_FROSTWOLFHUT_A_C
packet.Worldstates.emplace_back(0x52e, 0); // AV_AID_A_A
packet.Worldstates.emplace_back(0x571, 0); // East Frostwolf Tower Horde Assaulted - UNUSED
packet.Worldstates.emplace_back(0x570, 0); // West Frostwolf Tower Horde Assaulted - UNUSED
packet.Worldstates.emplace_back(0x567, 1); // AV_FROSTWOLFE_CONTROLLED
packet.Worldstates.emplace_back(0x566, 1); // AV_FROSTWOLFW_CONTROLLED
packet.Worldstates.emplace_back(0x550, 1); // AV_N_MINE_N
packet.Worldstates.emplace_back(0x544, 0); // AV_ICEBLOOD_A_A
packet.Worldstates.emplace_back(0x536, 0); // AV_PIKEGRAVE_H_C
packet.Worldstates.emplace_back(0x535, 1); // AV_PIKEGRAVE_A_C
packet.Worldstates.emplace_back(0x518, 0); // AV_STONEHEART_A_A
packet.Worldstates.emplace_back(0x517, 0); // AV_STONEHEART_H_A
packet.Worldstates.emplace_back(0x574, 0); // unk
packet.Worldstates.emplace_back(0x573, 0); // Iceblood Tower Horde Assaulted - UNUSED
packet.Worldstates.emplace_back(0x572, 0); // Towerpoint Horde Assaulted - UNUSED
packet.Worldstates.emplace_back(0x56f, 0); // unk
packet.Worldstates.emplace_back(0x56e, 0); // AV_ICEBLOOD_ASSAULTED
packet.Worldstates.emplace_back(0x56d, 0); // AV_TOWERPOINT_ASSAULTED
packet.Worldstates.emplace_back(0x56c, 0); // AV_FROSTWOLFE_ASSAULTED
packet.Worldstates.emplace_back(0x56b, 0); // AV_FROSTWOLFW_ASSAULTED
packet.Worldstates.emplace_back(0x56a, 1); // unk
packet.Worldstates.emplace_back(0x569, 1); // AV_ICEBLOOD_CONTROLLED
packet.Worldstates.emplace_back(0x568, 1); // AV_TOWERPOINT_CONTROLLED
packet.Worldstates.emplace_back(0x565, 0); // AV_STONEH_ASSAULTED
packet.Worldstates.emplace_back(0x564, 0); // AV_ICEWING_ASSAULTED
packet.Worldstates.emplace_back(0x563, 0); // AV_DUNN_ASSAULTED
packet.Worldstates.emplace_back(0x562, 0); // AV_DUNS_ASSAULTED
packet.Worldstates.emplace_back(0x561, 0); // Stoneheart Bunker Alliance Assaulted - UNUSED
packet.Worldstates.emplace_back(0x560, 0); // Icewing Bunker Alliance Assaulted - UNUSED
packet.Worldstates.emplace_back(0x55f, 0); // Dunbaldar South Alliance Assaulted - UNUSED
packet.Worldstates.emplace_back(0x55e, 0); // Dunbaldar North Alliance Assaulted - UNUSED
packet.Worldstates.emplace_back(0x55d, 0); // AV_STONEH_DESTROYED
packet.Worldstates.emplace_back(0x3c6, 0); // AV_UNK_02
packet.Worldstates.emplace_back(0x3c4, 0); // AV_UNK_01
packet.Worldstates.emplace_back(0x3c2, 0); // AV_STORMPIKE_COMMANDERS
packet.Worldstates.emplace_back(0x516, 1); // AV_STONEHEART_A_C
packet.Worldstates.emplace_back(0x515, 0); // AV_STONEHEART_H_C
packet.Worldstates.emplace_back(0x3b6, 0); // AV_STORMPIKE_LIEUTENANTS
packet.Worldstates.emplace_back(0x55c, 0); // AV_ICEWING_DESTROYED
packet.Worldstates.emplace_back(0x55b, 0); // AV_DUNN_DESTROYED
packet.Worldstates.emplace_back(0x55a, 0); // AV_DUNS_DESTROYED
packet.Worldstates.emplace_back(0x559, 0); // unk
packet.Worldstates.emplace_back(0x558, 0); // AV_ICEBLOOD_DESTROYED
packet.Worldstates.emplace_back(0x557, 0); // AV_TOWERPOINT_DESTROYED
packet.Worldstates.emplace_back(0x556, 0); // AV_FROSTWOLFE_DESTROYED
packet.Worldstates.emplace_back(0x555, 0); // AV_FROSTWOLFW_DESTROYED
packet.Worldstates.emplace_back(0x554, 1); // AV_STONEH_CONTROLLED
packet.Worldstates.emplace_back(0x553, 1); // AV_ICEWING_CONTROLLED
packet.Worldstates.emplace_back(0x552, 1); // AV_DUNN_CONTROLLED
packet.Worldstates.emplace_back(0x551, 1); // AV_DUNS_CONTROLLED
packet.Worldstates.emplace_back(0x54f, 0); // AV_N_MINE_H
packet.Worldstates.emplace_back(0x54e, 0); // AV_N_MINE_A
packet.Worldstates.emplace_back(0x54d, 1); // AV_S_MINE_N
packet.Worldstates.emplace_back(0x54c, 0); // AV_S_MINE_H
packet.Worldstates.emplace_back(0x54b, 0); // AV_S_MINE_A
packet.Worldstates.emplace_back(0x545, 0); // AV_ICEBLOOD_H_A
packet.Worldstates.emplace_back(0x543, 1); // AV_ICEBLOOD_H_C
packet.Worldstates.emplace_back(0x542, 0); // AV_ICEBLOOD_A_C
packet.Worldstates.emplace_back(0x540, 0); // AV_SNOWFALL_H_A
packet.Worldstates.emplace_back(0x53f, 0); // AV_SNOWFALL_A_A
packet.Worldstates.emplace_back(0x53e, 0); // AV_SNOWFALL_H_C
packet.Worldstates.emplace_back(0x53d, 0); // AV_SNOWFALL_A_C
packet.Worldstates.emplace_back(0x53c, 0); // AV_FROSTWOLF_H_A
packet.Worldstates.emplace_back(0x53b, 0); // AV_FROSTWOLF_A_A
packet.Worldstates.emplace_back(0x53a, 1); // AV_FROSTWOLF_H_C
packet.Worldstates.emplace_back(0x539, 0); // AV_FROSTWOLF_A_C
packet.Worldstates.emplace_back(0x538, 0); // AV_PIKEGRAVE_H_A
packet.Worldstates.emplace_back(0x537, 0); // AV_PIKEGRAVE_A_A
packet.Worldstates.emplace_back(0x534, 0); // AV_FROSTWOLFHUT_H_A
packet.Worldstates.emplace_back(0x533, 0); // AV_FROSTWOLFHUT_A_A
packet.Worldstates.emplace_back(0x530, 0); // AV_AID_H_A
packet.Worldstates.emplace_back(0x52f, 0); // AV_AID_H_C
packet.Worldstates.emplace_back(0x52d, 1); // AV_AID_A_C
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_N, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_H_C, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_A_C, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_AID_A_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_UNUSED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_UNUSED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_CONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_CONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_N_MINE_N, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_A_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_H_C, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_A_C, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_STONEHEART_A_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_STONEHEART_H_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_UNK_5, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_UNUSED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_UNUSED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_UNK_4, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_ASSAULTED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_ASSAULTED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_ASSAULTED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_ASSAULTED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_UNK_3, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_CONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_CONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_STONEH_ASSAULTED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEWING_ASSAULTED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_DUNN_ASSAULTED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_DUNS_ASSAULTED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_STONEH_UNUSED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEWING_UNUSED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_DUNS_UNUSED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_DUNN_UNUSED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_STONEH_DESTROYED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_UNK_1, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_UNK_0, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_STORMPIKE_COMMANDERS, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_STONEHEART_A_C, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_STONEHEART_H_C, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_STORMPIKE_LIEUTENANTS, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEWING_DESTROYED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_DUNN_DESTROYED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_DUNS_DESTROYED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_UNK_2, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_DESTROYED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_DESTROYED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_DESTROYED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_DESTROYED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_STONEH_CONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEWING_CONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_DUNN_CONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_DUNS_CONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_N_MINE_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_N_MINE_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_S_MINE_N, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_S_MINE_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_S_MINE_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_H_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_H_C, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_A_C, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_H_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_A_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_H_C, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_A_C, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_H_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_A_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_H_C, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_A_C, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_H_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_A_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_H_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_A_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_AID_H_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_AID_H_C, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AV_AID_A_C, 1);
}
break;
case 3277: // Warsong Gulch
@@ -8431,14 +8432,14 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(8);
packet.Worldstates.emplace_back(0x62d, 0); // alliance flag captures
packet.Worldstates.emplace_back(0x62e, 0); // horde flag captures
packet.Worldstates.emplace_back(0x609, 0); // unk, set to 1 on alliance flag pickup...
packet.Worldstates.emplace_back(0x60a, 0); // unk, set to 1 on horde flag pickup, after drop it's -1
packet.Worldstates.emplace_back(0x60b, 2); // unk
packet.Worldstates.emplace_back(0x641, 3); // unk (max flag captures?)
packet.Worldstates.emplace_back(0x922, 1); // horde (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
packet.Worldstates.emplace_back(0x923, 1); // alliance (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_FLAG_CAPTURES_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_FLAG_CAPTURES_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_UNK_0, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_UNK_1, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_UNK_2, 2);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_FLAG_CAPTURES_MAX, 3);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_FLAG_STATE_HORDE, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_WS_FLAG_STATE_ALLIANCE, 1);
}
break;
case 3358: // Arathi Basin
@@ -8447,38 +8448,38 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(32);
packet.Worldstates.emplace_back(0x6e7, 0); // stables alliance
packet.Worldstates.emplace_back(0x6e8, 0); // stables horde
packet.Worldstates.emplace_back(0x6e9, 0); // stables alliance controlled
packet.Worldstates.emplace_back(0x6ea, 0); // stables horde controlled
packet.Worldstates.emplace_back(0x6ec, 0); // farm alliance
packet.Worldstates.emplace_back(0x6ed, 0); // farm horde
packet.Worldstates.emplace_back(0x6ee, 0); // farm alliance controlled
packet.Worldstates.emplace_back(0x6ef, 0); // farm horde controlled
packet.Worldstates.emplace_back(0x6f0, 0); // alliance resources
packet.Worldstates.emplace_back(0x6f1, 0); // horde resources
packet.Worldstates.emplace_back(0x6f2, 0); // horde bases
packet.Worldstates.emplace_back(0x6f3, 0); // alliance bases
packet.Worldstates.emplace_back(0x6f4, 1600); // max resources (1600)
packet.Worldstates.emplace_back(0x6f6, 0); // blacksmith alliance
packet.Worldstates.emplace_back(0x6f7, 0); // blacksmith horde
packet.Worldstates.emplace_back(0x6f8, 0); // blacksmith alliance controlled
packet.Worldstates.emplace_back(0x6f9, 0); // blacksmith horde controlled
packet.Worldstates.emplace_back(0x6fb, 0); // gold mine alliance
packet.Worldstates.emplace_back(0x6fc, 0); // gold mine horde
packet.Worldstates.emplace_back(0x6fd, 0); // gold mine alliance controlled
packet.Worldstates.emplace_back(0x6fe, 0); // gold mine horde controlled
packet.Worldstates.emplace_back(0x700, 0); // lumber mill alliance
packet.Worldstates.emplace_back(0x701, 0); // lumber mill horde
packet.Worldstates.emplace_back(0x702, 0); // lumber mill alliance controlled
packet.Worldstates.emplace_back(0x703, 0); // lumber mill horde controlled
packet.Worldstates.emplace_back(0x732, 1); // stables (1 - uncontrolled)
packet.Worldstates.emplace_back(0x733, 1); // gold mine (1 - uncontrolled)
packet.Worldstates.emplace_back(0x734, 1); // lumber mill (1 - uncontrolled)
packet.Worldstates.emplace_back(0x735, 1); // farm (1 - uncontrolled)
packet.Worldstates.emplace_back(0x736, 1); // blacksmith (1 - uncontrolled)
packet.Worldstates.emplace_back(0x745, 2); // unk
packet.Worldstates.emplace_back(0x7a3, 1400); // warning limit (1400)
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_STABLE_STATE_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_STABLE_STATE_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_STABLE_STATE_CONTROLLED_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_STABLE_STATE_CONTROLLED_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_FARM_STATE_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_FARM_STATE_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_FARM_STATE_CONTROLLED_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_FARM_STATE_CONTROLLED_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_RESOURCES_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_RESOURCES_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_OCCUPIED_BASES_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_OCCUPIED_BASES_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_RESOURCES_MAX, 1600);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_STATE_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_STATE_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_STATE_CONTROLLED_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_STATE_CONTROLLED_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_STATE_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_STATE_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_STATE_CONTROLLED_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_STATE_CONTROLLED_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_STATE_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_STATE_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_STATE_CONTROLLED_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_STATE_CONTROLLED_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_STABLE_ICON, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_ICON, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_ICON, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_FARM_ICON, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_ICON, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_UNK, 2);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_AB_RESOURCES_WARNING, 1400); // warning limit (1400)
}
break;
case 3820: // Eye of the Storm
@@ -8487,38 +8488,38 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(32);
packet.Worldstates.emplace_back(0xac1, 0); // Horde Bases
packet.Worldstates.emplace_back(0xac0, 0); // Alliance Bases
packet.Worldstates.emplace_back(0xab6, 0); // Mage Tower - Horde conflict
packet.Worldstates.emplace_back(0xab5, 0); // Mage Tower - Alliance conflict
packet.Worldstates.emplace_back(0xab4, 0); // Fel Reaver - Horde conflict
packet.Worldstates.emplace_back(0xab3, 0); // Fel Reaver - Alliance conflict
packet.Worldstates.emplace_back(0xab2, 0); // Draenei - Alliance conflict
packet.Worldstates.emplace_back(0xab1, 0); // Draenei - Horde conflict
packet.Worldstates.emplace_back(0xab0, 0); // unk (0 at start)
packet.Worldstates.emplace_back(0xaaf, 0); // unk (0 at start)
packet.Worldstates.emplace_back(0xaad, 0); // Draenei - Horde control
packet.Worldstates.emplace_back(0xaac, 0); // Draenei - Alliance control
packet.Worldstates.emplace_back(0xaab, 1); // Draenei uncontrolled (1 - yes, 0 - no)
packet.Worldstates.emplace_back(0xaaa, 0); // Mage Tower - Alliance control
packet.Worldstates.emplace_back(0xaa9, 0); // Mage Tower - Horde control
packet.Worldstates.emplace_back(0xaa8, 1); // Mage Tower uncontrolled (1 - yes, 0 - no)
packet.Worldstates.emplace_back(0xaa7, 0); // Fel Reaver - Horde control
packet.Worldstates.emplace_back(0xaa6, 0); // Fel Reaver - Alliance control
packet.Worldstates.emplace_back(0xaa5, 1); // Fel Reaver uncontrolled (1 - yes, 0 - no)
packet.Worldstates.emplace_back(0xaa4, 0); // Boold Elf - Horde control
packet.Worldstates.emplace_back(0xaa3, 0); // Boold Elf - Alliance control
packet.Worldstates.emplace_back(0xaa2, 1); // Boold Elf uncontrolled (1 - yes, 0 - no)
packet.Worldstates.emplace_back(0xac5, 1); // Flag (1 - show, 0 - hide) - doesn't work exactly this way!
packet.Worldstates.emplace_back(0xad2, 1); // Horde top-stats (1 - show, 0 - hide) // 02 -> horde picked up the flag
packet.Worldstates.emplace_back(0xad1, 1); // Alliance top-stats (1 - show, 0 - hide) // 02 -> alliance picked up the flag
packet.Worldstates.emplace_back(0xabe, 0); // Horde resources
packet.Worldstates.emplace_back(0xabd, 0); // Alliance resources
packet.Worldstates.emplace_back(0xa05, 142); // unk, constant?
packet.Worldstates.emplace_back(0xaa0, 0); // Capturing progress-bar (100 -> empty (only grey), 0 -> blue|red (no grey), default 0)
packet.Worldstates.emplace_back(0xa9f, 0); // Capturing progress-bar (0 - left, 100 - right)
packet.Worldstates.emplace_back(0xa9e, 0); // Capturing progress-bar (1 - show, 0 - hide)
packet.Worldstates.emplace_back(0xc0d, 379); // unk, constant?
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_HORDE_BASE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_ALLIANCE_BASE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_HORDE_CONFLICT, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_ALLIANCE_CONFLICT, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_HORDE_CONFLICT, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_ALLIANCE_CONFLICT, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_ALLIANCE_CONFLICT, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_HORDE_CONFLICT, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_UNK_2, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_UNK_1, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_HORDE_CONTROL, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_ALLIANCE_CONTROL, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_UNCONTROL, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_ALLIANCE_CONTROL, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_HORDE_CONTROL, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_UNCONTROL, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_HORDE_CONTROL, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_ALLIANCE_CONTROL, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_UNCONTROL, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_HORDE_CONTROL, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_ALLIANCE_CONTROL, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_UNCONTROL, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FLAG, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FLAG_STATE_HORDE, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_FLAG_STATE_ALLIANCE, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_HORDE_RESOURCES, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_ALLIANCE_RESOURCES, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_UNK_0, 142);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_PERCENT_GREY, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_STATUS, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_SHOW, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_EY_UNK_3, 379);
// missing unknowns
}
break;
@@ -8530,22 +8531,22 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(16);
packet.Worldstates.emplace_back(0x9ba, 1); // add ally tower main gui icon // maybe should be sent only on login?
packet.Worldstates.emplace_back(0x9b9, 1); // add horde tower main gui icon // maybe should be sent only on login?
packet.Worldstates.emplace_back(0x9b5, 0); // show neutral broken hill icon
packet.Worldstates.emplace_back(0x9b4, 1); // show icon above broken hill
packet.Worldstates.emplace_back(0x9b3, 0); // show ally broken hill icon
packet.Worldstates.emplace_back(0x9b2, 0); // show neutral overlook icon
packet.Worldstates.emplace_back(0x9b1, 1); // show the overlook arrow
packet.Worldstates.emplace_back(0x9b0, 0); // show ally overlook icon
packet.Worldstates.emplace_back(0x9ae, 0); // horde pvp objectives captured
packet.Worldstates.emplace_back(0x9ac, 0); // ally pvp objectives captured
packet.Worldstates.emplace_back(0x9ab, 100); //: ally / horde slider grey area // show only in direct vicinity!
packet.Worldstates.emplace_back(0x9aa, 50); //: ally / horde slider percentage, 100 for ally, 0 for horde // show only in direct vicinity!
packet.Worldstates.emplace_back(0x9a9, 0); //: ally / horde slider display // show only in direct vicinity!
packet.Worldstates.emplace_back(0x9a8, 0); // show the neutral stadium icon
packet.Worldstates.emplace_back(0x9a7, 0); // show the ally stadium icon
packet.Worldstates.emplace_back(0x9a6, 1); // show the horde stadium icon
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_DISPLAY_A, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_DISPLAY_H, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_BROKENHILL_N, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_BROKENHILL_H, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_BROKENHILL_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_OVERLOOK_N, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_OVERLOOK_H, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_OVERLOOK_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_COUNT_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_COUNT_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_N, 100);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_POS, 50);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_DISPLAY, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_STADIUM_N, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_STADIUM_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_STADIUM_H, 1);
}
break;
case 3518: // Nagrand
@@ -8554,34 +8555,34 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(28);
packet.Worldstates.emplace_back(0x9c7, 0); // NA_UI_HORDE_GUARDS_SHOW
packet.Worldstates.emplace_back(0x9c6, 0); // NA_UI_ALLIANCE_GUARDS_SHOW
packet.Worldstates.emplace_back(0x9bd, 0); // NA_UI_GUARDS_MAX
packet.Worldstates.emplace_back(0x9bb, 0); // NA_UI_GUARDS_LEFT
packet.Worldstates.emplace_back(0x9bf, 0); // NA_UI_OUTLAND_01
packet.Worldstates.emplace_back(0x9be, 0); // NA_UI_UNK_1
packet.Worldstates.emplace_back(0x9c1, 0); // NA_UI_UNK_2
packet.Worldstates.emplace_back(0xaca, 0); // NA_MAP_WYVERN_NORTH_NEU_H
packet.Worldstates.emplace_back(0xa66, 0); // NA_MAP_WYVERN_NORTH_NEU_A
packet.Worldstates.emplace_back(0xa67, 0); // NA_MAP_WYVERN_NORTH_H
packet.Worldstates.emplace_back(0xa68, 0); // NA_MAP_WYVERN_NORTH_A
packet.Worldstates.emplace_back(0xac8, 0); // NA_MAP_WYVERN_SOUTH_NEU_H
packet.Worldstates.emplace_back(0xa6e, 0); // NA_MAP_WYVERN_SOUTH_NEU_A
packet.Worldstates.emplace_back(0xa6c, 0); // NA_MAP_WYVERN_SOUTH_H
packet.Worldstates.emplace_back(0xa6d, 0); // NA_MAP_WYVERN_SOUTH_A
packet.Worldstates.emplace_back(0xac9, 0); // NA_MAP_WYVERN_WEST_NEU_H
packet.Worldstates.emplace_back(0xa6b, 0); // NA_MAP_WYVERN_WEST_NEU_A
packet.Worldstates.emplace_back(0xa69, 0); // NA_MAP_WYVERN_WEST_H
packet.Worldstates.emplace_back(0xa6a, 0); // NA_MAP_WYVERN_WEST_A
packet.Worldstates.emplace_back(0xacb, 0); // NA_MAP_WYVERN_EAST_NEU_H
packet.Worldstates.emplace_back(0xa63, 0); // NA_MAP_WYVERN_EAST_NEU_A
packet.Worldstates.emplace_back(0xa64, 0); // NA_MAP_WYVERN_EAST_H
packet.Worldstates.emplace_back(0xa65, 0); // NA_MAP_WYVERN_EAST_A
packet.Worldstates.emplace_back(0xa6f, 0); // NA_MAP_HALAA_NEUTRAL
packet.Worldstates.emplace_back(0xa74, 0); // NA_MAP_HALAA_NEU_A
packet.Worldstates.emplace_back(0xa75, 0); // NA_MAP_HALAA_NEU_H
packet.Worldstates.emplace_back(0xa70, 0); // NA_MAP_HALAA_HORDE
packet.Worldstates.emplace_back(0xa71, 0); // NA_MAP_HALAA_ALLIANCE
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_HORDE_GUARDS_SHOW, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_ALLIANCE_GUARDS_SHOW, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_GUARDS_MAX, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_POS, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_SLIDER_N, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEUTRAL, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_ALLIANCE, 0);
}
break;
case 3519: // Terokkar Forest
@@ -8590,34 +8591,34 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(28);
packet.Worldstates.emplace_back(0xa41, 0); // TF_UI_CAPTURE_BAR_POS
packet.Worldstates.emplace_back(0xa40, 20); // TF_UI_CAPTURE_BAR_NEUTRAL
packet.Worldstates.emplace_back(0xa3f, 0); // TF_UI_SHOW CAPTURE BAR
packet.Worldstates.emplace_back(0xa3e, 0); // TF_UI_TOWER_COUNT_H
packet.Worldstates.emplace_back(0xa3d, 5); // TF_UI_TOWER_COUNT_A
packet.Worldstates.emplace_back(0xa3c, 0); // TF_UI_TOWERS_CONTROLLED_DISPLAY
packet.Worldstates.emplace_back(0xa88, 0); // TF_TOWER_NUM_15 - SE Neutral
packet.Worldstates.emplace_back(0xa87, 0); // TF_TOWER_NUM_14 - SE Horde
packet.Worldstates.emplace_back(0xa86, 0); // TF_TOWER_NUM_13 - SE Alliance
packet.Worldstates.emplace_back(0xa85, 0); // TF_TOWER_NUM_12 - S Neutral
packet.Worldstates.emplace_back(0xa84, 0); // TF_TOWER_NUM_11 - S Horde
packet.Worldstates.emplace_back(0xa83, 0); // TF_TOWER_NUM_10 - S Alliance
packet.Worldstates.emplace_back(0xa82, 0); // TF_TOWER_NUM_09 - NE Neutral
packet.Worldstates.emplace_back(0xa81, 0); // TF_TOWER_NUM_08 - NE Horde
packet.Worldstates.emplace_back(0xa80, 0); // TF_TOWER_NUM_07 - NE Alliance
packet.Worldstates.emplace_back(0xa7f, 0); // TF_TOWER_NUM_16 - unk
packet.Worldstates.emplace_back(0xa7e, 0); // TF_TOWER_NUM_06 - N Neutral
packet.Worldstates.emplace_back(0xa7d, 0); // TF_TOWER_NUM_05 - N Horde
packet.Worldstates.emplace_back(0xa7c, 0); // TF_TOWER_NUM_04 - N Alliance
packet.Worldstates.emplace_back(0xa7b, 0); // TF_TOWER_NUM_03 - NW Alliance
packet.Worldstates.emplace_back(0xa7a, 0); // TF_TOWER_NUM_02 - NW Horde
packet.Worldstates.emplace_back(0xa79, 0); // TF_TOWER_NUM_01 - NW Neutral
packet.Worldstates.emplace_back(0x9d0, 5); // TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT
packet.Worldstates.emplace_back(0x9ce, 0); // TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT
packet.Worldstates.emplace_back(0x9cd, 0); // TF_UI_LOCKED_TIME_HOURS
packet.Worldstates.emplace_back(0x9cc, 0); // TF_UI_LOCKED_DISPLAY_NEUTRAL
packet.Worldstates.emplace_back(0xad0, 0); // TF_UI_LOCKED_DISPLAY_HORDE
packet.Worldstates.emplace_back(0xacf, 1); // TF_UI_LOCKED_DISPLAY_ALLIANCE
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_POS, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_N, 20);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_DISPLAY, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_H, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_A, 5);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWERS_CONTROLLED_DISPLAY, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_14, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_13, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_12, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_11, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_10, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_09, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_08, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_07, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_06, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_15, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_05, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_04, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_03, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_02, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_01, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_TOWER_NUM_00, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT, 5);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_HOURS, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_NEUTRAL, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_ALLIANCE, 1);
}
break;
case 3521: // Zangarmarsh
@@ -8626,32 +8627,32 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(26);
packet.Worldstates.emplace_back(0x9e1, 0); // ZM_UNK_1
packet.Worldstates.emplace_back(0x9e0, 0); // ZM_UNK_2
packet.Worldstates.emplace_back(0x9df, 0); // ZM_UNK_3
packet.Worldstates.emplace_back(0xa5d, 1); // ZM_WORLDSTATE_UNK_1
packet.Worldstates.emplace_back(0xa5c, 0); // ZM_MAP_TOWER_EAST_N
packet.Worldstates.emplace_back(0xa5b, 1); // ZM_MAP_TOWER_EAST_H
packet.Worldstates.emplace_back(0xa5a, 0); // ZM_MAP_TOWER_EAST_A
packet.Worldstates.emplace_back(0xa59, 1); // ZM_MAP_GRAVEYARD_H - Twin spire graveyard horde
packet.Worldstates.emplace_back(0xa58, 0); // ZM_MAP_GRAVEYARD_A
packet.Worldstates.emplace_back(0xa57, 0); // ZM_MAP_GRAVEYARD_N
packet.Worldstates.emplace_back(0xa56, 0); // ZM_MAP_TOWER_WEST_N
packet.Worldstates.emplace_back(0xa55, 1); // ZM_MAP_TOWER_WEST_H
packet.Worldstates.emplace_back(0xa54, 0); // ZM_MAP_TOWER_WEST_A
packet.Worldstates.emplace_back(0x9e7, 0); // ZM_UNK_4
packet.Worldstates.emplace_back(0x9e6, 0); // ZM_UNK_5
packet.Worldstates.emplace_back(0x9e5, 0); // ZM_UNK_6
packet.Worldstates.emplace_back(0xa00, 0); // ZM_UI_TOWER_EAST_N
packet.Worldstates.emplace_back(0x9ff, 1); // ZM_UI_TOWER_EAST_H
packet.Worldstates.emplace_back(0x9fe, 0); // ZM_UI_TOWER_EAST_A
packet.Worldstates.emplace_back(0x9fd, 0); // ZM_UI_TOWER_WEST_N
packet.Worldstates.emplace_back(0x9fc, 1); // ZM_UI_TOWER_WEST_H
packet.Worldstates.emplace_back(0x9fb, 0); // ZM_UI_TOWER_WEST_A
packet.Worldstates.emplace_back(0xa62, 0); // ZM_MAP_HORDE_FLAG_READY
packet.Worldstates.emplace_back(0xa61, 1); // ZM_MAP_HORDE_FLAG_NOT_READY
packet.Worldstates.emplace_back(0xa60, 1); // ZM_MAP_ALLIANCE_FLAG_NOT_READY
packet.Worldstates.emplace_back(0xa5f, 0); // ZM_MAP_ALLIANCE_FLAG_READY
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_N_W, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_POS_W, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_DISPLAY_W, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UNK, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_N, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_H, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_H, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_N, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_N, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_H, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_N_E, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_POS_E, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_DISPLAY_E, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_N, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_H, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_N, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_H, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_A, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_READY, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_NOT_READY, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_NOT_READY, 1);
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_READY, 0);
}
break;
case 3698: // Nagrand Arena
@@ -8660,9 +8661,9 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(3);
packet.Worldstates.emplace_back(0xa0f, 0); // BATTLEGROUND_NAGRAND_ARENA_GOLD
packet.Worldstates.emplace_back(0xa10, 0); // BATTLEGROUND_NAGRAND_ARENA_GREEN
packet.Worldstates.emplace_back(0xa11, 0); // BATTLEGROUND_NAGRAND_ARENA_SHOW
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_NA_ARENA_GOLD, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_NA_ARENA_GREEN, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_NA_ARENA_SHOW, 0);
}
break;
case 3702: // Blade's Edge Arena
@@ -8671,9 +8672,9 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(3);
packet.Worldstates.emplace_back(0x9f0, 0); // BATTLEGROUND_BLADES_EDGE_ARENA_GOLD
packet.Worldstates.emplace_back(0x9f1, 0); // BATTLEGROUND_BLADES_EDGE_ARENA_GREEN
packet.Worldstates.emplace_back(0x9f3, 0); // BATTLEGROUND_BLADES_EDGE_ARENA_SHOW
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_BE_ARENA_GOLD, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_BE_ARENA_GREEN, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_BE_ARENA_SHOW, 0);
}
break;
case 3968: // Ruins of Lordaeron
@@ -8682,9 +8683,9 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(3);
packet.Worldstates.emplace_back(0xbb8, 0); // BATTELGROUND_RUINS_OF_LORDAERNON_GOLD
packet.Worldstates.emplace_back(0xbb9, 0); // BATTELGROUND_RUINS_OF_LORDAERNON_GREEN
packet.Worldstates.emplace_back(0xbba, 0); // BATTELGROUND_RUINS_OF_LORDAERNON_SHOW
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_RL_ARENA_GOLD, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_RL_ARENA_GREEN, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_RL_ARENA_SHOW, 0);
}
break;
case 4378: // Dalaran Sewers
@@ -8693,9 +8694,9 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(3);
packet.Worldstates.emplace_back(0xe11, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_GOLD
packet.Worldstates.emplace_back(0xe10, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_GREEN
packet.Worldstates.emplace_back(0xe1a, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_SHOW
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_DS_ARENA_GOLD, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_DS_ARENA_GREEN, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_DS_ARENA_SHOW, 0);
}
break;
case 4384: // Strand of the Ancients
@@ -8704,34 +8705,33 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(24);
// 1-3 A defend, 4-6 H defend, 7-9 unk defend, 1 - ok, 2 - half destroyed, 3 - destroyed
packet.Worldstates.emplace_back(0xf09, 0); // Gate of Temple
packet.Worldstates.emplace_back(0xe36, 0); // Gate of Yellow Moon
packet.Worldstates.emplace_back(0xe27, 0); // Gate of Green Emerald
packet.Worldstates.emplace_back(0xe24, 0); // Gate of Blue Sapphire
packet.Worldstates.emplace_back(0xe21, 0); // Gate of Red Sun
packet.Worldstates.emplace_back(0xe1e, 0); // Gate of Purple Ametyst
packet.Worldstates.emplace_back(0xdf3, 0); // bonus timer (1 - on, 0 - off)
packet.Worldstates.emplace_back(0xded, 0); // Horde Attacker
packet.Worldstates.emplace_back(0xdec, 0); // Alliance Attacker
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_ANCIENT_GATE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_YELLOW_GATE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_GREEN_GATE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_BLUE_GATE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_RED_GATE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_PURPLE_GATE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_BONUS_TIMER, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_HORDE_ATTACKER, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_ENABLE_TIMER, 0);
// End Round timer, example: 19:59 -> A:BC
packet.Worldstates.emplace_back(0xde9, 0); // C
packet.Worldstates.emplace_back(0xde8, 0); // B
packet.Worldstates.emplace_back(0xde7, 0); // A
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_TIMER_SECONDS_SECOND_DIGIT, 0); // C
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_TIMER_SECONDS_FIRST_DIGIT, 0); // B
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_TIMER_MINUTES, 0); // A
packet.Worldstates.emplace_back(0xe35, 0); // BG_SA_CENTER_GY_ALLIANCE
packet.Worldstates.emplace_back(0xe34, 0); // BG_SA_RIGHT_GY_ALLIANCE
packet.Worldstates.emplace_back(0xe33, 0); // BG_SA_LEFT_GY_ALLIANCE
packet.Worldstates.emplace_back(0xe32, 0); // BG_SA_CENTER_GY_HORDE
packet.Worldstates.emplace_back(0xe31, 0); // BG_SA_LEFT_GY_HORDE
packet.Worldstates.emplace_back(0xe30, 0); // BG_SA_RIGHT_GY_HORDE
packet.Worldstates.emplace_back(0xe2f, 0); // BG_SA_HORDE_DEFENCE_TOKEN
packet.Worldstates.emplace_back(0xe2e, 0); // BG_SA_ALLIANCE_DEFENCE_TOKEN
packet.Worldstates.emplace_back(0xe2d, 0); // BG_SA_LEFT_ATT_TOKEN_HRD
packet.Worldstates.emplace_back(0xe2c, 0); // BG_SA_RIGHT_ATT_TOKEN_HRD
packet.Worldstates.emplace_back(0xe2b, 0); // BG_SA_RIGHT_ATT_TOKEN_ALL
packet.Worldstates.emplace_back(0xe2a, 0); // BG_SA_LEFT_ATT_TOKEN_ALL
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_CENTER_GY_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_RIGHT_GY_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_LEFT_GY_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_CENTER_GY_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_LEFT_GY_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_RIGHT_GY_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_HORDE_DEFENSE_TOKEN, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_ALLIANCE_DEFENSE_TOKEN, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_LEFT_ATTACK_TOKEN_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_RIGHT_ATTACK_TOKEN_HORDE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_RIGHT_ATTACK_TOKEN_ALLIANCE, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_SA_LEFT_ATTACK_TOKEN_ALLIANCE, 0);
// missing unknowns
}
break;
@@ -8741,9 +8741,9 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(3);
packet.Worldstates.emplace_back(0xe10, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_GREEN
packet.Worldstates.emplace_back(0xe11, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_GOLD
packet.Worldstates.emplace_back(0xe1a, 0); // ARENA_WORLD_STATE_ALIVE_PLAYERS_SHOW
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_RV_ARENA_GREEN, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_RV_ARENA_GOLD, 0);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_RV_ARENA_SHOW, 0);
}
break;
case 4710: // Isle of Conquest
@@ -8752,24 +8752,24 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(18);
packet.Worldstates.emplace_back(0x107d, 1); // BG_IC_ALLIANCE_RENFORT_SET
packet.Worldstates.emplace_back(0x107e, 1); // BG_IC_HORDE_RENFORT_SET
packet.Worldstates.emplace_back(0x1082, 300); // BG_IC_ALLIANCE_RENFORT
packet.Worldstates.emplace_back(0x1083, 300); // BG_IC_HORDE_RENFORT
packet.Worldstates.emplace_back(0x10e2, 1); // BG_IC_GATE_FRONT_H_WS_OPEN
packet.Worldstates.emplace_back(0x10e1, 1); // BG_IC_GATE_WEST_H_WS_OPEN
packet.Worldstates.emplace_back(0x10e0, 1); // BG_IC_GATE_EAST_H_WS_OPEN
packet.Worldstates.emplace_back(0x10e3, 1); // BG_IC_GATE_FRONT_A_WS_OPEN
packet.Worldstates.emplace_back(0x10e4, 1); // BG_IC_GATE_WEST_A_WS_OPEN
packet.Worldstates.emplace_back(0x10e5, 1); // BG_IC_GATE_EAST_A_WS_OPEN
packet.Worldstates.emplace_back(0x10dd, 1); // unk
packet.Worldstates.emplace_back(0x10cd, 1); // BG_IC_DOCKS_UNCONTROLLED
packet.Worldstates.emplace_back(0x10c8, 1); // BG_IC_HANGAR_UNCONTROLLED
packet.Worldstates.emplace_back(0x10d2, 1); // BG_IC_QUARRY_UNCONTROLLED
packet.Worldstates.emplace_back(0x10d7, 1); // BG_IC_REFINERY_UNCONTROLLED
packet.Worldstates.emplace_back(0x10c6, 1); // BG_IC_WORKSHOP_UNCONTROLLED
packet.Worldstates.emplace_back(0x1093, 1); // unk
packet.Worldstates.emplace_back(0x10f9, 1); // unk
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_REINFORCEMENT_SET, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_HORDE_REINFORCEMENT_SET, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_REINFORCEMENT, 300);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_HORDE_REINFORCEMENT, 300);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_GATE_FRONT_H_WS_OPEN, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_GATE_WEST_H_WS_OPEN, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_GATE_EAST_H_WS_OPEN, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_GATE_FRONT_A_WS_OPEN, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_GATE_WEST_A_WS_OPEN, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_GATE_EAST_A_WS_OPEN, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_GATE_FRONT_H_WS_CLOSED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_DOCKS_UNCONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_HANGAR_UNCONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_QUARRY_UNCONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_REFINERY_UNCONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_WORKSHOP_UNCONTROLLED, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_UNK, 1);
packet.Worldstates.emplace_back(WORLD_STATE_BATTLEGROUND_IC_HORDE_KEEP_CONTROLLED_H, 1);
}
break;
case 4987: // The Ruby Sanctum
@@ -8778,9 +8778,9 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(3);
packet.Worldstates.emplace_back(0x13b9, 50); // WORLDSTATE_CORPOREALITY_MATERIAL
packet.Worldstates.emplace_back(0x13ba, 50); // WORLDSTATE_CORPOREALITY_TWILIGHT
packet.Worldstates.emplace_back(0x13bb, 0); // WORLDSTATE_CORPOREALITY_TOGGLE
packet.Worldstates.emplace_back(WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_MATERIAL, 50);
packet.Worldstates.emplace_back(WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_TWILIGHT, 50);
packet.Worldstates.emplace_back(WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_TOGGLE, 0);
}
break;
case 4812: // Icecrown Citadel
@@ -8789,11 +8789,11 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(5);
packet.Worldstates.emplace_back(0x1327, 0); // WORLDSTATE_SHOW_TIMER (Blood Quickening weekly)
packet.Worldstates.emplace_back(0x1328, 30); // WORLDSTATE_EXECUTION_TIME
packet.Worldstates.emplace_back(0x134c, 0); // WORLDSTATE_SHOW_ATTEMPTS
packet.Worldstates.emplace_back(0x134d, 50); // WORLDSTATE_ATTEMPTS_REMAINING
packet.Worldstates.emplace_back(0x134e, 50); // WORLDSTATE_ATTEMPTS_MAX
packet.Worldstates.emplace_back(WORLD_STATE_ICECROWN_CITADEL_SHOW_TIMER, 0);
packet.Worldstates.emplace_back(WORLD_STATE_ICECROWN_CITADEL_EXECUTION_TIME, 30);
packet.Worldstates.emplace_back(WORLD_STATE_ICECROWN_CITADEL_SHOW_ATTEMPTS, 0);
packet.Worldstates.emplace_back(WORLD_STATE_ICECROWN_CITADEL_ATTEMPTS_REMAINING, 50);
packet.Worldstates.emplace_back(WORLD_STATE_ICECROWN_CITADEL_ATTEMPTS_MAX, 50);
}
break;
case 4100: // The Culling of Stratholme
@@ -8802,11 +8802,11 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(5);
packet.Worldstates.emplace_back(0xd97, 0); // WORLDSTATE_SHOW_CRATES
packet.Worldstates.emplace_back(0xd98, 0); // WORLDSTATE_CRATES_REVEALED
packet.Worldstates.emplace_back(0xdb0, 0); // WORLDSTATE_WAVE_COUNT
packet.Worldstates.emplace_back(0xf5b, 25); // WORLDSTATE_TIME_GUARDIAN
packet.Worldstates.emplace_back(0xf5c, 0); // WORLDSTATE_TIME_GUARDIAN_SHOW
packet.Worldstates.emplace_back(WORLD_STATE_CULLING_OF_STRATHOLME_SHOW_CRATES, 0);
packet.Worldstates.emplace_back(WORLD_STATE_CULLING_OF_STRATHOLME_CRATES_REVEALED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_CULLING_OF_STRATHOLME_WAVE_COUNT, 0);
packet.Worldstates.emplace_back(WORLD_STATE_CULLING_OF_STRATHOLME_TIME_GUARDIAN, 25);
packet.Worldstates.emplace_back(WORLD_STATE_CULLING_OF_STRATHOLME_TIME_GUARDIAN_SHOW, 0);
}
break;
case 4228: // The Oculus
@@ -8815,8 +8815,8 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(2);
packet.Worldstates.emplace_back(0xdc4, 0); // WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW
packet.Worldstates.emplace_back(0xd9e, 0); // WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT
packet.Worldstates.emplace_back(WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_SHOW, 0);
packet.Worldstates.emplace_back(WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_AMOUNT, 0);
}
break;
case 4273: // Ulduar
@@ -8825,8 +8825,8 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(2);
packet.Worldstates.emplace_back(0x1024, 0); // WORLDSTATE_ALGALON_TIMER_ENABLED
packet.Worldstates.emplace_back(0x1023, 0); // WORLDSTATE_ALGALON_DESPAWN_TIMER
packet.Worldstates.emplace_back(WORLD_STATE_ULDUAR_ALGALON_TIMER_ENABLED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_ULDUAR_ALGALON_DESPAWN_TIMER, 0);
}
break;
case 4415: // Violet Hold
@@ -8835,9 +8835,9 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(3);
packet.Worldstates.emplace_back(0xee8, 0); // WORLD_STATE_VH_SHOW
packet.Worldstates.emplace_back(0xee7, 100); // WORLD_STATE_VH_PRISON_STATE
packet.Worldstates.emplace_back(0xee2, 0); // WORLD_STATE_VH_WAVE_COUNT
packet.Worldstates.emplace_back(WORLD_STATE_VIOLET_HOLD_SHOW, 0);
packet.Worldstates.emplace_back(WORLD_STATE_VIOLET_HOLD_PRISON_STATE, 100);
packet.Worldstates.emplace_back(WORLD_STATE_VIOLET_HOLD_WAVE_COUNT, 0);
}
break;
case 4820: // Halls of Refection
@@ -8846,8 +8846,8 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
else
{
packet.Worldstates.reserve(2);
packet.Worldstates.emplace_back(0x1314, 0); // WORLD_STATE_HOR_WAVES_ENABLED
packet.Worldstates.emplace_back(0x1312, 0); // WORLD_STATE_HOR_WAVE_COUNT
packet.Worldstates.emplace_back(WORLD_STATE_HALLS_OF_REFLECTION_WAVES_ENABLED, 0);
packet.Worldstates.emplace_back(WORLD_STATE_HALLS_OF_REFLECTION_WAVE_COUNT, 0);
}
break;
case 4298: // Scarlet Enclave (DK starting zone)
@@ -8857,12 +8857,12 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
if (CreatureAI* mograineAI = mograine->AI())
{
packet.Worldstates.reserve(6);
packet.Worldstates.emplace_back(0xe06, mograineAI->GetData(3590));
packet.Worldstates.emplace_back(0xe07, mograineAI->GetData(3591));
packet.Worldstates.emplace_back(0xe08, mograineAI->GetData(3592));
packet.Worldstates.emplace_back(0xe13, mograineAI->GetData(3603));
packet.Worldstates.emplace_back(0xe14, mograineAI->GetData(3604));
packet.Worldstates.emplace_back(0xe15, mograineAI->GetData(3605));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_DEFENDERS_COUNT, mograineAI->GetData(3590));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SCOURGE_COUNT, mograineAI->GetData(3591));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SOLDIERS_ENABLE, mograineAI->GetData(3592));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_ENABLE, mograineAI->GetData(3603));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME, mograineAI->GetData(3604));
packet.Worldstates.emplace_back(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_EVENT_BEGIN_ENABLE, mograineAI->GetData(3605));
}
}
break;
@@ -8875,10 +8875,10 @@ void Player::SendInitWorldStates(uint32 zoneId, uint32 areaId)
[[fallthrough]];
default:
packet.Worldstates.reserve(4);
packet.Worldstates.emplace_back(0x914, 0);
packet.Worldstates.emplace_back(0x913, 0);
packet.Worldstates.emplace_back(0x912, 0);
packet.Worldstates.emplace_back(0x915, 0);
packet.Worldstates.emplace_back(WORLD_STATE_GENERIC_UNK_2, 0);
packet.Worldstates.emplace_back(WORLD_STATE_GENERIC_UNK_1, 0);
packet.Worldstates.emplace_back(WORLD_STATE_GENERIC_UNK_0, 0);
packet.Worldstates.emplace_back(WORLD_STATE_GENERIC_UNK_3, 0);
break;
}
}

View File

@@ -22,6 +22,7 @@
#include "QueryResult.h"
#include "SpellMgr.h"
#include "World.h"
#include "WorldStateDefines.h"
void CharacterDatabaseCleaner::CleanDatabase()
{
@@ -34,7 +35,7 @@ void CharacterDatabaseCleaner::CleanDatabase()
uint32 oldMSTime = getMSTime();
// check flags which clean ups are necessary
QueryResult result = CharacterDatabase.Query("SELECT value FROM worldstates WHERE entry = {}", WS_CLEANING_FLAGS);
QueryResult result = CharacterDatabase.Query("SELECT value FROM worldstates WHERE entry = {}", WORLD_STATE_CUSTOM_CLEANING_FLAGS);
if (!result)
return;
@@ -59,7 +60,7 @@ void CharacterDatabaseCleaner::CleanDatabase()
// NOTE: In order to have persistentFlags be set in worldstates for the next cleanup,
// you need to define them at least once in worldstates.
flags &= sWorld->getIntConfig(CONFIG_PERSISTENT_CHARACTER_CLEAN_FLAGS);
CharacterDatabase.DirectExecute("UPDATE worldstates SET value = {} WHERE entry = {}", flags, WS_CLEANING_FLAGS);
CharacterDatabase.DirectExecute("UPDATE worldstates SET value = {} WHERE entry = {}", flags, WORLD_STATE_CUSTOM_CLEANING_FLAGS);
sWorld->SetCleaningFlags(flags);

View File

@@ -96,6 +96,7 @@
#include "WorldSession.h"
#include "WorldSessionMgr.h"
#include "WorldState.h"
#include "WorldStateDefines.h"
#include <boost/asio/ip/address.hpp>
#include <cmath>
@@ -2516,67 +2517,67 @@ void World::_UpdateRealmCharCount(PreparedQueryResult resultCharCount,uint32 acc
void World::InitWeeklyQuestResetTime()
{
Seconds wstime = Seconds(sWorld->getWorldState(WS_WEEKLY_QUEST_RESET_TIME));
Seconds wstime = Seconds(sWorld->getWorldState(WORLD_STATE_CUSTOM_WEEKLY_QUEST_RESET_TIME));
_nextWeeklyQuestReset = wstime > 0s ? wstime : Seconds(Acore::Time::GetNextTimeWithDayAndHour(4, 6));
if (wstime == 0s)
{
sWorld->setWorldState(WS_WEEKLY_QUEST_RESET_TIME, _nextWeeklyQuestReset.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_WEEKLY_QUEST_RESET_TIME, _nextWeeklyQuestReset.count());
}
}
void World::InitDailyQuestResetTime()
{
Seconds wstime = Seconds(sWorld->getWorldState(WS_DAILY_QUEST_RESET_TIME));
Seconds wstime = Seconds(sWorld->getWorldState(WORLD_STATE_CUSTOM_DAILY_QUEST_RESET_TIME));
_nextDailyQuestReset = wstime > 0s ? wstime : Seconds(Acore::Time::GetNextTimeWithDayAndHour(-1, 6));
if (wstime == 0s)
{
sWorld->setWorldState(WS_DAILY_QUEST_RESET_TIME, _nextDailyQuestReset.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_DAILY_QUEST_RESET_TIME, _nextDailyQuestReset.count());
}
}
void World::InitMonthlyQuestResetTime()
{
Seconds wstime = Seconds(sWorld->getWorldState(WS_MONTHLY_QUEST_RESET_TIME));
Seconds wstime = Seconds(sWorld->getWorldState(WORLD_STATE_CUSTOM_MONTHLY_QUEST_RESET_TIME));
_nextMonthlyQuestReset = wstime > 0s ? wstime : Seconds(Acore::Time::GetNextTimeWithDayAndHour(-1, 6));
if (wstime == 0s)
{
sWorld->setWorldState(WS_MONTHLY_QUEST_RESET_TIME, _nextMonthlyQuestReset.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_MONTHLY_QUEST_RESET_TIME, _nextMonthlyQuestReset.count());
}
}
void World::InitRandomBGResetTime()
{
Seconds wstime = Seconds(sWorld->getWorldState(WS_BG_DAILY_RESET_TIME));
Seconds wstime = Seconds(sWorld->getWorldState(WORLD_STATE_CUSTOM_BG_DAILY_RESET_TIME));
_nextRandomBGReset = wstime > 0s ? wstime : Seconds(Acore::Time::GetNextTimeWithDayAndHour(-1, 6));
if (wstime == 0s)
{
sWorld->setWorldState(WS_BG_DAILY_RESET_TIME, _nextRandomBGReset.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_BG_DAILY_RESET_TIME, _nextRandomBGReset.count());
}
}
void World::InitCalendarOldEventsDeletionTime()
{
Seconds currentDeletionTime = Seconds(getWorldState(WS_DAILY_CALENDAR_DELETION_OLD_EVENTS_TIME));
Seconds currentDeletionTime = Seconds(getWorldState(WORLD_STATE_CUSTOM_DAILY_CALENDAR_DELETION_OLD_EVENTS_TIME));
Seconds nextDeletionTime = currentDeletionTime > 0s ? currentDeletionTime : Seconds(Acore::Time::GetNextTimeWithDayAndHour(-1, getIntConfig(CONFIG_CALENDAR_DELETE_OLD_EVENTS_HOUR)));
if (currentDeletionTime == 0s)
{
sWorld->setWorldState(WS_DAILY_CALENDAR_DELETION_OLD_EVENTS_TIME, nextDeletionTime.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_DAILY_CALENDAR_DELETION_OLD_EVENTS_TIME, nextDeletionTime.count());
}
}
void World::InitGuildResetTime()
{
Seconds wstime = Seconds(getWorldState(WS_GUILD_DAILY_RESET_TIME));
Seconds wstime = Seconds(getWorldState(WORLD_STATE_CUSTOM_GUILD_DAILY_RESET_TIME));
_nextGuildReset = wstime > 0s ? wstime : Seconds(Acore::Time::GetNextTimeWithDayAndHour(-1, 6));
if (wstime == 0s)
{
sWorld->setWorldState(WS_GUILD_DAILY_RESET_TIME, _nextGuildReset.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_GUILD_DAILY_RESET_TIME, _nextGuildReset.count());
}
}
@@ -2591,7 +2592,7 @@ void World::ResetDailyQuests()
itr->second->GetPlayer()->ResetDailyQuestStatus();
_nextDailyQuestReset = Seconds(Acore::Time::GetNextTimeWithDayAndHour(-1, 6));
sWorld->setWorldState(WS_DAILY_QUEST_RESET_TIME, _nextDailyQuestReset.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_DAILY_QUEST_RESET_TIME, _nextDailyQuestReset.count());
// change available dailies
sPoolMgr->ChangeDailyQuests();
@@ -2627,7 +2628,7 @@ void World::ResetWeeklyQuests()
itr->second->GetPlayer()->ResetWeeklyQuestStatus();
_nextWeeklyQuestReset = Seconds(Acore::Time::GetNextTimeWithDayAndHour(4, 6));
sWorld->setWorldState(WS_WEEKLY_QUEST_RESET_TIME, _nextWeeklyQuestReset.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_WEEKLY_QUEST_RESET_TIME, _nextWeeklyQuestReset.count());
// change available weeklies
sPoolMgr->ChangeWeeklyQuests();
@@ -2646,7 +2647,7 @@ void World::ResetMonthlyQuests()
itr->second->GetPlayer()->ResetMonthlyQuestStatus();
_nextMonthlyQuestReset = Seconds(Acore::Time::GetNextTimeWithMonthAndHour(-1, 6));
sWorld->setWorldState(WS_MONTHLY_QUEST_RESET_TIME, _nextMonthlyQuestReset.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_MONTHLY_QUEST_RESET_TIME, _nextMonthlyQuestReset.count());
}
void World::ResetEventSeasonalQuests(uint16 event_id)
@@ -2674,7 +2675,7 @@ void World::ResetRandomBG()
itr->second->GetPlayer()->SetRandomWinner(false);
_nextRandomBGReset = Seconds(Acore::Time::GetNextTimeWithDayAndHour(-1, 6));
sWorld->setWorldState(WS_BG_DAILY_RESET_TIME, _nextRandomBGReset.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_BG_DAILY_RESET_TIME, _nextRandomBGReset.count());
}
void World::CalendarDeleteOldEvents()
@@ -2682,7 +2683,7 @@ void World::CalendarDeleteOldEvents()
LOG_INFO("server.worldserver", "Calendar deletion of old events.");
_nextCalendarOldEventsDeletionTime = Seconds(Acore::Time::GetNextTimeWithDayAndHour(-1, getIntConfig(CONFIG_CALENDAR_DELETE_OLD_EVENTS_HOUR)));
sWorld->setWorldState(WS_DAILY_CALENDAR_DELETION_OLD_EVENTS_TIME, _nextCalendarOldEventsDeletionTime.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_DAILY_CALENDAR_DELETION_OLD_EVENTS_TIME, _nextCalendarOldEventsDeletionTime.count());
sCalendarMgr->DeleteOldEvents();
}
@@ -2691,7 +2692,7 @@ void World::ResetGuildCap()
LOG_INFO("server.worldserver", "Guild Daily Cap reset.");
_nextGuildReset = Seconds(Acore::Time::GetNextTimeWithDayAndHour(-1, 6));
sWorld->setWorldState(WS_GUILD_DAILY_RESET_TIME, _nextGuildReset.count());
sWorld->setWorldState(WORLD_STATE_CUSTOM_GUILD_DAILY_RESET_TIME, _nextGuildReset.count());
sGuildMgr->ResetTimes();
}

View File

@@ -127,18 +127,6 @@ enum RealmZone
REALM_ZONE_CN5_8 = 37 // basic-Latin at create, any at login
};
enum WorldStates
{
WS_ARENA_DISTRIBUTION_TIME = 20001, // Next arena distribution time
WS_WEEKLY_QUEST_RESET_TIME = 20002, // Next weekly reset time
WS_BG_DAILY_RESET_TIME = 20003, // Next daily BG reset time
WS_CLEANING_FLAGS = 20004, // Cleaning Flags
WS_DAILY_QUEST_RESET_TIME = 20005, // Next daily reset time
WS_GUILD_DAILY_RESET_TIME = 20006, // Next guild cap reset time
WS_MONTHLY_QUEST_RESET_TIME = 20007, // Next monthly reset time
WS_DAILY_CALENDAR_DELETION_OLD_EVENTS_TIME = 20008 // Next daily calendar deletions of old events time
};
// xinef: petitions storage
struct PetitionData
{

View File

@@ -21,6 +21,7 @@
#include "SharedDefines.h"
#include "Weather.h"
#include "WorldState.h"
#include "WorldStateDefines.h"
WorldState* WorldState::instance()
{

View File

@@ -21,24 +21,6 @@
#include "Player.h"
#include <atomic>
// TODO: Move these to WorldStateDefines.h
enum WorldStateWorldStates
{
// Sun's Reach Reclamation
WORLD_STATE_QUEL_DANAS_MUSIC = 3426,
WORLD_STATE_QUEL_DANAS_HARBOR = 3238,
WORLD_STATE_QUEL_DANAS_ALCHEMY_LAB = 3223,
WORLD_STATE_QUEL_DANAS_ARMORY = 3233,
WORLD_STATE_QUEL_DANAS_SANCTUM = 3244,
WORLD_STATE_QUEL_DANAS_PORTAL = 3269,
WORLD_STATE_QUEL_DANAS_ANVIL = 3228,
WORLD_STATE_QUEL_DANAS_MONUMENT = 3275,
// Sunwell Gate
WORLD_STATE_AGAMATH_THE_FIRST_GATE_HEALTH = 3253, // guessed, potentially wrong
WORLD_STATE_ROHENDOR_THE_SECOND_GATE_HEALTH = 3255,
WORLD_STATE_ARCHONISUS_THE_FINAL_GATE_HEALTH = 3257,
};
enum WorldStateCondition
{
WORLD_STATE_CONDITION_TROLLBANES_COMMAND = 39911,

View File

@@ -0,0 +1,622 @@
/*
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by the
* Free Software Foundation; either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef WORLD_STATE_DEFINES_H
#define WORLD_STATE_DEFINES_H
enum WorldStateIDs
{
// Scourge Invasion
WORLD_STATE_SCOURGE_INVASION_VICTORIES = 2219,
// Active Invasion Indicators
WORLD_STATE_SCOURGE_INVASION_WINTERSPRING = 2259,
WORLD_STATE_SCOURGE_INVASION_AZSHARA = 2260,
WORLD_STATE_SCOURGE_INVASION_BLASTED_LANDS = 2261,
WORLD_STATE_SCOURGE_INVASION_BURNING_STEPPES = 2262,
WORLD_STATE_SCOURGE_INVASION_TANARIS = 2263,
WORLD_STATE_SCOURGE_INVASION_EASTERN_PLAGUELANDS = 2264,
// Active Necropoli
WORLD_STATE_SCOURGE_INVASION_NECROPOLIS_AZSHARA = 2279,
WORLD_STATE_SCOURGE_INVASION_NECROPOLIS_BLASTED_LANDS = 2280,
WORLD_STATE_SCOURGE_INVASION_NECROPOLIS_BURNING_STEPPES = 2281,
WORLD_STATE_SCOURGE_INVASION_NECROPOLIS_EASTERN_PLAGUELANDS = 2282,
WORLD_STATE_SCOURGE_INVASION_NECROPOLIS_TANARIS = 2283,
WORLD_STATE_SCOURGE_INVASION_NECROPOLIS_WINTERSPRING = 2284,
// Arena
WORLD_STATE_ARENA_SEASON_PROGRESS = 3191,
WORLD_STATE_ARENA_ALIVE_PLAYERS_GREEN = 3600,
WORLD_STATE_ARENA_ALIVE_PLAYERS_GOLD = 3601,
WORLD_STATE_ARENA_SEASON_ID = 3901,
// Sun's Reach Reclamation
WORLD_STATE_QUEL_DANAS_MUSIC = 3426,
WORLD_STATE_QUEL_DANAS_HARBOR = 3238,
WORLD_STATE_QUEL_DANAS_ALCHEMY_LAB = 3223,
WORLD_STATE_QUEL_DANAS_ARMORY = 3233,
WORLD_STATE_QUEL_DANAS_SANCTUM = 3244,
WORLD_STATE_QUEL_DANAS_PORTAL = 3269,
WORLD_STATE_QUEL_DANAS_ANVIL = 3228,
WORLD_STATE_QUEL_DANAS_MONUMENT = 3275,
// Sunwell Gate
WORLD_STATE_AGAMATH_THE_FIRST_GATE_HEALTH = 3253, // guessed, potentially wrong
WORLD_STATE_ROHENDOR_THE_SECOND_GATE_HEALTH = 3255,
WORLD_STATE_ARCHONISUS_THE_FINAL_GATE_HEALTH = 3257,
// Wintergrasp
WORLD_STATE_BATTLEFIELD_WG_VEHICLE_H = 3490,
WORLD_STATE_BATTLEFIELD_WG_MAX_VEHICLE_H = 3491,
WORLD_STATE_BATTLEFIELD_WG_VEHICLE_A = 3680,
WORLD_STATE_BATTLEFIELD_WG_MAX_VEHICLE_A = 3681,
WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_K_W = 3698,
WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_K_E = 3699,
WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_NW = 3700,
WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_NE = 3701,
WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_SW = 3702,
WORLD_STATE_BATTLEFIELD_WG_WORKSHOP_SE = 3703,
WORLD_STATE_BATTLEFIELD_WG_SHOW = 3710,
WORLD_STATE_BATTLEFIELD_WG_CLOCK = 3781,
WORLD_STATE_BATTLEFIELD_WG_ACTIVE = 3801,
WORLD_STATE_BATTLEFIELD_WG_DEFENDER = 3802,
WORLD_STATE_BATTLEFIELD_WG_ATTACKER = 3803,
WORLD_STATE_BATTLEFIELD_WG_CONTROL = 3804, // Shows on the map who controls WG
WORLD_STATE_BATTLEFIELD_WG_HORDE_KEEP_CAPTURED = 4022,
WORLD_STATE_BATTLEFIELD_WG_ALLIANCE_KEEP_CAPTURED = 4023,
WORLD_STATE_BATTLEFIELD_WG_HORDE_KEEP_DEFENDED = 4024,
WORLD_STATE_BATTLEFIELD_WG_ALLIANCE_KEEP_DEFENDED = 4025,
WORLD_STATE_BATTLEFIELD_WG_CLOCK_TEXTS = 4354,
WORLD_STATE_BATTLEFIELD_WG_ICON_ACTIVE = 4375, // Activates "ice" icon
// Alterac Valley
WORLD_STATE_BATTLEGROUND_AV_STORMPIKE_LIEUTENANTS = 950,
WORLD_STATE_BATTLEGROUND_AV_STORMPIKE_COMMANDERS = 962,
WORLD_STATE_BATTLEGROUND_AV_UNK_0 = 964,
WORLD_STATE_BATTLEGROUND_AV_UNK_1 = 966,
WORLD_STATE_BATTLEGROUND_AV_STONEHEART_H_C = 1301,
WORLD_STATE_BATTLEGROUND_AV_STONEHEART_A_C = 1302,
WORLD_STATE_BATTLEGROUND_AV_STONEHEART_H_A = 1303,
WORLD_STATE_BATTLEGROUND_AV_STONEHEART_A_A = 1304,
WORLD_STATE_BATTLEGROUND_AV_AID_A_C = 1325,
WORLD_STATE_BATTLEGROUND_AV_AID_A_A = 1326,
WORLD_STATE_BATTLEGROUND_AV_AID_H_C = 1327,
WORLD_STATE_BATTLEGROUND_AV_AID_H_A = 1328,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_A_C = 1329,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_H_C = 1330,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_A_A = 1331,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFHUT_H_A = 1332,
WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_A_C = 1333,
WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_H_C = 1334,
WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_A_A = 1335,
WORLD_STATE_BATTLEGROUND_AV_PIKEGRAVE_H_A = 1336,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_A_C = 1337,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_H_C = 1338,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_A_A = 1339,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLF_H_A = 1340,
WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_A_C = 1341,
WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_H_C = 1342,
WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_A_A = 1343,
WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_H_A = 1344,
WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_A_C = 1346,
WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_H_C = 1347,
WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_A_A = 1348,
WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_H_A = 1349,
WORLD_STATE_BATTLEGROUND_AV_S_MINE_A = 1355,
WORLD_STATE_BATTLEGROUND_AV_S_MINE_H = 1356,
WORLD_STATE_BATTLEGROUND_AV_S_MINE_N = 1357,
WORLD_STATE_BATTLEGROUND_AV_N_MINE_A = 1358,
WORLD_STATE_BATTLEGROUND_AV_N_MINE_H = 1359,
WORLD_STATE_BATTLEGROUND_AV_N_MINE_N = 1360,
WORLD_STATE_BATTLEGROUND_AV_DUNS_CONTROLLED = 1361,
WORLD_STATE_BATTLEGROUND_AV_DUNN_CONTROLLED = 1362,
WORLD_STATE_BATTLEGROUND_AV_ICEWING_CONTROLLED = 1363,
WORLD_STATE_BATTLEGROUND_AV_STONEH_CONTROLLED = 1364,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_DESTROYED = 1365,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_DESTROYED = 1366,
WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_DESTROYED = 1367,
WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_DESTROYED = 1368,
WORLD_STATE_BATTLEGROUND_AV_UNK_2 = 1369,
WORLD_STATE_BATTLEGROUND_AV_DUNS_DESTROYED = 1370,
WORLD_STATE_BATTLEGROUND_AV_DUNN_DESTROYED = 1371,
WORLD_STATE_BATTLEGROUND_AV_ICEWING_DESTROYED = 1372,
WORLD_STATE_BATTLEGROUND_AV_STONEH_DESTROYED = 1373,
WORLD_STATE_BATTLEGROUND_AV_DUNN_UNUSED = 1374, // Unused
WORLD_STATE_BATTLEGROUND_AV_DUNS_UNUSED = 1375, // Unused
WORLD_STATE_BATTLEGROUND_AV_ICEWING_UNUSED = 1376, // Unused
WORLD_STATE_BATTLEGROUND_AV_STONEH_UNUSED = 1377, // Unused
WORLD_STATE_BATTLEGROUND_AV_DUNS_ASSAULTED = 1378,
WORLD_STATE_BATTLEGROUND_AV_DUNN_ASSAULTED = 1379,
WORLD_STATE_BATTLEGROUND_AV_ICEWING_ASSAULTED = 1380,
WORLD_STATE_BATTLEGROUND_AV_STONEH_ASSAULTED = 1381,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_CONTROLLED = 1382,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_CONTROLLED = 1383,
WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_CONTROLLED = 1384,
WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_CONTROLLED = 1385,
WORLD_STATE_BATTLEGROUND_AV_UNK_3 = 1386,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_ASSAULTED = 1387,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_ASSAULTED = 1388,
WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_ASSAULTED = 1389,
WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_ASSAULTED = 1390,
WORLD_STATE_BATTLEGROUND_AV_UNK_4 = 1391,
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFW_UNUSED = 1392, // Unused
WORLD_STATE_BATTLEGROUND_AV_FROSTWOLFE_UNUSED = 1393, // Unused
WORLD_STATE_BATTLEGROUND_AV_TOWERPOINT_UNUSED = 1394, // Unused
WORLD_STATE_BATTLEGROUND_AV_ICEBLOOD_UNUSED = 1395, // Unused
WORLD_STATE_BATTLEGROUND_AV_UNK_5 = 1396,
WORLD_STATE_BATTLEGROUND_AV_SNOWFALL_N = 1966,
WORLD_STATE_BATTLEGROUND_AV_ALLIANCE_SCORE = 3127,
WORLD_STATE_BATTLEGROUND_AV_HORDE_SCORE = 3128,
WORLD_STATE_BATTLEGROUND_AV_SHOW_HORDE_SCORE = 3133,
WORLD_STATE_BATTLEGROUND_AV_SHOW_ALLIANCE_SCORE = 3134,
// Warsong Gulch
WORLD_STATE_BATTLEGROUND_WS_UNK_0 = 1545, // set to 1 on alliance flag pickup...
WORLD_STATE_BATTLEGROUND_WS_UNK_1 = 1546, // set to 1 on horde flag pickup, after drop it's -1
WORLD_STATE_BATTLEGROUND_WS_UNK_2 = 1547,
WORLD_STATE_BATTLEGROUND_WS_FLAG_CAPTURES_ALLIANCE = 1581,
WORLD_STATE_BATTLEGROUND_WS_FLAG_CAPTURES_HORDE = 1582,
WORLD_STATE_BATTLEGROUND_WS_FLAG_CAPTURES_MAX = 1601, // unk
WORLD_STATE_BATTLEGROUND_WS_FLAG_STATE_HORDE = 2338, // (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
WORLD_STATE_BATTLEGROUND_WS_FLAG_STATE_ALLIANCE = 2339, // (0 - hide, 1 - flag ok, 2 - flag picked up (flashing), 3 - flag picked up (not flashing)
WORLD_STATE_BATTLEGROUND_WS_STATE_TIMER_ACTIVE = 4247,
WORLD_STATE_BATTLEGROUND_WS_STATE_TIMER = 4248,
// Arathi Basin
WORLD_STATE_BATTLEGROUND_AB_STABLE_STATE_ALLIANCE = 1767,
WORLD_STATE_BATTLEGROUND_AB_STABLE_STATE_HORDE = 1768,
WORLD_STATE_BATTLEGROUND_AB_STABLE_STATE_CONTROLLED_ALLIANCE = 1769,
WORLD_STATE_BATTLEGROUND_AB_STABLE_STATE_CONTROLLED_HORDE = 1770,
WORLD_STATE_BATTLEGROUND_AB_FARM_STATE_ALLIANCE = 1772,
WORLD_STATE_BATTLEGROUND_AB_FARM_STATE_HORDE = 1773,
WORLD_STATE_BATTLEGROUND_AB_FARM_STATE_CONTROLLED_ALLIANCE = 1774,
WORLD_STATE_BATTLEGROUND_AB_FARM_STATE_CONTROLLED_HORDE = 1775,
WORLD_STATE_BATTLEGROUND_AB_RESOURCES_ALLIANCE = 1776,
WORLD_STATE_BATTLEGROUND_AB_RESOURCES_HORDE = 1777,
WORLD_STATE_BATTLEGROUND_AB_OCCUPIED_BASES_HORDE = 1778,
WORLD_STATE_BATTLEGROUND_AB_OCCUPIED_BASES_ALLIANCE = 1779,
WORLD_STATE_BATTLEGROUND_AB_RESOURCES_MAX = 1780,
WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_STATE_ALLIANCE = 1782,
WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_STATE_HORDE = 1783,
WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_STATE_CONTROLLED_ALLIANCE = 1784,
WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_STATE_CONTROLLED_HORDE = 1785,
WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_STATE_ALLIANCE = 1787,
WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_STATE_HORDE = 1788,
WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_STATE_CONTROLLED_ALLIANCE = 1789,
WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_STATE_CONTROLLED_HORDE = 1790,
WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_STATE_ALLIANCE = 1792,
WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_STATE_HORDE = 1793,
WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_STATE_CONTROLLED_ALLIANCE = 1794,
WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_STATE_CONTROLLED_HORDE = 1795,
WORLD_STATE_BATTLEGROUND_AB_STABLE_ICON = 1842, // 1 - uncontrolled
WORLD_STATE_BATTLEGROUND_AB_GOLDMINE_ICON = 1843, // 1 - uncontrolled
WORLD_STATE_BATTLEGROUND_AB_LUMBERMILL_ICON = 1844, // 1 - uncontrolled
WORLD_STATE_BATTLEGROUND_AB_FARM_ICON = 1845, // 1 - uncontrolled
WORLD_STATE_BATTLEGROUND_AB_BLACKSMITH_ICON = 1846, // 1 - uncontrolled
WORLD_STATE_BATTLEGROUND_AB_UNK = 1861,
WORLD_STATE_BATTLEGROUND_AB_RESOURCES_WARNING = 1955,
// Eye of the Storm
WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_SHOW = 2718, //1 init, 0 druhy send - bez messagu, 1 = controlled aliance // Capturing progress-bar (1 - show, 0 - hide)
WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_STATUS = 2719, //50 init!, 48 ... hordak bere .. 33 .. 0 = full 100% hordacky, 100 = full alliance // Capturing progress-bar (0 - left, 100 - right)
WORLD_STATE_BATTLEGROUND_EY_PROGRESS_BAR_PERCENT_GREY = 2720, //100 = empty (only grey), 0 = blue|red (no grey)
WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_UNCONTROL = 2722, // 1 - yes, 0 - no
WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_ALLIANCE_CONTROL = 2723,
WORLD_STATE_BATTLEGROUND_EY_BLOOD_ELF_HORDE_CONTROL = 2724,
WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_UNCONTROL = 2725, // 1 - yes, 0 - no
WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_ALLIANCE_CONTROL = 2726,
WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_HORDE_CONTROL = 2727,
WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_UNCONTROL = 2728, // 1 - yes, 0 - no
WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_HORDE_CONTROL = 2729,
WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_ALLIANCE_CONTROL = 2730,
WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_UNCONTROL = 2731, // 1 - yes, 0 - no
WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_ALLIANCE_CONTROL = 2732,
WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_HORDE_CONTROL = 2733,
WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_HORDE_CONFLICT = 2737,
WORLD_STATE_BATTLEGROUND_EY_DRAENEI_RUINS_ALLIANCE_CONFLICT = 2738,
WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_ALLIANCE_CONFLICT = 2739,
WORLD_STATE_BATTLEGROUND_EY_FEL_REAVER_HORDE_CONFLICT = 2740,
WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_ALLIANCE_CONFLICT = 2741,
WORLD_STATE_BATTLEGROUND_EY_MAGE_TOWER_HORDE_CONFLICT = 2742,
WORLD_STATE_BATTLEGROUND_EY_UNK_0 = 2565, // 142, constant?
WORLD_STATE_BATTLEGROUND_EY_UNK_1 = 2735, // 0 at start
WORLD_STATE_BATTLEGROUND_EY_UNK_2 = 2736, // 0 at start
WORLD_STATE_BATTLEGROUND_EY_UNK_3 = 3085, // 379, constant?
WORLD_STATE_BATTLEGROUND_EY_ALLIANCE_RESOURCES = 2749,
WORLD_STATE_BATTLEGROUND_EY_HORDE_RESOURCES = 2750,
WORLD_STATE_BATTLEGROUND_EY_ALLIANCE_BASE = 2752,
WORLD_STATE_BATTLEGROUND_EY_HORDE_BASE = 2753,
WORLD_STATE_BATTLEGROUND_EY_FLAG = 2757, // 1 - show, 0 - hide (doesn't work exactly this way!)
WORLD_STATE_BATTLEGROUND_EY_FLAG_STATE_ALLIANCE = 2769, // 0 - hide, 1 - show stats, 2 - Alliance picked up the flag
WORLD_STATE_BATTLEGROUND_EY_FLAG_STATE_HORDE = 2770, // 0 - hide, 1 - show stats, 2 - Horde picked up the flag
// Isle of Conquest
WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_REINFORCEMENT_SET = 4221,
WORLD_STATE_BATTLEGROUND_IC_HORDE_REINFORCEMENT_SET = 4222,
WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_REINFORCEMENT = 4226,
WORLD_STATE_BATTLEGROUND_IC_HORDE_REINFORCEMENT = 4227,
WORLD_STATE_BATTLEGROUND_IC_WORKSHOP_CONFLICT_A = 4228,
WORLD_STATE_BATTLEGROUND_IC_WORKSHOP_CONTROLLED_A = 4229,
WORLD_STATE_BATTLEGROUND_IC_WORKSHOP_CONTROLLED_H = 4230,
WORLD_STATE_BATTLEGROUND_IC_UNK = 4243,
WORLD_STATE_BATTLEGROUND_IC_WORKSHOP_CONFLICT_H = 4293,
WORLD_STATE_BATTLEGROUND_IC_WORKSHOP_UNCONTROLLED = 4294,
WORLD_STATE_BATTLEGROUND_IC_HANGAR_UNCONTROLLED = 4296,
WORLD_STATE_BATTLEGROUND_IC_HANGAR_CONFLICT_H = 4297,
WORLD_STATE_BATTLEGROUND_IC_HANGAR_CONTROLLED_H = 4298,
WORLD_STATE_BATTLEGROUND_IC_HANGAR_CONTROLLED_A = 4299,
WORLD_STATE_BATTLEGROUND_IC_HANGAR_CONFLICT_A = 4300,
WORLD_STATE_BATTLEGROUND_IC_DOCKS_UNCONTROLLED = 4301,
WORLD_STATE_BATTLEGROUND_IC_DOCKS_CONFLICT_H = 4302,
WORLD_STATE_BATTLEGROUND_IC_DOCKS_CONTROLLED_H = 4303,
WORLD_STATE_BATTLEGROUND_IC_DOCKS_CONTROLLED_A = 4304,
WORLD_STATE_BATTLEGROUND_IC_DOCKS_CONFLICT_A = 4305,
WORLD_STATE_BATTLEGROUND_IC_QUARRY_UNCONTROLLED = 4306,
WORLD_STATE_BATTLEGROUND_IC_QUARRY_CONFLICT_H = 4307,
WORLD_STATE_BATTLEGROUND_IC_QUARRY_CONTROLLED_H = 4308,
WORLD_STATE_BATTLEGROUND_IC_QUARRY_CONTROLLED_A = 4309,
WORLD_STATE_BATTLEGROUND_IC_QUARRY_CONFLICT_A = 4310,
WORLD_STATE_BATTLEGROUND_IC_REFINERY_UNCONTROLLED = 4311,
WORLD_STATE_BATTLEGROUND_IC_REFINERY_CONFLICT_H = 4312,
WORLD_STATE_BATTLEGROUND_IC_REFINERY_CONTROLLED_H = 4313,
WORLD_STATE_BATTLEGROUND_IC_REFINERY_CONTROLLED_A = 4314,
WORLD_STATE_BATTLEGROUND_IC_REFINERY_CONFLICT_A = 4315,
WORLD_STATE_BATTLEGROUND_IC_GATE_FRONT_H_WS_CLOSED = 4317,
WORLD_STATE_BATTLEGROUND_IC_GATE_WEST_H_WS_CLOSED = 4318,
WORLD_STATE_BATTLEGROUND_IC_GATE_EAST_H_WS_CLOSED = 4319,
WORLD_STATE_BATTLEGROUND_IC_GATE_EAST_H_WS_OPEN = 4320,
WORLD_STATE_BATTLEGROUND_IC_GATE_WEST_H_WS_OPEN = 4321,
WORLD_STATE_BATTLEGROUND_IC_GATE_FRONT_H_WS_OPEN = 4322,
WORLD_STATE_BATTLEGROUND_IC_GATE_FRONT_A_WS_OPEN = 4323,
WORLD_STATE_BATTLEGROUND_IC_GATE_WEST_A_WS_OPEN = 4324,
WORLD_STATE_BATTLEGROUND_IC_GATE_EAST_A_WS_OPEN = 4325,
WORLD_STATE_BATTLEGROUND_IC_GATE_EAST_A_WS_CLOSED = 4326,
WORLD_STATE_BATTLEGROUND_IC_GATE_WEST_A_WS_CLOSED = 4327,
WORLD_STATE_BATTLEGROUND_IC_GATE_FRONT_A_WS_CLOSED = 4328,
WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_KEEP_CONTROLLED_A = 4339,
WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_KEEP_CONTROLLED_H = 4340,
WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_KEEP_UNCONTROLLED = 4341,
WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_KEEP_CONFLICT_A = 4342,
WORLD_STATE_BATTLEGROUND_IC_ALLIANCE_KEEP_CONFLICT_H = 4343,
WORLD_STATE_BATTLEGROUND_IC_HORDE_KEEP_CONTROLLED_A = 4344,
WORLD_STATE_BATTLEGROUND_IC_HORDE_KEEP_CONTROLLED_H = 4345,
WORLD_STATE_BATTLEGROUND_IC_HORDE_KEEP_UNCONTROLLED = 4346,
WORLD_STATE_BATTLEGROUND_IC_HORDE_KEEP_CONFLICT_A = 4347,
WORLD_STATE_BATTLEGROUND_IC_HORDE_KEEP_CONFLICT_H = 4348,
// Strand of the Ancients
// Gates: 1-3 A defend, 4-6 H defend, 7-9 unk defend, 1 - ok, 2 - half destroyed, 3 - destroyed
WORLD_STATE_BATTLEGROUND_SA_TIMER_MINUTES = 3559,
WORLD_STATE_BATTLEGROUND_SA_TIMER_SECONDS_FIRST_DIGIT = 3560,
WORLD_STATE_BATTLEGROUND_SA_TIMER_SECONDS_SECOND_DIGIT = 3561,
WORLD_STATE_BATTLEGROUND_SA_ENABLE_TIMER = 3564, // previously mislabelled? (Alliance Attacker)
WORLD_STATE_BATTLEGROUND_SA_HORDE_ATTACKER = 3565, // mislabelled?
WORLD_STATE_BATTLEGROUND_SA_BONUS_TIMER = 3571, // bonus timer (1 - on, 0 - off)
WORLD_STATE_BATTLEGROUND_SA_PURPLE_GATE = 3614, // Gate of Purple Amethyst
WORLD_STATE_BATTLEGROUND_SA_RED_GATE = 3617, // Gate of Red Sun
WORLD_STATE_BATTLEGROUND_SA_BLUE_GATE = 3620, // Gate of Blue Sapphire
WORLD_STATE_BATTLEGROUND_SA_GREEN_GATE = 3623, // Gate of Green Emerald
WORLD_STATE_BATTLEGROUND_SA_LEFT_ATTACK_TOKEN_ALLIANCE = 3626,
WORLD_STATE_BATTLEGROUND_SA_RIGHT_ATTACK_TOKEN_ALLIANCE = 3627,
WORLD_STATE_BATTLEGROUND_SA_RIGHT_ATTACK_TOKEN_HORDE = 3628,
WORLD_STATE_BATTLEGROUND_SA_LEFT_ATTACK_TOKEN_HORDE = 3629,
WORLD_STATE_BATTLEGROUND_SA_ALLIANCE_DEFENSE_TOKEN = 3630,
WORLD_STATE_BATTLEGROUND_SA_HORDE_DEFENSE_TOKEN = 3631,
WORLD_STATE_BATTLEGROUND_SA_RIGHT_GY_HORDE = 3632,
WORLD_STATE_BATTLEGROUND_SA_LEFT_GY_HORDE = 3633,
WORLD_STATE_BATTLEGROUND_SA_CENTER_GY_HORDE = 3634,
WORLD_STATE_BATTLEGROUND_SA_LEFT_GY_ALLIANCE = 3635,
WORLD_STATE_BATTLEGROUND_SA_RIGHT_GY_ALLIANCE = 3636,
WORLD_STATE_BATTLEGROUND_SA_CENTER_GY_ALLIANCE = 3637,
WORLD_STATE_BATTLEGROUND_SA_YELLOW_GATE = 3638, // Gate of Yellow Moon
WORLD_STATE_BATTLEGROUND_SA_ANCIENT_GATE = 3849, // Gate of Temple
WORLD_STATE_BATTLEGROUND_SA_ALLIANCE_ATTACKS = 4352,
WORLD_STATE_BATTLEGROUND_SA_HORDE_ATTACKS = 4353,
// Blade's Edge Arena
WORLD_STATE_BATTLEGROUND_BE_ARENA_GOLD = 2544,
WORLD_STATE_BATTLEGROUND_BE_ARENA_GREEN = 2545,
WORLD_STATE_BATTLEGROUND_BE_ARENA_SHOW = 2547,
// Nagrand Arena
WORLD_STATE_BATTLEGROUND_NA_ARENA_GOLD = 2575,
WORLD_STATE_BATTLEGROUND_NA_ARENA_GREEN = 2576,
WORLD_STATE_BATTLEGROUND_NA_ARENA_SHOW = 2577,
// Ruins of Lordaeron
WORLD_STATE_BATTLEGROUND_RL_ARENA_GOLD = 3000,
WORLD_STATE_BATTLEGROUND_RL_ARENA_GREEN = 3001,
WORLD_STATE_BATTLEGROUND_RL_ARENA_SHOW = 3002,
// Dalaran Sewers
WORLD_STATE_BATTLEGROUND_DS_ARENA_GREEN = 3600,
WORLD_STATE_BATTLEGROUND_DS_ARENA_GOLD = 3601,
WORLD_STATE_BATTLEGROUND_DS_ARENA_SHOW = 3610,
// The Ring of Valor
WORLD_STATE_BATTLEGROUND_RV_ARENA_GREEN = 3600, // Used generically for all arenas
WORLD_STATE_BATTLEGROUND_RV_ARENA_GOLD = 3601, // Used generically for all arenas
WORLD_STATE_BATTLEGROUND_RV_ARENA_SHOW = 3610,
// The Silithyst Must Flow - Silithus Outdoor PvP
WORLD_STATE_OPVP_SI_GATHERED_A = 2313,
WORLD_STATE_OPVP_SI_GATHERED_H = 2314,
WORLD_STATE_OPVP_SI_SILITHYST_MAX = 2317,
// A Game of Towers - Eastern Plaguelands Outdoor PvP
WORLD_STATE_OPVP_EP_UI_TOWER_COUNT_A = 2327,
WORLD_STATE_OPVP_EP_UI_TOWER_COUNT_H = 2328,
WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N = 2352,
WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N = 2353,
WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N_H = 2353, // 2367 not present! use neutral!
WORLD_STATE_OPVP_EP_EASTWALLTOWER_A = 2354,
WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N = 2355,
WORLD_STATE_OPVP_EP_EASTWALLTOWER_H = 2356,
WORLD_STATE_OPVP_EP_EASTWALLTOWER_N_A = 2359, // ally conquested
WORLD_STATE_OPVP_EP_EASTWALLTOWER_N_H = 2360,
WORLD_STATE_OPVP_EP_EASTWALLTOWER_N = 2361,
WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N_A = 2362,
WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N_H = 2363, // GENERAL_WORLDSTATES_08
WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N_A = 2366,
WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_A = 2370,
WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_H = 2371,
WORLD_STATE_OPVP_EP_NORTHPASSTOWER_A = 2372,
WORLD_STATE_OPVP_EP_NORTHPASSTOWER_H = 2373,
WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N_A = 2374,
WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N_H = 2375,
WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_A = 2378,
WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_H = 2379,
WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY = 2426, // GENERAL_WORLDSTATES_01 "Progress: %2427w"
WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_POS = 2427, // GENERAL_WORLDSTATES_02
WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_N = 2428, // GENERAL_WORLDSTATES_03
WORLD_STATE_OPVP_EP_UNK_0 = 2357, // GENERAL_WORLDSTATES_06
WORLD_STATE_OPVP_EP_UNK_1 = 2358, // GENERAL_WORLDSTATES_07
WORLD_STATE_OPVP_EP_UNK_2 = 2364, // GENERAL_WORLDSTATES_09
WORLD_STATE_OPVP_EP_UNK_3 = 2365, // GENERAL_WORLDSTATES_10
// WORLD_STATE_OPVP_EP_UNK_4 = 2367, // GENERAL_WORLDSTATES_13 grey horde not in dbc! See: PlaguewoodTowerNH
WORLD_STATE_OPVP_EP_UNK_5 = 2368, // GENERAL_WORLDSTATES_11
WORLD_STATE_OPVP_EP_UNK_6 = 2369, // GENERAL_WORLDSTATES_12
WORLD_STATE_OPVP_EP_UNK_7 = 2376, // GENERAL_WORLDSTATES_04
WORLD_STATE_OPVP_EP_UNK_8 = 2377, // GENERAL_WORLDSTATES_05
// Hellfire Peninsula Outdoor PvP
WORLD_STATE_OPVP_HP_STADIUM_H = 2470, // show the horde stadium icon
WORLD_STATE_OPVP_HP_STADIUM_A = 2471, // show the ally stadium icon
WORLD_STATE_OPVP_HP_STADIUM_N = 2472, // show the neutral stadium icon
WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_DISPLAY = 2473, //: ally / horde slider display // show only in direct vicinity!
WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_POS = 2474, //: ally / horde slider percentage, 100 for ally, 0 for horde // show only in direct vicinity!
WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_N = 2475, //: ally / horde slider grey area // show only in direct vicinity!
WORLD_STATE_OPVP_HP_UI_TOWER_COUNT_A = 2476, // ally pvp objectives captured
WORLD_STATE_OPVP_HP_UI_TOWER_COUNT_H = 2478, // horde pvp objectives captured
WORLD_STATE_OPVP_HP_OVERLOOK_A = 2480, // show ally overlook icon
WORLD_STATE_OPVP_HP_OVERLOOK_H = 2481, // show the overlook arrow
WORLD_STATE_OPVP_HP_OVERLOOK_N = 2482, // show neutral overlook icon
WORLD_STATE_OPVP_HP_BROKENHILL_A = 2483, // show ally broken hill icon
WORLD_STATE_OPVP_HP_BROKENHILL_H = 2484, // show icon above broken hill
WORLD_STATE_OPVP_HP_BROKENHILL_N = 2485, // show neutral broken hill icon
WORLD_STATE_OPVP_HP_UI_TOWER_DISPLAY_H = 2489, // add horde tower main gui icon // maybe should be sent only on login?
WORLD_STATE_OPVP_HP_UI_TOWER_DISPLAY_A = 2490, // add ally tower main gui icon // maybe should be sent only on login?
// Zangarmarsh Outdoor PvP
WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_DISPLAY_W = 2527,
WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_POS_W = 2528,
WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_N_W = 2529,
WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_DISPLAY_E = 2533,
WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_POS_E = 2534,
WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_N_E = 2535,
WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_A = 2555,
WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_H = 2556,
WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_N = 2557,
WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_A = 2558,
WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_H = 2559,
WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_N = 2560,
WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_A = 2644,
WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_H = 2645,
WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_N = 2646,
WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_N = 2647,
WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_A = 2648,
WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_H = 2649, // Twin spire graveyard horde
WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_A = 2650,
WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_H = 2651,
WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_N = 2652,
WORLD_STATE_OPVP_ZM_UNK = 2653,
WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_READY = 2655,
WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_NOT_READY = 2656,
WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_NOT_READY = 2657,
WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_READY = 2658,
// Terokkar Forest Outdoor PvP
WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_NEUTRAL = 2508,
WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_HOURS = 2509,
WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT = 2510,
WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT = 2512,
WORLD_STATE_OPVP_TF_UI_TOWERS_CONTROLLED_DISPLAY = 2620,
WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_A = 2621,
WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_H = 2622,
WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_DISPLAY = 2623,
WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_N = 2624,
WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_POS = 2625,
WORLD_STATE_OPVP_TF_TOWER_NUM_00 = 2681, // NW Neutral
WORLD_STATE_OPVP_TF_TOWER_NUM_01 = 2682, // NW Horde
WORLD_STATE_OPVP_TF_TOWER_NUM_02 = 2683, // NW Alliance
WORLD_STATE_OPVP_TF_TOWER_NUM_03 = 2684, // N Alliance
WORLD_STATE_OPVP_TF_TOWER_NUM_04 = 2685, // N Horde
WORLD_STATE_OPVP_TF_TOWER_NUM_05 = 2686, // N Neutral
WORLD_STATE_OPVP_TF_TOWER_NUM_15 = 2687, // unk
WORLD_STATE_OPVP_TF_TOWER_NUM_06 = 2688, // NE Alliance
WORLD_STATE_OPVP_TF_TOWER_NUM_07 = 2689, // NE Horde
WORLD_STATE_OPVP_TF_TOWER_NUM_08 = 2690, // NE Neutral
WORLD_STATE_OPVP_TF_TOWER_NUM_09 = 2691, // S Alliance
WORLD_STATE_OPVP_TF_TOWER_NUM_10 = 2692, // S Horde
WORLD_STATE_OPVP_TF_TOWER_NUM_11 = 2693, // S Neutral
WORLD_STATE_OPVP_TF_TOWER_NUM_12 = 2694, // SE Alliance
WORLD_STATE_OPVP_TF_TOWER_NUM_13 = 2695, // SE Horde
WORLD_STATE_OPVP_TF_TOWER_NUM_14 = 2696, // SE Neutral
WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_ALLIANCE = 2767,
WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_HORDE = 2768,
// Halaa, Nagrand Outdoor PvP
WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT = 2491,
WORLD_STATE_OPVP_NA_UI_GUARDS_MAX = 2493,
WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_POS = 2494,
WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY = 2495, // OUTLAND_01 "Progress: %2494w"
WORLD_STATE_OPVP_NA_UI_SLIDER_N = 2497,
WORLD_STATE_OPVP_NA_UI_ALLIANCE_GUARDS_SHOW = 2502,
WORLD_STATE_OPVP_NA_UI_HORDE_GUARDS_SHOW = 2503,
WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_A = 2659,
WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_H = 2660,
WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_A = 2661,
WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_A = 2662,
WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_H = 2663,
WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_A = 2664,
WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_H = 2665,
WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_A = 2666,
WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_A = 2667,
WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_H = 2668,
WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_A = 2669,
WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_A = 2670,
WORLD_STATE_OPVP_NA_MAP_HALAA_NEUTRAL = 2671,
WORLD_STATE_OPVP_NA_MAP_HALAA_HORDE = 2672,
WORLD_STATE_OPVP_NA_MAP_HALAA_ALLIANCE = 2673,
WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_A = 2676,
WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_H = 2677,
WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_H = 2760,
WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_H = 2761,
WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_H = 2762,
WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_H = 2763,
// Grizzly Hills Outdoor PvP
WORLD_STATE_OPVP_GH_UI_SLIDER_DISPLAY = 3466,
WORLD_STATE_OPVP_GH_UI_SLIDER_POS = 3467,
WORLD_STATE_OPVP_GH_UI_SLIDER_N = 3468,
// Ahn'Qiraj
WORLD_STATE_AHNQIRAJ_SANDWORM_N = 2322,
WORLD_STATE_AHNQIRAJ_SANDWORM_S = 2323,
WORLD_STATE_AHNQIRAJ_SANDWORM_SW = 2324,
WORLD_STATE_AHNQIRAJ_SANDWORM_E = 2325,
// The Battle for Light's Hope Chapel - Scarlet Enclave
WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_DEFENDERS_COUNT = 3590,
WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SCOURGE_COUNT = 3591,
WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SOLDIERS_ENABLE = 3592,
WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_ENABLE = 3603,
WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME = 3604,
WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_EVENT_BEGIN_ENABLE = 3605,
// The Battle for the Undercity
WORLD_STATE_BATTLE_FOR_UNDERCITY_MANHUNT_COUNTDOWN_A = 3958,
WORLD_STATE_BATTLE_FOR_UNDERCITY_SEWERS_FIGHT_A = 3962,
WORLD_STATE_BATTLE_FOR_UNDERCITY_FAIL_A = 3963,
WORLD_STATE_BATTLE_FOR_UNDERCITY_SEWERS_DONE_A = 3964,
WORLD_STATE_BATTLE_FOR_UNDERCITY_MANHUNT_STARTS_A = 3966,
WORLD_STATE_BATTLE_FOR_UNDERCITY_APOTHECARIUM_DONE_A = 3971,
WORLD_STATE_BATTLE_FOR_UNDERCITY_APOTHECARIUM_FIGHT_A = 3972,
WORLD_STATE_BATTLE_FOR_UNDERCITY_START_H = 3875,
WORLD_STATE_BATTLE_FOR_UNDERCITY_COUNTDOWN_H = 3876,
WORLD_STATE_BATTLE_FOR_UNDERCITY_FAIL_H = 3878,
WORLD_STATE_BATTLE_FOR_UNDERCITY_COURTYARD_FIGHT_H = 3885,
WORLD_STATE_BATTLE_FOR_UNDERCITY_COURTYARD_DONE_H = 3886,
WORLD_STATE_BATTLE_FOR_UNDERCITY_INNER_SANCTUM_FIGHT_H = 3887,
WORLD_STATE_BATTLE_FOR_UNDERCITY_INNER_SANCTUM_DONE_H = 3888,
WORLD_STATE_BATTLE_FOR_UNDERCITY_ROYAL_QUARTER_FIGHT_H = 3889,
WORLD_STATE_BATTLE_FOR_UNDERCITY_ROYAL_QUARTER_DONE_H = 3890,
WORLD_STATE_BATTLE_FOR_UNDERCITY_APOTHECARIUM_FIGHT_H = 3891, // unused
WORLD_STATE_BATTLE_FOR_UNDERCITY_APOTHECARIUM_DONE_H = 3892, // unused
// The Ruby Sanctum
WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_MATERIAL = 5049,
WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_TWILIGHT = 5050,
WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_TOGGLE = 5051,
// Icecrown Citadel
WORLD_STATE_ICECROWN_CITADEL_SHOW_TIMER = 4903, // Blood Quickening weekly
WORLD_STATE_ICECROWN_CITADEL_EXECUTION_TIME = 4904,
WORLD_STATE_ICECROWN_CITADEL_SHOW_ATTEMPTS = 4940,
WORLD_STATE_ICECROWN_CITADEL_ATTEMPTS_REMAINING = 4941,
WORLD_STATE_ICECROWN_CITADEL_ATTEMPTS_MAX = 4942,
// The Culling of Stratholme
WORLD_STATE_CULLING_OF_STRATHOLME_SHOW_CRATES = 3479,
WORLD_STATE_CULLING_OF_STRATHOLME_CRATES_REVEALED = 3480,
WORLD_STATE_CULLING_OF_STRATHOLME_WAVE_COUNT = 3504,
WORLD_STATE_CULLING_OF_STRATHOLME_TIME_GUARDIAN = 3931,
WORLD_STATE_CULLING_OF_STRATHOLME_TIME_GUARDIAN_SHOW = 3932,
// The Oculus
WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_AMOUNT = 3486,
WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_SHOW = 3524,
// Ulduar
WORLD_STATE_ULDUAR_ALGALON_DESPAWN_TIMER = 4131,
WORLD_STATE_ULDUAR_ALGALON_TIMER_ENABLED = 4132,
// The Violet Hold
WORLD_STATE_VIOLET_HOLD_WAVE_COUNT = 3810,
WORLD_STATE_VIOLET_HOLD_PRISON_STATE = 3815,
WORLD_STATE_VIOLET_HOLD_SHOW = 3816,
// Halls of Reflection
WORLD_STATE_HALLS_OF_REFLECTION_WAVE_COUNT = 4882,
WORLD_STATE_HALLS_OF_REFLECTION_WAVES_ENABLED = 4884,
// Zul'Aman
WORLD_STATE_ZUL_AMAN_SHOW_TIMER = 3104,
WORLD_STATE_ZUL_AMAN_TIME_TO_SACRIFICE = 3106,
// The Black Morass
WORLD_STATE_BLACK_MORASS_SHIELD = 2540,
WORLD_STATE_BLACK_MORASS = 2541,
WORLD_STATE_BLACK_MORASS_RIFT = 2784,
// Battle for Mount Hyjal
WORLD_STATE_HYJAL_ENEMY = 2453,
WORLD_STATE_HYJAL_ENEMY_COUNT = 2454,
WORLD_STATE_HYJAL_WAVES = 2842,
// Escape From Durnholde Keep
WORLD_STATE_OLD_HILLSBRAD_BARRELS_PLANTED = 2436,
// Trial of the Crusader
WORLD_STATE_TRIAL_OF_THE_CRUSADER_UI_COUNT = 4389,
WORLD_STATE_TRIAL_OF_THE_CRUSADER_UI_SHOW = 4390,
// Unknown
WORLD_STATE_GENERIC_UNK_0 = 2322,
WORLD_STATE_GENERIC_UNK_1 = 2323,
WORLD_STATE_GENERIC_UNK_2 = 2324,
WORLD_STATE_GENERIC_UNK_3 = 2325,
// Stranglethorn Fishing Extravaganza (Are these custom IDs?)
WORLD_STATE_STRANGLETHORN_VALE_FISHING_PREV_WIN_TIME = 197,
WORLD_STATE_STRANGLETHORN_VALE_FISHING_HAS_WINNER = 198,
WORLD_STATE_STRANGLETHORN_VALE_FISHING_ANNOUNCE_EVENT_BEGIN = 199,
WORLD_STATE_STRANGLETHORN_VALE_FISHING_ANNOUNCE_POOLS_DESPAWN = 200,
// Custom
WORLD_STATE_CUSTOM_ARENA_DISTRIBUTION_TIME = 20001, // Next arena distribution time
WORLD_STATE_CUSTOM_WEEKLY_QUEST_RESET_TIME = 20002, // Next weekly reset time
WORLD_STATE_CUSTOM_BG_DAILY_RESET_TIME = 20003, // Next daily BG reset time
WORLD_STATE_CUSTOM_CLEANING_FLAGS = 20004, // Cleaning Flags
WORLD_STATE_CUSTOM_DAILY_QUEST_RESET_TIME = 20005, // Next daily reset time
WORLD_STATE_CUSTOM_GUILD_DAILY_RESET_TIME = 20006, // Next guild cap reset time
WORLD_STATE_CUSTOM_MONTHLY_QUEST_RESET_TIME = 20007, // Next monthly reset time
WORLD_STATE_CUSTOM_DAILY_CALENDAR_DELETION_OLD_EVENTS_TIME = 20008, // Next daily calendar deletions of old events time
};
#endif