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:
parent
d23e61b721
commit
da55f05cfc
73 changed files with 1828 additions and 1789 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
};
|
||||
|
||||
// ********************************************************************
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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] =
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#include "SharedDefines.h"
|
||||
#include "Weather.h"
|
||||
#include "WorldState.h"
|
||||
#include "WorldStateDefines.h"
|
||||
|
||||
WorldState* WorldState::instance()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
622
src/server/game/World/WorldStateDefines.h
Normal file
622
src/server/game/World/WorldStateDefines.h
Normal 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
|
||||
|
|
@ -21,6 +21,7 @@
|
|||
#include "ScriptedGossip.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "WorldStateDefines.h"
|
||||
|
||||
enum LightOfDawnSays
|
||||
{
|
||||
|
|
@ -198,13 +199,6 @@ enum LightOfDawnEncounter
|
|||
ENCOUNTER_TOTAL_DEFENDERS = 300,
|
||||
ENCOUNTER_TOTAL_SCOURGE = 10000,
|
||||
|
||||
WORLD_STATE_DEFENDERS_COUNT = 3590,
|
||||
WORLD_STATE_SCOURGE_COUNT = 3591,
|
||||
WORLD_STATE_SOLDIERS_ENABLE = 3592,
|
||||
WORLD_STATE_COUNTDOWN_ENABLE = 3603,
|
||||
WORLD_STATE_COUNTDOWN_TIME = 3604,
|
||||
WORLD_STATE_EVENT_BEGIN_ENABLE = 3605,
|
||||
|
||||
ENCOUNTER_STATE_NONE = 0,
|
||||
ENCOUNTER_STATE_FIGHT = 1,
|
||||
ENCOUNTER_STATE_OUTRO = 2,
|
||||
|
|
@ -343,7 +337,7 @@ public:
|
|||
if (creature->IsQuestGiver())
|
||||
player->PrepareQuestMenu(creature->GetGUID());
|
||||
|
||||
if (player->GetQuestStatus(12801) == QUEST_STATUS_INCOMPLETE && !creature->AI()->GetData(WORLD_STATE_SOLDIERS_ENABLE))
|
||||
if (player->GetQuestStatus(12801) == QUEST_STATUS_INCOMPLETE && !creature->AI()->GetData(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SOLDIERS_ENABLE))
|
||||
AddGossipItemFor(player, 9795, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
|
||||
SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
|
||||
|
|
@ -414,17 +408,17 @@ public:
|
|||
{
|
||||
switch (type)
|
||||
{
|
||||
case WORLD_STATE_DEFENDERS_COUNT:
|
||||
case WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_DEFENDERS_COUNT:
|
||||
return defendersRemaining;
|
||||
case WORLD_STATE_SCOURGE_COUNT:
|
||||
case WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SCOURGE_COUNT:
|
||||
return scourgeRemaining;
|
||||
case WORLD_STATE_SOLDIERS_ENABLE:
|
||||
case WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SOLDIERS_ENABLE:
|
||||
return me->IsAlive() && (startTimeRemaining || battleStarted);
|
||||
case WORLD_STATE_COUNTDOWN_ENABLE:
|
||||
case WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_ENABLE:
|
||||
return me->IsAlive() && startTimeRemaining;
|
||||
case WORLD_STATE_COUNTDOWN_TIME:
|
||||
case WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME:
|
||||
return startTimeRemaining;
|
||||
case WORLD_STATE_EVENT_BEGIN_ENABLE:
|
||||
case WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_EVENT_BEGIN_ENABLE:
|
||||
return me->IsAlive() && !startTimeRemaining && battleStarted;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -442,12 +436,12 @@ public:
|
|||
|
||||
void SendInitialWorldStates()
|
||||
{
|
||||
SendUpdateWorldState(WORLD_STATE_DEFENDERS_COUNT, GetData(WORLD_STATE_DEFENDERS_COUNT));
|
||||
SendUpdateWorldState(WORLD_STATE_SCOURGE_COUNT, GetData(WORLD_STATE_SCOURGE_COUNT));
|
||||
SendUpdateWorldState(WORLD_STATE_SOLDIERS_ENABLE, GetData(WORLD_STATE_SOLDIERS_ENABLE));
|
||||
SendUpdateWorldState(WORLD_STATE_COUNTDOWN_ENABLE, GetData(WORLD_STATE_COUNTDOWN_ENABLE));
|
||||
SendUpdateWorldState(WORLD_STATE_COUNTDOWN_TIME, GetData(WORLD_STATE_COUNTDOWN_TIME));
|
||||
SendUpdateWorldState(WORLD_STATE_EVENT_BEGIN_ENABLE, GetData(WORLD_STATE_EVENT_BEGIN_ENABLE));
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_DEFENDERS_COUNT, GetData(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_DEFENDERS_COUNT));
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SCOURGE_COUNT, GetData(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SCOURGE_COUNT));
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SOLDIERS_ENABLE, GetData(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SOLDIERS_ENABLE));
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_ENABLE, GetData(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_ENABLE));
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME, GetData(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME));
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_EVENT_BEGIN_ENABLE, GetData(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_EVENT_BEGIN_ENABLE));
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* cr) override
|
||||
|
|
@ -482,12 +476,12 @@ public:
|
|||
if (creature->GetEntry() >= NPC_RAMPAGING_ABOMINATION)
|
||||
{
|
||||
--scourgeRemaining;
|
||||
SendUpdateWorldState(WORLD_STATE_SCOURGE_COUNT, GetData(WORLD_STATE_SCOURGE_COUNT));
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SCOURGE_COUNT, GetData(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_SCOURGE_COUNT));
|
||||
}
|
||||
else
|
||||
{
|
||||
--defendersRemaining;
|
||||
SendUpdateWorldState(WORLD_STATE_DEFENDERS_COUNT, GetData(WORLD_STATE_DEFENDERS_COUNT));
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_DEFENDERS_COUNT, GetData(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_DEFENDERS_COUNT));
|
||||
|
||||
if (defendersRemaining == 200)
|
||||
FinishFight();
|
||||
|
|
@ -610,25 +604,25 @@ public:
|
|||
switch (eventId)
|
||||
{
|
||||
case EVENT_START_COUNTDOWN_1:
|
||||
SendUpdateWorldState(WORLD_STATE_COUNTDOWN_TIME, 4);
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME, 4);
|
||||
break;
|
||||
case EVENT_START_COUNTDOWN_2:
|
||||
SendUpdateWorldState(WORLD_STATE_COUNTDOWN_TIME, 3);
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME, 3);
|
||||
break;
|
||||
case EVENT_START_COUNTDOWN_3:
|
||||
SendUpdateWorldState(WORLD_STATE_COUNTDOWN_TIME, 2);
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME, 2);
|
||||
break;
|
||||
case EVENT_START_COUNTDOWN_4:
|
||||
Talk(SAY_LIGHT_OF_DAWN02);
|
||||
SendUpdateWorldState(WORLD_STATE_COUNTDOWN_TIME, 1);
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME, 1);
|
||||
break;
|
||||
case EVENT_START_COUNTDOWN_5:
|
||||
battleStarted = ENCOUNTER_STATE_FIGHT;
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
Talk(SAY_LIGHT_OF_DAWN04); // Wrong order in DB!
|
||||
SendUpdateWorldState(WORLD_STATE_COUNTDOWN_TIME, 0);
|
||||
SendUpdateWorldState(WORLD_STATE_COUNTDOWN_ENABLE, 0);
|
||||
SendUpdateWorldState(WORLD_STATE_EVENT_BEGIN_ENABLE, 1);
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_TIME, 0);
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_COUNTDOWN_ENABLE, 0);
|
||||
SendUpdateWorldState(WORLD_STATE_BATTLE_FOR_LIGHTS_HOPE_EVENT_BEGIN_ENABLE, 1);
|
||||
break;
|
||||
case EVENT_START_COUNTDOWN_6:
|
||||
case EVENT_START_COUNTDOWN_7:
|
||||
|
|
|
|||
|
|
@ -19,13 +19,12 @@
|
|||
#include "InstanceScript.h"
|
||||
#include "Player.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "zulaman.h"
|
||||
|
||||
enum Misc
|
||||
{
|
||||
RAND_VENDOR = 2,
|
||||
WORLDSTATE_SHOW_TIMER = 3104,
|
||||
WORLDSTATE_TIME_TO_SACRIFICE = 3106
|
||||
RAND_VENDOR = 2,
|
||||
};
|
||||
|
||||
// Chests spawn at bear/eagle/dragonhawk/lynx bosses
|
||||
|
|
@ -175,8 +174,8 @@ public:
|
|||
{
|
||||
if (uint32 timer = GetPersistentData(DATA_TIMED_RUN))
|
||||
{
|
||||
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1);
|
||||
DoUpdateWorldState(WORLDSTATE_TIME_TO_SACRIFICE, timer);
|
||||
DoUpdateWorldState(WORLD_STATE_ZUL_AMAN_SHOW_TIMER, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_ZUL_AMAN_TIME_TO_SACRIFICE, timer);
|
||||
}
|
||||
|
||||
scheduler.Schedule(1min, GROUP_TIMED_RUN, [this](TaskContext context)
|
||||
|
|
@ -184,13 +183,13 @@ public:
|
|||
if (uint32 timer = GetPersistentData(DATA_TIMED_RUN))
|
||||
{
|
||||
--timer;
|
||||
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1);
|
||||
DoUpdateWorldState(WORLDSTATE_TIME_TO_SACRIFICE, timer);
|
||||
DoUpdateWorldState(WORLD_STATE_ZUL_AMAN_SHOW_TIMER, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_ZUL_AMAN_TIME_TO_SACRIFICE, timer);
|
||||
StorePersistentData(DATA_TIMED_RUN, timer);
|
||||
context.Repeat();
|
||||
}
|
||||
else
|
||||
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_ZUL_AMAN_SHOW_TIMER, 0);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -303,7 +302,7 @@ public:
|
|||
if (uint32 timer = GetPersistentData(DATA_TIMED_RUN))
|
||||
{
|
||||
StorePersistentData(DATA_TIMED_RUN, timer += 15);
|
||||
DoUpdateWorldState(WORLDSTATE_TIME_TO_SACRIFICE, timer);
|
||||
DoUpdateWorldState(WORLD_STATE_ZUL_AMAN_TIME_TO_SACRIFICE, timer);
|
||||
}
|
||||
SummonHostage(type);
|
||||
break;
|
||||
|
|
@ -311,7 +310,7 @@ public:
|
|||
if (uint32 timer = GetPersistentData(DATA_TIMED_RUN))
|
||||
{
|
||||
StorePersistentData(DATA_TIMED_RUN, timer += 10);
|
||||
DoUpdateWorldState(WORLDSTATE_TIME_TO_SACRIFICE, timer);
|
||||
DoUpdateWorldState(WORLD_STATE_ZUL_AMAN_TIME_TO_SACRIFICE, timer);
|
||||
}
|
||||
SummonHostage(type);
|
||||
break;
|
||||
|
|
@ -328,7 +327,7 @@ public:
|
|||
if (GetPersistentData(DATA_TIMED_RUN) && AllBossesDone({ DATA_NALORAKK, DATA_AKILZON, DATA_JANALAI, DATA_HALAZZI }))
|
||||
{
|
||||
StorePersistentData(DATA_TIMED_RUN, 0);
|
||||
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_ZUL_AMAN_SHOW_TIMER, 0);
|
||||
}
|
||||
|
||||
CheckInstanceStatus();
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ EndContentData */
|
|||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "WorldStateDefines.h"
|
||||
|
||||
/*######
|
||||
## npc_lady_sylvanas_windrunner
|
||||
|
|
@ -723,31 +724,6 @@ enum QuestMisc
|
|||
ZONE_UNDERCITY = 1497
|
||||
};
|
||||
|
||||
enum Worldstates
|
||||
{
|
||||
// Alliance
|
||||
WORLD_STATE_MANHUNT_COUNTDOWN_A = 3958,
|
||||
WORLD_STATE_MANHUNT_STARTS_A = 3966,
|
||||
WORLD_STATE_SEWERS_FIGHT_A = 3962,
|
||||
WORLD_STATE_SEWERS_DONE_A = 3964,
|
||||
WORLD_STATE_APOTHECARIUM_FIGHT_A = 3972,
|
||||
WORLD_STATE_APOTHECARIUM_DONE_A = 3971,
|
||||
WORLD_STATE_FAIL_A = 3963,
|
||||
|
||||
// Horde
|
||||
WORLD_STATE_BATTLE_COUNTDOWN_H = 3876,
|
||||
WORLD_STATE_BATTLE_START_H = 3875,
|
||||
WORLD_STATE_COURTYARD_FIGHT_H = 3885,
|
||||
WORLD_STATE_COURTYARD_DONE_H = 3886,
|
||||
WORLD_STATE_INNER_SANKTUM_FIGHT_H = 3887,
|
||||
WORLD_STATE_INNER_SANKTUM_DONE_H = 3888,
|
||||
WORLD_STATE_APOTHECARIUM_FIGHT_H = 3891, // unused
|
||||
WORLD_STATE_APOTHECARIUM_DONE_H = 3892, // unused
|
||||
WORLD_STATE_ROYAL_QUARTER_FIGHT_H = 3889,
|
||||
WORLD_STATE_ROYAL_QUARTER_DONE_H = 3890,
|
||||
WORLD_STATE_FAIL_H = 3878
|
||||
};
|
||||
|
||||
struct LocationXYZO {
|
||||
float x, y, z, o;
|
||||
};
|
||||
|
|
@ -1131,13 +1107,13 @@ public:
|
|||
switch (summon->GetEntry())
|
||||
{
|
||||
case NPC_BLIGHTWORM:
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_SEWERS_FIGHT_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_SEWERS_DONE_A, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_SEWERS_FIGHT_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_SEWERS_DONE_A, 1);
|
||||
bStepping = true;
|
||||
break;
|
||||
case NPC_PUTRESS:
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_APOTHECARIUM_FIGHT_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_APOTHECARIUM_DONE_A, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_APOTHECARIUM_FIGHT_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_APOTHECARIUM_DONE_A, 1);
|
||||
bStepping = true;
|
||||
break;
|
||||
default:
|
||||
|
|
@ -1536,7 +1512,7 @@ public:
|
|||
//Preparation
|
||||
case 0:
|
||||
me->setActive(true);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_MANHUNT_COUNTDOWN_A, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_MANHUNT_COUNTDOWN_A, 1);
|
||||
Talk(WRYNN_SAY_PREP_1);
|
||||
JumpToNextStep(10 * IN_MILLISECONDS);
|
||||
break;
|
||||
|
|
@ -1553,8 +1529,8 @@ public:
|
|||
JumpToNextStep(20 * IN_MILLISECONDS);
|
||||
break;
|
||||
case 4:
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_MANHUNT_COUNTDOWN_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_MANHUNT_STARTS_A, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_MANHUNT_COUNTDOWN_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_MANHUNT_STARTS_A, 1);
|
||||
Talk(WRYNN_SAY_PREP_5);
|
||||
JumpToNextStep(10 * IN_MILLISECONDS);
|
||||
break;
|
||||
|
|
@ -1600,8 +1576,8 @@ public:
|
|||
break;
|
||||
case 12:
|
||||
SetEscortPaused(false);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_MANHUNT_STARTS_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_SEWERS_FIGHT_A, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_MANHUNT_STARTS_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_SEWERS_FIGHT_A, 1);
|
||||
JumpToNextStep(1 * IN_MILLISECONDS);
|
||||
break;
|
||||
case 13:
|
||||
|
|
@ -1692,7 +1668,7 @@ public:
|
|||
JumpToNextStep(1.5 * IN_MILLISECONDS);
|
||||
break;
|
||||
case 30:
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_APOTHECARIUM_FIGHT_A, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_APOTHECARIUM_FIGHT_A, 1);
|
||||
if (Creature* putress = ObjectAccessor::GetCreature(*me, putressGUID))
|
||||
putress->AI()->Talk(PUTRESS_SAY_1);
|
||||
if (Player* player = GetPlayerForEscort())
|
||||
|
|
@ -2018,9 +1994,9 @@ public:
|
|||
}
|
||||
}
|
||||
}
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_MANHUNT_STARTS_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_SEWERS_DONE_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_APOTHECARIUM_DONE_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_MANHUNT_STARTS_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_SEWERS_DONE_A, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_APOTHECARIUM_DONE_A, 0);
|
||||
me->DespawnOrUnsummon();
|
||||
break;
|
||||
}
|
||||
|
|
@ -2471,14 +2447,14 @@ public:
|
|||
switch (summon->GetEntry())
|
||||
{
|
||||
case NPC_BLIGHT_ABBERATION:
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_COURTYARD_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_COURTYARD_DONE_H, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_COURTYARD_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_COURTYARD_DONE_H, 1);
|
||||
bStepping = true;
|
||||
break;
|
||||
case NPC_KHANOK:
|
||||
{
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_INNER_SANKTUM_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_INNER_SANKTUM_DONE_H, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_INNER_SANCTUM_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_INNER_SANCTUM_DONE_H, 1);
|
||||
FollowThrall();
|
||||
SetEscortPaused(false);
|
||||
std::list<Creature*> SanktumList;
|
||||
|
|
@ -2497,8 +2473,8 @@ public:
|
|||
}
|
||||
case NPC_VARIMATHRAS:
|
||||
{
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_ROYAL_QUARTER_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_ROYAL_QUARTER_DONE_H, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_ROYAL_QUARTER_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_ROYAL_QUARTER_DONE_H, 1);
|
||||
std::list<Creature*> ThroneList;
|
||||
me->GetCreatureListWithEntryInGrid(ThroneList, NPC_LEGION_OVERLORD, 1000.0f);
|
||||
me->GetCreatureListWithEntryInGrid(ThroneList, NPC_LEGION_INVADER, 1000.0f);
|
||||
|
|
@ -2874,7 +2850,7 @@ public:
|
|||
break;
|
||||
case 36:
|
||||
Talk(THRALL_SAY_SANCTUM_1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_INNER_SANKTUM_FIGHT_H, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_ROYAL_QUARTER_FIGHT_H, 1);
|
||||
break;
|
||||
case 46:
|
||||
SetHoldState(true);
|
||||
|
|
@ -2951,7 +2927,7 @@ public:
|
|||
JumpToNextStep(3 * IN_MILLISECONDS);
|
||||
break;
|
||||
case 1:
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_COUNTDOWN_H, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_COUNTDOWN_H, 1);
|
||||
Talk(THRALL_SAY_PREP_1);
|
||||
JumpToNextStep(6 * IN_MILLISECONDS);
|
||||
break;
|
||||
|
|
@ -2995,8 +2971,8 @@ public:
|
|||
break;
|
||||
// Start Event
|
||||
case 11:
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_COUNTDOWN_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_START_H, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_COUNTDOWN_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_START_H, 1);
|
||||
Talk(THRALL_SAY_PREP_8);
|
||||
SetEscortPaused(false);
|
||||
bStepping = false;
|
||||
|
|
@ -3108,8 +3084,8 @@ public:
|
|||
bStepping = false;
|
||||
SetRun(true);
|
||||
Talk(THRALL_SAY_COURTYARD_4);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_START_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_COURTYARD_FIGHT_H, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_START_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_COURTYARD_FIGHT_H, 1);
|
||||
JumpToNextStep(0);
|
||||
break;
|
||||
case 28:
|
||||
|
|
@ -3548,7 +3524,7 @@ public:
|
|||
}
|
||||
case 116:
|
||||
Talk(THRALL_SAY_SANCTUM_7);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_ROYAL_QUARTER_FIGHT_H, 1);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_ROYAL_QUARTER_FIGHT_H, 1);
|
||||
FollowThrall();
|
||||
SetEscortPaused(false);
|
||||
bStepping = false;
|
||||
|
|
@ -3885,9 +3861,9 @@ public:
|
|||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
Talk(THRALL_SAY_THRONE_11);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_ROYAL_QUARTER_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_INNER_SANKTUM_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_COURTYARD_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_ROYAL_QUARTER_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_INNER_SANCTUM_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_BATTLE_FOR_UNDERCITY_COURTYARD_FIGHT_H, 0);
|
||||
std::list<Creature*> HelperList;
|
||||
me->GetCreatureListWithEntryInGrid(HelperList, NPC_SYLVANAS, 100.0f);
|
||||
me->GetCreatureListWithEntryInGrid(HelperList, NPC_OVERLORD_SAURFANG, 100.0f);
|
||||
|
|
|
|||
|
|
@ -51,13 +51,6 @@ enum DataTypes
|
|||
DATA_BOSS_WAVE = 27
|
||||
};
|
||||
|
||||
enum HyjalWorldStateIds
|
||||
{
|
||||
WORLD_STATE_WAVES = 2842,
|
||||
WORLD_STATE_ENEMY = 2453,
|
||||
WORLD_STATE_ENEMYCOUNT = 2454
|
||||
};
|
||||
|
||||
enum HyjalCreaturesIds
|
||||
{
|
||||
// Trash Mobs summoned in waves
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Player.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "hyjal.h"
|
||||
|
||||
/* Battle of Mount Hyjal encounters:
|
||||
|
|
@ -193,7 +194,7 @@ public:
|
|||
{
|
||||
if (_currentWave == 0 && _initialWaves)
|
||||
creature->SetReputationRewardDisabled(true);
|
||||
DoUpdateWorldState(WORLD_STATE_ENEMYCOUNT, ++_trash); // Update the instance wave count on new trash spawn
|
||||
DoUpdateWorldState(WORLD_STATE_HYJAL_ENEMY_COUNT, ++_trash); // Update the instance wave count on new trash spawn
|
||||
_encounterNPCs.insert(creature->GetGUID()); // Used for despawning on wipe
|
||||
}
|
||||
break;
|
||||
|
|
@ -231,7 +232,7 @@ public:
|
|||
{
|
||||
if (_bossWave != TO_BE_DECIDED)
|
||||
{
|
||||
DoUpdateWorldState(WORLD_STATE_ENEMYCOUNT, --_trash); // Update the instance wave count on new trash death
|
||||
DoUpdateWorldState(WORLD_STATE_HYJAL_ENEMY_COUNT, --_trash); // Update the instance wave count on new trash death
|
||||
_encounterNPCs.erase(creature->GetGUID()); // Used for despawning on wipe
|
||||
|
||||
if (_trash == 0) // It can reach negatives if trash spawned after a retreat are killed, it shouldn't affect anything. Also happens on retail
|
||||
|
|
@ -406,7 +407,7 @@ public:
|
|||
|
||||
if (_bossWave != TO_BE_DECIDED)
|
||||
{
|
||||
DoUpdateWorldState(WORLD_STATE_WAVES, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_HYJAL_WAVES, 0);
|
||||
scheduler.Schedule(30s, [this](TaskContext context)
|
||||
{
|
||||
if (IsEncounterInProgress())
|
||||
|
|
@ -491,9 +492,9 @@ public:
|
|||
_trash = 0;
|
||||
_bossWave = TO_BE_DECIDED;
|
||||
_retreat = 0;
|
||||
DoUpdateWorldState(WORLD_STATE_WAVES, _currentWave);
|
||||
DoUpdateWorldState(WORLD_STATE_ENEMY, _trash);
|
||||
DoUpdateWorldState(WORLD_STATE_ENEMYCOUNT, _trash);
|
||||
DoUpdateWorldState(WORLD_STATE_HYJAL_WAVES, _currentWave);
|
||||
DoUpdateWorldState(WORLD_STATE_HYJAL_ENEMY, _trash);
|
||||
DoUpdateWorldState(WORLD_STATE_HYJAL_ENEMY_COUNT, _trash);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -548,8 +549,8 @@ public:
|
|||
context.Repeat(timerptr[_currentWave]);
|
||||
if (++_currentWave < maxWaves && _bossWave != TO_BE_DECIDED)
|
||||
{
|
||||
DoUpdateWorldState(WORLD_STATE_WAVES, _currentWave);
|
||||
DoUpdateWorldState(WORLD_STATE_ENEMY, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_HYJAL_WAVES, _currentWave);
|
||||
DoUpdateWorldState(WORLD_STATE_HYJAL_ENEMY, 1);
|
||||
}
|
||||
|
||||
context.SetGroup(CONTEXT_GROUP_WAVES);
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
#include "ScriptedEscortAI.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "WorldStateDefines.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
|
|
@ -924,7 +925,7 @@ public:
|
|||
break;
|
||||
case EVENT_ACTION_PHASE2+9:
|
||||
if (pInstance)
|
||||
pInstance->DoUpdateWorldState(WORLDSTATE_WAVE_COUNT, 0);
|
||||
pInstance->DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_WAVE_COUNT, 0);
|
||||
|
||||
Talk(SAY_PHASE210);
|
||||
eventInRun = false;
|
||||
|
|
@ -1274,7 +1275,7 @@ void npc_arthas::npc_arthasAI::ReorderInstance(uint32 data)
|
|||
else // if (data == COS_PROGRESS_KILLED_SALRAMM)
|
||||
{
|
||||
if (pInstance)
|
||||
pInstance->DoUpdateWorldState(WORLDSTATE_WAVE_COUNT, 10);
|
||||
pInstance->DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_WAVE_COUNT, 10);
|
||||
DoAction(ACTION_KILLED_SALRAMM);
|
||||
}
|
||||
break;
|
||||
|
|
@ -1331,7 +1332,7 @@ void npc_arthas::npc_arthasAI::SendNextWave(uint32 entry)
|
|||
else
|
||||
SummonNextWave();
|
||||
|
||||
pInstance->DoUpdateWorldState(WORLDSTATE_WAVE_COUNT, waveGroupId + 1);
|
||||
pInstance->DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_WAVE_COUNT, waveGroupId + 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -73,15 +73,6 @@ enum GameObjects
|
|||
GO_PLAGUED_CRATE = 190095,
|
||||
};
|
||||
|
||||
enum WorldStatesCoT
|
||||
{
|
||||
WORLDSTATE_SHOW_CRATES = 3479,
|
||||
WORLDSTATE_CRATES_REVEALED = 3480,
|
||||
WORLDSTATE_WAVE_COUNT = 3504,
|
||||
WORLDSTATE_TIME_GUARDIAN = 3931,
|
||||
WORLDSTATE_TIME_GUARDIAN_SHOW = 3932,
|
||||
};
|
||||
|
||||
enum CrateSpells
|
||||
{
|
||||
SPELL_CRATES_CREDIT = 58109,
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#include "ScriptedCreature.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "WorldStatePackets.h"
|
||||
#include "culling_of_stratholme.h"
|
||||
|
||||
|
|
@ -57,11 +58,11 @@ public:
|
|||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override
|
||||
{
|
||||
packet.Worldstates.reserve(5);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_SHOW_CRATES, 0);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_CRATES_REVEALED, _crateCount);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_WAVE_COUNT, 0);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_TIME_GUARDIAN, 25);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_TIME_GUARDIAN_SHOW, 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_CULLING_OF_STRATHOLME_SHOW_CRATES, 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_CULLING_OF_STRATHOLME_CRATES_REVEALED, _crateCount);
|
||||
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);
|
||||
}
|
||||
|
||||
void OnPlayerEnter(Player* plr) override
|
||||
|
|
@ -112,13 +113,13 @@ public:
|
|||
switch (type)
|
||||
{
|
||||
case DATA_SHOW_CRATES:
|
||||
DoUpdateWorldState(WORLDSTATE_SHOW_CRATES, data);
|
||||
DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_SHOW_CRATES, data);
|
||||
return;
|
||||
case DATA_SHOW_INFINITE_TIMER:
|
||||
if (!instance->IsHeroic() || !_guardianTimer)
|
||||
return;
|
||||
DoUpdateWorldState(WORLDSTATE_TIME_GUARDIAN_SHOW, data);
|
||||
DoUpdateWorldState(WORLDSTATE_TIME_GUARDIAN, uint32(_guardianTimer / (MINUTE * IN_MILLISECONDS)));
|
||||
DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_TIME_GUARDIAN_SHOW, data);
|
||||
DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_TIME_GUARDIAN, uint32(_guardianTimer / (MINUTE * IN_MILLISECONDS)));
|
||||
if (data == 0)
|
||||
{
|
||||
_guardianTimer = 0;
|
||||
|
|
@ -128,10 +129,10 @@ public:
|
|||
instance->SummonCreature(NPC_INFINITE, EventPos[EVENT_SRC_CORRUPTOR]);
|
||||
return;
|
||||
case DATA_START_WAVES:
|
||||
DoUpdateWorldState(WORLDSTATE_WAVE_COUNT, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_WAVE_COUNT, 1);
|
||||
if (instance->IsHeroic())
|
||||
{
|
||||
DoUpdateWorldState(WORLDSTATE_TIME_GUARDIAN_SHOW, true);
|
||||
DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_TIME_GUARDIAN_SHOW, true);
|
||||
_guardianTimer = 26 * MINUTE * IN_MILLISECONDS;
|
||||
if (!_infiniteGUID)
|
||||
instance->SummonCreature(NPC_INFINITE, EventPos[EVENT_SRC_CORRUPTOR]);
|
||||
|
|
@ -151,7 +152,7 @@ public:
|
|||
SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_CRATES_FOUND);
|
||||
}
|
||||
|
||||
DoUpdateWorldState(WORLDSTATE_CRATES_REVEALED, _crateCount);
|
||||
DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_CRATES_REVEALED, _crateCount);
|
||||
return;
|
||||
case DATA_ARTHAS_EVENT:
|
||||
// Start Event
|
||||
|
|
@ -256,7 +257,7 @@ public:
|
|||
if (divAfter == 0)
|
||||
{
|
||||
_guardianTimer = 0;
|
||||
DoUpdateWorldState(WORLDSTATE_TIME_GUARDIAN_SHOW, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_TIME_GUARDIAN_SHOW, 0);
|
||||
|
||||
// Inform infinite we run out of time
|
||||
if (instance->IsHeroic() && _infiniteGUID)
|
||||
|
|
@ -270,7 +271,7 @@ public:
|
|||
else if (divAfter == 1)
|
||||
ChromieWhisper(2);
|
||||
|
||||
DoUpdateWorldState(WORLDSTATE_TIME_GUARDIAN, divAfter);
|
||||
DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_TIME_GUARDIAN, divAfter);
|
||||
SaveToDB();
|
||||
}
|
||||
}
|
||||
|
|
@ -290,7 +291,7 @@ public:
|
|||
ChromieWhisper(0);
|
||||
|
||||
// hide crates count
|
||||
DoUpdateWorldState(WORLDSTATE_SHOW_CRATES, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_CULLING_OF_STRATHOLME_SHOW_CRATES, 0);
|
||||
_showCrateTimer = 0;
|
||||
_encounterState = COS_PROGRESS_CRATES_FOUND;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Player.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "old_hillsbrad.h"
|
||||
|
||||
static Position const instancePositions[INSTANCE_POSITIONS_COUNT] =
|
||||
|
|
@ -70,7 +71,7 @@ public:
|
|||
CleanupInstance();
|
||||
|
||||
if (_encounterProgress < ENCOUNTER_PROGRESS_BARRELS)
|
||||
player->SendUpdateWorldState(WORLD_STATE_BARRELS_PLANTED, _barrelCount);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OLD_HILLSBRAD_BARRELS_PLANTED, _barrelCount);
|
||||
}
|
||||
|
||||
void CleanupInstance()
|
||||
|
|
@ -153,7 +154,7 @@ public:
|
|||
if (_barrelCount >= 5 || _encounterProgress > ENCOUNTER_PROGRESS_NONE)
|
||||
return;
|
||||
|
||||
DoUpdateWorldState(WORLD_STATE_BARRELS_PLANTED, ++_barrelCount);
|
||||
DoUpdateWorldState(WORLD_STATE_OLD_HILLSBRAD_BARRELS_PLANTED, ++_barrelCount);
|
||||
if (_barrelCount == 5)
|
||||
{
|
||||
_events.ScheduleEvent(EVENT_INITIAL_BARRELS_FLAME, 4000);
|
||||
|
|
@ -237,7 +238,7 @@ public:
|
|||
orc->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
|
||||
|
||||
SetData(DATA_ESCORT_PROGRESS, ENCOUNTER_PROGRESS_BARRELS);
|
||||
DoUpdateWorldState(WORLD_STATE_BARRELS_PLANTED, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_OLD_HILLSBRAD_BARRELS_PLANTED, 0);
|
||||
break;
|
||||
}
|
||||
case EVENT_SUMMON_LIEUTENANT:
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@ enum GobjectIds
|
|||
|
||||
enum MiscIds
|
||||
{
|
||||
WORLD_STATE_BARRELS_PLANTED = 2436,
|
||||
SKARLOC_MOUNT_MODEL = 18223,
|
||||
|
||||
ENCOUNTER_PROGRESS_NONE = 0,
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
#include "InstanceMapScript.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "Player.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "the_black_morass.h"
|
||||
|
||||
const Position PortalLocation[4] =
|
||||
|
|
@ -180,9 +181,9 @@ public:
|
|||
CleanupInstance();
|
||||
}
|
||||
|
||||
player->SendUpdateWorldState(WORLD_STATE_BM, _eventStatus);
|
||||
player->SendUpdateWorldState(WORLD_STATE_BM_SHIELD, _shieldPercent);
|
||||
player->SendUpdateWorldState(WORLD_STATE_BM_RIFT, _currentRift);
|
||||
player->SendUpdateWorldState(WORLD_STATE_BLACK_MORASS, _eventStatus);
|
||||
player->SendUpdateWorldState(WORLD_STATE_BLACK_MORASS_SHIELD, _shieldPercent);
|
||||
player->SendUpdateWorldState(WORLD_STATE_BLACK_MORASS_RIFT, _currentRift);
|
||||
}
|
||||
|
||||
void ScheduleNextPortal(Milliseconds time, Position lastPosition)
|
||||
|
|
@ -219,7 +220,7 @@ public:
|
|||
|
||||
_availableRiftPositions.remove(spawnPos);
|
||||
|
||||
DoUpdateWorldState(WORLD_STATE_BM_RIFT, ++_currentRift);
|
||||
DoUpdateWorldState(WORLD_STATE_BLACK_MORASS_RIFT, ++_currentRift);
|
||||
|
||||
instance->SummonCreature(NPC_TIME_RIFT, spawnPos);
|
||||
|
||||
|
|
@ -318,9 +319,9 @@ public:
|
|||
{
|
||||
_eventStatus = EVENT_IN_PROGRESS;
|
||||
|
||||
DoUpdateWorldState(WORLD_STATE_BM, _eventStatus);
|
||||
DoUpdateWorldState(WORLD_STATE_BM_SHIELD, _shieldPercent);
|
||||
DoUpdateWorldState(WORLD_STATE_BM_RIFT, _currentRift);
|
||||
DoUpdateWorldState(WORLD_STATE_BLACK_MORASS, _eventStatus);
|
||||
DoUpdateWorldState(WORLD_STATE_BLACK_MORASS_SHIELD, _shieldPercent);
|
||||
DoUpdateWorldState(WORLD_STATE_BLACK_MORASS_RIFT, _currentRift);
|
||||
|
||||
ScheduleNextPortal(3s, Position(0.0f, 0.0f, 0.0f, 0.0f));
|
||||
|
||||
|
|
@ -339,7 +340,7 @@ public:
|
|||
_shieldPercent = 0;
|
||||
}
|
||||
|
||||
DoUpdateWorldState(WORLD_STATE_BM_SHIELD, _shieldPercent);
|
||||
DoUpdateWorldState(WORLD_STATE_BLACK_MORASS_SHIELD, _shieldPercent);
|
||||
|
||||
if (!_shieldPercent)
|
||||
{
|
||||
|
|
@ -421,9 +422,9 @@ public:
|
|||
{
|
||||
CleanupInstance();
|
||||
|
||||
DoUpdateWorldState(WORLD_STATE_BM, _eventStatus);
|
||||
DoUpdateWorldState(WORLD_STATE_BM_SHIELD, _shieldPercent);
|
||||
DoUpdateWorldState(WORLD_STATE_BM_RIFT, _currentRift);
|
||||
DoUpdateWorldState(WORLD_STATE_BLACK_MORASS, _eventStatus);
|
||||
DoUpdateWorldState(WORLD_STATE_BLACK_MORASS_SHIELD, _shieldPercent);
|
||||
DoUpdateWorldState(WORLD_STATE_BLACK_MORASS_RIFT, _currentRift);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -40,13 +40,6 @@ enum DataTypes
|
|||
DATA_RIFT_NUMBER = 14
|
||||
};
|
||||
|
||||
enum WorldStateIds
|
||||
{
|
||||
WORLD_STATE_BM = 2541,
|
||||
WORLD_STATE_BM_SHIELD = 2540,
|
||||
WORLD_STATE_BM_RIFT = 2784
|
||||
};
|
||||
|
||||
enum EventStatus
|
||||
{
|
||||
EVENT_PREPARE = 0,
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "Vehicle.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "ruby_sanctum.h"
|
||||
|
||||
enum Texts
|
||||
|
|
@ -715,8 +716,8 @@ public:
|
|||
break;
|
||||
}
|
||||
|
||||
_instance->DoUpdateWorldState(WORLDSTATE_CORPOREALITY_MATERIAL, _corporeality * 10);
|
||||
_instance->DoUpdateWorldState(WORLDSTATE_CORPOREALITY_TWILIGHT, 100 - _corporeality * 10);
|
||||
_instance->DoUpdateWorldState(WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_MATERIAL, _corporeality * 10);
|
||||
_instance->DoUpdateWorldState(WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_TWILIGHT, 100 - _corporeality * 10);
|
||||
|
||||
if (Creature* twilightHalion = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(NPC_TWILIGHT_HALION)))
|
||||
{
|
||||
|
|
@ -1272,9 +1273,9 @@ class spell_halion_twilight_division : public SpellScript
|
|||
if (GameObject* gobject = halion->FindNearestGameObject(GO_HALION_PORTAL_1, 100.0f))
|
||||
gobject->Delete();
|
||||
|
||||
instance->DoUpdateWorldState(WORLDSTATE_CORPOREALITY_TOGGLE, 1);
|
||||
instance->DoUpdateWorldState(WORLDSTATE_CORPOREALITY_MATERIAL, 50);
|
||||
instance->DoUpdateWorldState(WORLDSTATE_CORPOREALITY_TWILIGHT, 50);
|
||||
instance->DoUpdateWorldState(WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_TOGGLE, 1);
|
||||
instance->DoUpdateWorldState(WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_MATERIAL, 50);
|
||||
instance->DoUpdateWorldState(WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_TWILIGHT, 50);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "WorldPacket.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "WorldStatePackets.h"
|
||||
#include "ruby_sanctum.h"
|
||||
|
||||
|
|
@ -208,9 +209,9 @@ public:
|
|||
halionController->AI()->DoAction(ACTION_INTRO_HALION);
|
||||
break;
|
||||
case DATA_HALION:
|
||||
DoUpdateWorldState(WORLDSTATE_CORPOREALITY_TOGGLE, 0);
|
||||
DoUpdateWorldState(WORLDSTATE_CORPOREALITY_TWILIGHT, 0);
|
||||
DoUpdateWorldState(WORLDSTATE_CORPOREALITY_MATERIAL, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_TOGGLE, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_TWILIGHT, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_RUBY_SANCTUM_CORPOREALITY_MATERIAL, 0);
|
||||
HandleGameObject(FlameRingGUID, true);
|
||||
break;
|
||||
}
|
||||
|
|
@ -221,9 +222,9 @@ public:
|
|||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override
|
||||
{
|
||||
packet.Worldstates.reserve(3);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_CORPOREALITY_MATERIAL, 50);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_CORPOREALITY_TWILIGHT, 50);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_CORPOREALITY_TOGGLE, 0);
|
||||
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);
|
||||
}
|
||||
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -95,13 +95,6 @@ enum GameObjectsIds
|
|||
GO_BURNING_TREE_4 = 203037
|
||||
};
|
||||
|
||||
enum WorldStatesRS
|
||||
{
|
||||
WORLDSTATE_CORPOREALITY_MATERIAL = 5049,
|
||||
WORLDSTATE_CORPOREALITY_TWILIGHT = 5050,
|
||||
WORLDSTATE_CORPOREALITY_TOGGLE = 5051
|
||||
};
|
||||
|
||||
enum InstanceSpell
|
||||
{
|
||||
SPELL_BERSERK = 26662,
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#include "InstanceMapScript.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "trial_of_the_crusader.h"
|
||||
|
||||
std::map<uint32, bool> validDedicatedInsanityItems;
|
||||
|
|
@ -283,7 +284,7 @@ public:
|
|||
Map::PlayerList const& pl = instance->GetPlayers();
|
||||
for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr )
|
||||
if (Player* plr = itr->GetSource())
|
||||
plr->SendUpdateWorldState(UPDATE_STATE_UI_COUNT, AttemptsLeft);
|
||||
plr->SendUpdateWorldState(WORLD_STATE_TRIAL_OF_THE_CRUSADER_UI_COUNT, AttemptsLeft);
|
||||
}
|
||||
InstanceCleanup(true);
|
||||
SaveToDB();
|
||||
|
|
@ -1379,11 +1380,11 @@ public:
|
|||
|
||||
if (instance->IsHeroic())
|
||||
{
|
||||
plr->SendUpdateWorldState(UPDATE_STATE_UI_SHOW, 1);
|
||||
plr->SendUpdateWorldState(UPDATE_STATE_UI_COUNT, AttemptsLeft);
|
||||
plr->SendUpdateWorldState(WORLD_STATE_TRIAL_OF_THE_CRUSADER_UI_SHOW, 1);
|
||||
plr->SendUpdateWorldState(WORLD_STATE_TRIAL_OF_THE_CRUSADER_UI_COUNT, AttemptsLeft);
|
||||
}
|
||||
else
|
||||
plr->SendUpdateWorldState(UPDATE_STATE_UI_SHOW, 0);
|
||||
plr->SendUpdateWorldState(WORLD_STATE_TRIAL_OF_THE_CRUSADER_UI_SHOW, 0);
|
||||
|
||||
if (DoNeedCleanup(plr))
|
||||
{
|
||||
|
|
@ -1555,7 +1556,7 @@ public:
|
|||
Map::PlayerList const& pl = instance->GetPlayers();
|
||||
for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr )
|
||||
if (Player* plr = itr->GetSource())
|
||||
plr->SendUpdateWorldState(UPDATE_STATE_UI_COUNT, AttemptsLeft);
|
||||
plr->SendUpdateWorldState(WORLD_STATE_TRIAL_OF_THE_CRUSADER_UI_COUNT, AttemptsLeft);
|
||||
}
|
||||
|
||||
if (instance->IsHeroic() && AttemptsLeft == 0 )
|
||||
|
|
|
|||
|
|
@ -379,12 +379,6 @@ enum eAchievementCriteria
|
|||
ACHIEV_CRITERIA_REALM_FIRST_GRAND_CRUSADER = 12350,
|
||||
};
|
||||
|
||||
enum euiWorldStates
|
||||
{
|
||||
UPDATE_STATE_UI_SHOW = 4390,
|
||||
UPDATE_STATE_UI_COUNT = 4389,
|
||||
};
|
||||
|
||||
const uint32 dIIc = 405;
|
||||
const uint32 dedicatedInsanityItems[405] =
|
||||
{
|
||||
|
|
|
|||
|
|
@ -100,12 +100,6 @@ enum GameObjects
|
|||
GO_PORTAL_TO_DALARAN = 195682,
|
||||
};
|
||||
|
||||
enum HorWorldStates
|
||||
{
|
||||
WORLD_STATE_HOR_COUNTER = 4884,
|
||||
WORLD_STATE_HOR_WAVE_COUNT = 4882,
|
||||
};
|
||||
|
||||
enum BatteredHiltStatusFlags
|
||||
{
|
||||
BHSF_NONE = 0,
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#include "InstanceScript.h"
|
||||
#include "MapMgr.h"
|
||||
#include "Transport.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "halls_of_reflection.h"
|
||||
|
||||
class UtherBatteredHiltEvent : public BasicEvent
|
||||
|
|
@ -435,7 +436,7 @@ public:
|
|||
c->HandleEmoteCommand(EMOTE_ONESHOT_EMERGE);
|
||||
}
|
||||
WaveNumber = 0;
|
||||
DoUpdateWorldState(WORLD_STATE_HOR_COUNTER, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_HALLS_OF_REFLECTION_WAVES_ENABLED, 0);
|
||||
|
||||
// give quest
|
||||
Map::PlayerList const& pl = instance->GetPlayers();
|
||||
|
|
@ -803,8 +804,8 @@ public:
|
|||
if (WaveNumber >= 6)
|
||||
bFinished5Waves = true;
|
||||
|
||||
DoUpdateWorldState(WORLD_STATE_HOR_COUNTER, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, WaveNumber);
|
||||
DoUpdateWorldState(WORLD_STATE_HALLS_OF_REFLECTION_WAVES_ENABLED, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_HALLS_OF_REFLECTION_WAVE_COUNT, WaveNumber);
|
||||
HandleGameObject(GO_FrontDoorGUID, false);
|
||||
|
||||
// some of them could go back to spawn due to vanish, etc.
|
||||
|
|
@ -869,8 +870,8 @@ public:
|
|||
if (!WaveNumber)
|
||||
return;
|
||||
|
||||
DoUpdateWorldState(WORLD_STATE_HOR_COUNTER, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_HALLS_OF_REFLECTION_WAVES_ENABLED, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_HALLS_OF_REFLECTION_WAVE_COUNT, 0);
|
||||
HandleGameObject(GO_FrontDoorGUID, true);
|
||||
|
||||
TrashCounter = NUM_OF_TRASH;
|
||||
|
|
|
|||
|
|
@ -557,15 +557,6 @@ enum QuestsICC
|
|||
QUEST_A_FEAST_OF_SOULS = 24547
|
||||
};
|
||||
|
||||
enum WorldStatesICC
|
||||
{
|
||||
WORLDSTATE_SHOW_TIMER = 4903,
|
||||
WORLDSTATE_EXECUTION_TIME = 4904,
|
||||
WORLDSTATE_SHOW_ATTEMPTS = 4940,
|
||||
WORLDSTATE_ATTEMPTS_REMAINING = 4941,
|
||||
WORLDSTATE_ATTEMPTS_MAX = 4942,
|
||||
};
|
||||
|
||||
enum PutricideEventFlags
|
||||
{
|
||||
PUTRICIDE_EVENT_FLAG_FESTERGUT_VALVE = 1,
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include "Transport.h"
|
||||
#include "WorldPacket.h"
|
||||
#include "WorldSession.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "icecrown_citadel.h"
|
||||
|
||||
enum EventIds
|
||||
|
|
@ -233,11 +234,11 @@ public:
|
|||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override
|
||||
{
|
||||
packet.Worldstates.reserve(5);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_SHOW_TIMER, BloodQuickeningState == IN_PROGRESS ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_EXECUTION_TIME, BloodQuickeningMinutes);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_SHOW_ATTEMPTS, 1); // instance->IsHeroic() ? 1 : 0
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_ATTEMPTS_REMAINING, HeroicAttempts);
|
||||
packet.Worldstates.emplace_back(WORLDSTATE_ATTEMPTS_MAX, MaxHeroicAttempts);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_ICECROWN_CITADEL_SHOW_TIMER, BloodQuickeningState == IN_PROGRESS ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_ICECROWN_CITADEL_EXECUTION_TIME, BloodQuickeningMinutes);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_ICECROWN_CITADEL_SHOW_ATTEMPTS, 1); // instance->IsHeroic() ? 1 : 0
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_ICECROWN_CITADEL_ATTEMPTS_REMAINING, HeroicAttempts);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_ICECROWN_CITADEL_ATTEMPTS_MAX, MaxHeroicAttempts);
|
||||
}
|
||||
|
||||
void OnPlayerAreaUpdate(Player* player, uint32 /*oldArea*/, uint32 newArea) override
|
||||
|
|
@ -252,7 +253,7 @@ public:
|
|||
}
|
||||
else
|
||||
{
|
||||
player->SendUpdateWorldState(WORLDSTATE_SHOW_ATTEMPTS, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_ICECROWN_CITADEL_SHOW_ATTEMPTS, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1021,7 +1022,7 @@ public:
|
|||
if (drop && HeroicAttempts)
|
||||
{
|
||||
--HeroicAttempts;
|
||||
DoUpdateWorldState(WORLDSTATE_ATTEMPTS_REMAINING, HeroicAttempts);
|
||||
DoUpdateWorldState(WORLD_STATE_ICECROWN_CITADEL_ATTEMPTS_REMAINING, HeroicAttempts);
|
||||
SaveToDB();
|
||||
}
|
||||
if (HeroicAttempts)
|
||||
|
|
@ -1350,13 +1351,13 @@ public:
|
|||
case IN_PROGRESS:
|
||||
Events.ScheduleEvent(EVENT_UPDATE_EXECUTION_TIME, 1min);
|
||||
BloodQuickeningMinutes = 30;
|
||||
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1);
|
||||
DoUpdateWorldState(WORLDSTATE_EXECUTION_TIME, BloodQuickeningMinutes);
|
||||
DoUpdateWorldState(WORLD_STATE_ICECROWN_CITADEL_SHOW_TIMER, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_ICECROWN_CITADEL_EXECUTION_TIME, BloodQuickeningMinutes);
|
||||
break;
|
||||
case DONE:
|
||||
Events.CancelEvent(EVENT_UPDATE_EXECUTION_TIME);
|
||||
BloodQuickeningMinutes = 0;
|
||||
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_ICECROWN_CITADEL_SHOW_TIMER, 0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
@ -1616,8 +1617,8 @@ public:
|
|||
if (BloodQuickeningState == IN_PROGRESS)
|
||||
{
|
||||
Events.ScheduleEvent(EVENT_UPDATE_EXECUTION_TIME, 1min);
|
||||
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1);
|
||||
DoUpdateWorldState(WORLDSTATE_EXECUTION_TIME, BloodQuickeningMinutes);
|
||||
DoUpdateWorldState(WORLD_STATE_ICECROWN_CITADEL_SHOW_TIMER, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_ICECROWN_CITADEL_EXECUTION_TIME, BloodQuickeningMinutes);
|
||||
}
|
||||
|
||||
data >> WeeklyQuestId10;
|
||||
|
|
@ -1695,13 +1696,13 @@ public:
|
|||
if (BloodQuickeningMinutes)
|
||||
{
|
||||
Events.ScheduleEvent(EVENT_UPDATE_EXECUTION_TIME, 1min);
|
||||
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1);
|
||||
DoUpdateWorldState(WORLDSTATE_EXECUTION_TIME, BloodQuickeningMinutes);
|
||||
DoUpdateWorldState(WORLD_STATE_ICECROWN_CITADEL_SHOW_TIMER, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_ICECROWN_CITADEL_EXECUTION_TIME, BloodQuickeningMinutes);
|
||||
}
|
||||
else
|
||||
{
|
||||
BloodQuickeningState = DONE;
|
||||
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_ICECROWN_CITADEL_SHOW_TIMER, 0);
|
||||
if (Creature* bq = instance->GetCreature(BloodQueenLanaThelGUID))
|
||||
bq->AI()->DoAction(ACTION_KILL_MINCHAR);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#include "LFGMgr.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "WorldStatePackets.h"
|
||||
#include "oculus.h"
|
||||
|
||||
|
|
@ -112,13 +113,13 @@ public:
|
|||
{
|
||||
if (m_auiEncounter[DATA_DRAKOS] == DONE && m_auiEncounter[DATA_VAROS] != DONE)
|
||||
{
|
||||
player->SendUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT, 10 - CentrifugeCount);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_SHOW, 1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_AMOUNT, 10 - CentrifugeCount);
|
||||
}
|
||||
else
|
||||
{
|
||||
player->SendUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_SHOW, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_AMOUNT, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -136,8 +137,8 @@ public:
|
|||
m_auiEncounter[DATA_DRAKOS] = data;
|
||||
if (data == DONE)
|
||||
{
|
||||
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT, 10 - CentrifugeCount);
|
||||
DoUpdateWorldState(WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_SHOW, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_AMOUNT, 10 - CentrifugeCount);
|
||||
|
||||
if (instance->IsHeroic())
|
||||
DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_MAKE_IT_COUNT_TIMED_EVENT);
|
||||
|
|
@ -147,7 +148,7 @@ public:
|
|||
m_auiEncounter[DATA_VAROS] = data;
|
||||
if (data == DONE)
|
||||
{
|
||||
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_SHOW, 0);
|
||||
|
||||
if (Creature* urom = instance->GetCreature(uiUromGUID))
|
||||
urom->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
|
|
@ -178,7 +179,7 @@ public:
|
|||
if (CentrifugeCount < 10)
|
||||
{
|
||||
++CentrifugeCount;
|
||||
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT, 10 - CentrifugeCount);
|
||||
DoUpdateWorldState(WORLD_STATE_OCULUS_CENTRIFUGE_CONSTRUCT_AMOUNT, 10 - CentrifugeCount);
|
||||
}
|
||||
if (CentrifugeCount >= 10)
|
||||
if (Creature* varos = instance->GetCreature(uiVarosGUID))
|
||||
|
|
|
|||
|
|
@ -97,12 +97,6 @@ enum AchievData
|
|||
CRITERIA_RUBY_VOID = 7323,
|
||||
};
|
||||
|
||||
enum OculusWorldStates
|
||||
{
|
||||
WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW = 3524,
|
||||
WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT = 3486
|
||||
};
|
||||
|
||||
enum MISC
|
||||
{
|
||||
POINT_MOVE_DRAKES
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#include "ScriptedCreature.h"
|
||||
#include "Transport.h"
|
||||
#include "WorldPacket.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "WorldStatePackets.h"
|
||||
#include "ulduar.h"
|
||||
|
||||
|
|
@ -173,8 +174,8 @@ public:
|
|||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override
|
||||
{
|
||||
packet.Worldstates.reserve(2);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_ALGALON_TIMER_ENABLED, (m_algalonTimer && m_algalonTimer <= 60) ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_ALGALON_DESPAWN_TIMER, std::min<int32>(m_algalonTimer, 60));
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_ULDUAR_ALGALON_TIMER_ENABLED, (m_algalonTimer && m_algalonTimer <= 60) ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_ULDUAR_ALGALON_DESPAWN_TIMER, std::min<int32>(m_algalonTimer, 60));
|
||||
}
|
||||
|
||||
void OnPlayerEnter(Player* player) override
|
||||
|
|
@ -769,15 +770,15 @@ public:
|
|||
SaveToDB();
|
||||
return;
|
||||
case DATA_DESPAWN_ALGALON:
|
||||
DoUpdateWorldState(WORLD_STATE_ALGALON_TIMER_ENABLED, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_ALGALON_DESPAWN_TIMER, 60);
|
||||
DoUpdateWorldState(WORLD_STATE_ULDUAR_ALGALON_TIMER_ENABLED, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_ULDUAR_ALGALON_DESPAWN_TIMER, 60);
|
||||
m_algalonTimer = 60;
|
||||
_events.RescheduleEvent(EVENT_UPDATE_ALGALON_TIMER, 1min);
|
||||
SaveToDB();
|
||||
return;
|
||||
case DATA_ALGALON_SUMMON_STATE:
|
||||
case DATA_ALGALON_DEFEATED:
|
||||
DoUpdateWorldState(WORLD_STATE_ALGALON_TIMER_ENABLED, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_ULDUAR_ALGALON_TIMER_ENABLED, 0);
|
||||
m_algalonTimer = (type == DATA_ALGALON_DEFEATED ? TIMER_ALGALON_DEFEATED : TIMER_ALGALON_SUMMONED);
|
||||
_events.CancelEvent(EVENT_UPDATE_ALGALON_TIMER);
|
||||
SaveToDB();
|
||||
|
|
@ -1148,8 +1149,8 @@ public:
|
|||
|
||||
if (m_algalonTimer && m_algalonTimer <= 60 && GetData(TYPE_ALGALON) != DONE)
|
||||
{
|
||||
DoUpdateWorldState(WORLD_STATE_ALGALON_TIMER_ENABLED, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_ALGALON_DESPAWN_TIMER, m_algalonTimer);
|
||||
DoUpdateWorldState(WORLD_STATE_ULDUAR_ALGALON_TIMER_ENABLED, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_ULDUAR_ALGALON_DESPAWN_TIMER, m_algalonTimer);
|
||||
}
|
||||
|
||||
data >> C_of_Ulduar_MASK;
|
||||
|
|
@ -1190,7 +1191,7 @@ public:
|
|||
}
|
||||
|
||||
SaveToDB();
|
||||
DoUpdateWorldState(WORLD_STATE_ALGALON_DESPAWN_TIMER, --m_algalonTimer);
|
||||
DoUpdateWorldState(WORLD_STATE_ULDUAR_ALGALON_DESPAWN_TIMER, --m_algalonTimer);
|
||||
if (m_algalonTimer)
|
||||
{
|
||||
_events.Repeat(1min);
|
||||
|
|
|
|||
|
|
@ -276,10 +276,6 @@ enum UlduarMisc
|
|||
ACTION_TOWER_OF_FLAMES_DESTROYED = 3,
|
||||
ACTION_TOWER_OF_LIFE_DESTROYED = 4,
|
||||
|
||||
// Algalon the Observer
|
||||
WORLD_STATE_ALGALON_DESPAWN_TIMER = 4131,
|
||||
WORLD_STATE_ALGALON_TIMER_ENABLED = 4132,
|
||||
|
||||
EVENT_UPDATE_ALGALON_TIMER = 1,
|
||||
ACTION_FEEDS_ON_TEARS_FAILED = 0,
|
||||
ACTION_INIT_ALGALON = 1,
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#include "InstanceMapScript.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "violet_hold.h"
|
||||
|
||||
enum vYells
|
||||
|
|
@ -235,7 +236,7 @@ public:
|
|||
CLEANED = false;
|
||||
InstanceCleanup();
|
||||
}
|
||||
DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, (uint32)GateHealth);
|
||||
DoUpdateWorldState(WORLD_STATE_VIOLET_HOLD_PRISON_STATE, (uint32)GateHealth);
|
||||
break;
|
||||
case DATA_RELEASE_BOSS:
|
||||
if (WaveCount == 6)
|
||||
|
|
@ -253,7 +254,7 @@ public:
|
|||
m_auiEncounter[2] = DONE;
|
||||
EncounterStatus = DONE;
|
||||
HandleGameObject(GO_MainGateGUID, true);
|
||||
DoUpdateWorldState(WORLD_STATE_VH_SHOW, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_VIOLET_HOLD_SHOW, 0);
|
||||
if (Creature* c = instance->GetCreature(NPC_SinclariGUID))
|
||||
{
|
||||
c->AI()->Talk(SAY_SINCLARI_COMPLETE);
|
||||
|
|
@ -458,9 +459,9 @@ public:
|
|||
}
|
||||
GateHealth = 100;
|
||||
HandleGameObject(GO_MainGateGUID, false);
|
||||
DoUpdateWorldState(WORLD_STATE_VH_SHOW, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, (uint32)GateHealth);
|
||||
DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, (uint32)WaveCount);
|
||||
DoUpdateWorldState(WORLD_STATE_VIOLET_HOLD_SHOW, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_VIOLET_HOLD_PRISON_STATE, (uint32)GateHealth);
|
||||
DoUpdateWorldState(WORLD_STATE_VIOLET_HOLD_WAVE_COUNT, (uint32)WaveCount);
|
||||
|
||||
for (ObjectGuid const& guid : GO_ActivationCrystalGUID)
|
||||
if (GameObject* go = instance->GetGameObject(guid))
|
||||
|
|
@ -473,7 +474,7 @@ public:
|
|||
break;
|
||||
case EVENT_SUMMON_PORTAL:
|
||||
++WaveCount;
|
||||
DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, (uint32)WaveCount);
|
||||
DoUpdateWorldState(WORLD_STATE_VIOLET_HOLD_WAVE_COUNT, (uint32)WaveCount);
|
||||
SetData(DATA_PORTAL_LOCATION, (GetData(DATA_PORTAL_LOCATION) + urand(1, 5)) % 6);
|
||||
if (Creature* c = instance->GetCreature(NPC_SinclariGUID))
|
||||
{
|
||||
|
|
@ -527,12 +528,12 @@ public:
|
|||
|
||||
if (EncounterStatus == IN_PROGRESS)
|
||||
{
|
||||
plr->SendUpdateWorldState(WORLD_STATE_VH_SHOW, 1);
|
||||
plr->SendUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, (uint32)GateHealth);
|
||||
plr->SendUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, (uint32)WaveCount);
|
||||
plr->SendUpdateWorldState(WORLD_STATE_VIOLET_HOLD_SHOW, 1);
|
||||
plr->SendUpdateWorldState(WORLD_STATE_VIOLET_HOLD_PRISON_STATE, (uint32)GateHealth);
|
||||
plr->SendUpdateWorldState(WORLD_STATE_VIOLET_HOLD_WAVE_COUNT, (uint32)WaveCount);
|
||||
}
|
||||
else
|
||||
plr->SendUpdateWorldState(WORLD_STATE_VH_SHOW, 0);
|
||||
plr->SendUpdateWorldState(WORLD_STATE_VIOLET_HOLD_SHOW, 0);
|
||||
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 5s);
|
||||
}
|
||||
|
|
@ -625,7 +626,7 @@ public:
|
|||
}
|
||||
|
||||
// reinitialize variables and events
|
||||
DoUpdateWorldState(WORLD_STATE_VH_SHOW, 0);
|
||||
DoUpdateWorldState(WORLD_STATE_VIOLET_HOLD_SHOW, 0);
|
||||
EncounterStatus = NOT_STARTED;
|
||||
GateHealth = 100;
|
||||
WaveCount = 0;
|
||||
|
|
|
|||
|
|
@ -89,13 +89,6 @@ enum Bosses
|
|||
BOSS_CYANIGOSA
|
||||
};
|
||||
|
||||
enum VHWorldStates
|
||||
{
|
||||
WORLD_STATE_VH_SHOW = 3816,
|
||||
WORLD_STATE_VH_PRISON_STATE = 3815,
|
||||
WORLD_STATE_VH_WAVE_COUNT = 3810,
|
||||
};
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_CONTROL_CRYSTAL_ACTIVATION = 57804,
|
||||
|
|
|
|||
|
|
@ -307,7 +307,7 @@ public:
|
|||
else
|
||||
{
|
||||
uint32 timer = wintergrasp->GetTimer() / 1000;
|
||||
player->SendUpdateWorldState(4354, GameTime::GetGameTime().count() + timer);
|
||||
player->SendUpdateWorldState(WORLD_STATE_BATTLEFIELD_WG_CLOCK_TEXTS, GameTime::GetGameTime().count() + timer);
|
||||
if (timer < 15 * MINUTE)
|
||||
{
|
||||
AddGossipItemFor(player, WG_GOSSIP_MENU_QUEUE, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#include "World.h"
|
||||
#include "WorldPacket.h"
|
||||
#include "WorldSessionMgr.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "WorldStatePackets.h"
|
||||
|
||||
OPvPCapturePointEP_EWT::OPvPCapturePointEP_EWT(OutdoorPvP* pvp)
|
||||
|
|
@ -101,41 +102,41 @@ void OPvPCapturePointEP_EWT::ChangeState()
|
|||
void OPvPCapturePointEP_EWT::SendChangePhase()
|
||||
{
|
||||
// send this too, sometimes the slider disappears, dunno why :(
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
// send these updates to only the ones in this objective
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_POS, phase);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_POS, phase);
|
||||
// send this too, sometimes it resets :S
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
}
|
||||
|
||||
void OPvPCapturePointEP_EWT::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.reserve(5);
|
||||
packet.Worldstates.emplace_back(EP_EWT_A, (m_TowerState & EP_TS_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_EWT_H, (m_TowerState & EP_TS_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_EWT_N_A, (m_TowerState & EP_TS_N_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_EWT_N_H, (m_TowerState & EP_TS_N_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_EWT_N, (m_TowerState & EP_TS_N) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_EASTWALLTOWER_A, (m_TowerState & EP_TS_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_EASTWALLTOWER_H, (m_TowerState & EP_TS_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N_A, (m_TowerState & EP_TS_N_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N_H, (m_TowerState & EP_TS_N_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N, (m_TowerState & EP_TS_N) != 0 ? 1 : 0);
|
||||
}
|
||||
|
||||
void OPvPCapturePointEP_EWT::UpdateTowerState()
|
||||
{
|
||||
_pvp->SendUpdateWorldState(EP_EWT_A, bool(m_TowerState & EP_TS_A));
|
||||
_pvp->SendUpdateWorldState(EP_EWT_H, bool(m_TowerState & EP_TS_H));
|
||||
_pvp->SendUpdateWorldState(EP_EWT_N_A, bool(m_TowerState & EP_TS_N_A));
|
||||
_pvp->SendUpdateWorldState(EP_EWT_N_H, bool(m_TowerState & EP_TS_N_H));
|
||||
_pvp->SendUpdateWorldState(EP_EWT_N, bool(m_TowerState & EP_TS_N));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_EASTWALLTOWER_A, bool(m_TowerState & EP_TS_A));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_EASTWALLTOWER_H, bool(m_TowerState & EP_TS_H));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N_A, bool(m_TowerState & EP_TS_N_A));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N_H, bool(m_TowerState & EP_TS_N_H));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N, bool(m_TowerState & EP_TS_N));
|
||||
}
|
||||
|
||||
bool OPvPCapturePointEP_EWT::HandlePlayerEnter(Player* player)
|
||||
{
|
||||
if (OPvPCapturePoint::HandlePlayerEnter(player))
|
||||
{
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -143,7 +144,7 @@ bool OPvPCapturePointEP_EWT::HandlePlayerEnter(Player* player)
|
|||
|
||||
void OPvPCapturePointEP_EWT::HandlePlayerLeave(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
OPvPCapturePoint::HandlePlayerLeave(player);
|
||||
}
|
||||
|
||||
|
|
@ -244,41 +245,41 @@ void OPvPCapturePointEP_NPT::ChangeState()
|
|||
void OPvPCapturePointEP_NPT::SendChangePhase()
|
||||
{
|
||||
// send this too, sometimes the slider disappears, dunno why :(
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
// send these updates to only the ones in this objective
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_POS, phase);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_POS, phase);
|
||||
// send this too, sometimes it resets :S
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
}
|
||||
|
||||
void OPvPCapturePointEP_NPT::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.reserve(5);
|
||||
packet.Worldstates.emplace_back(EP_NPT_A, (m_TowerState & EP_TS_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_NPT_H, (m_TowerState & EP_TS_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_NPT_N_A, (m_TowerState & EP_TS_N_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_NPT_N_H, (m_TowerState & EP_TS_N_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_NPT_N, (m_TowerState & EP_TS_N) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_A, (m_TowerState & EP_TS_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_H, (m_TowerState & EP_TS_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N_A, (m_TowerState & EP_TS_N_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N_H, (m_TowerState & EP_TS_N_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N, (m_TowerState & EP_TS_N) != 0 ? 1 : 0);
|
||||
}
|
||||
|
||||
void OPvPCapturePointEP_NPT::UpdateTowerState()
|
||||
{
|
||||
_pvp->SendUpdateWorldState(EP_NPT_A, bool(m_TowerState & EP_TS_A));
|
||||
_pvp->SendUpdateWorldState(EP_NPT_H, bool(m_TowerState & EP_TS_H));
|
||||
_pvp->SendUpdateWorldState(EP_NPT_N_A, bool(m_TowerState & EP_TS_N_A));
|
||||
_pvp->SendUpdateWorldState(EP_NPT_N_H, bool(m_TowerState & EP_TS_N_H));
|
||||
_pvp->SendUpdateWorldState(EP_NPT_N, bool(m_TowerState & EP_TS_N));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_A, bool(m_TowerState & EP_TS_A));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_H, bool(m_TowerState & EP_TS_H));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N_A, bool(m_TowerState & EP_TS_N_A));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N_H, bool(m_TowerState & EP_TS_N_H));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N, bool(m_TowerState & EP_TS_N));
|
||||
}
|
||||
|
||||
bool OPvPCapturePointEP_NPT::HandlePlayerEnter(Player* player)
|
||||
{
|
||||
if (OPvPCapturePoint::HandlePlayerEnter(player))
|
||||
{
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -286,7 +287,7 @@ bool OPvPCapturePointEP_NPT::HandlePlayerEnter(Player* player)
|
|||
|
||||
void OPvPCapturePointEP_NPT::HandlePlayerLeave(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
OPvPCapturePoint::HandlePlayerLeave(player);
|
||||
}
|
||||
|
||||
|
|
@ -377,41 +378,41 @@ void OPvPCapturePointEP_CGT::ChangeState()
|
|||
void OPvPCapturePointEP_CGT::SendChangePhase()
|
||||
{
|
||||
// send this too, sometimes the slider disappears, dunno why :(
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
// send these updates to only the ones in this objective
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_POS, phase);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_POS, phase);
|
||||
// send this too, sometimes it resets :S
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
}
|
||||
|
||||
void OPvPCapturePointEP_CGT::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.reserve(5);
|
||||
packet.Worldstates.emplace_back(EP_CGT_A, (m_TowerState & EP_TS_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_CGT_H, (m_TowerState & EP_TS_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_CGT_N_A, (m_TowerState & EP_TS_N_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_CGT_N_H, (m_TowerState & EP_TS_N_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_CGT_N, (m_TowerState & EP_TS_N) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_A, (m_TowerState & EP_TS_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_H, (m_TowerState & EP_TS_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N_A, (m_TowerState & EP_TS_N_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N_H, (m_TowerState & EP_TS_N_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N, (m_TowerState & EP_TS_N) != 0 ? 1 : 0);
|
||||
}
|
||||
|
||||
void OPvPCapturePointEP_CGT::UpdateTowerState()
|
||||
{
|
||||
_pvp->SendUpdateWorldState(EP_CGT_A, bool(m_TowerState & EP_TS_A));
|
||||
_pvp->SendUpdateWorldState(EP_CGT_H, bool(m_TowerState & EP_TS_H));
|
||||
_pvp->SendUpdateWorldState(EP_CGT_N_A, bool(m_TowerState & EP_TS_N_A));
|
||||
_pvp->SendUpdateWorldState(EP_CGT_N_H, bool(m_TowerState & EP_TS_N_H));
|
||||
_pvp->SendUpdateWorldState(EP_CGT_N, bool(m_TowerState & EP_TS_N));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_A, bool(m_TowerState & EP_TS_A));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_H, bool(m_TowerState & EP_TS_H));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N_A, bool(m_TowerState & EP_TS_N_A));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N_H, bool(m_TowerState & EP_TS_N_H));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N, bool(m_TowerState & EP_TS_N));
|
||||
}
|
||||
|
||||
bool OPvPCapturePointEP_CGT::HandlePlayerEnter(Player* player)
|
||||
{
|
||||
if (OPvPCapturePoint::HandlePlayerEnter(player))
|
||||
{
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -419,7 +420,7 @@ bool OPvPCapturePointEP_CGT::HandlePlayerEnter(Player* player)
|
|||
|
||||
void OPvPCapturePointEP_CGT::HandlePlayerLeave(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
OPvPCapturePoint::HandlePlayerLeave(player);
|
||||
}
|
||||
|
||||
|
|
@ -515,41 +516,41 @@ void OPvPCapturePointEP_PWT::ChangeState()
|
|||
void OPvPCapturePointEP_PWT::SendChangePhase()
|
||||
{
|
||||
// send this too, sometimes the slider disappears, dunno why :(
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
// send these updates to only the ones in this objective
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_POS, phase);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_POS, phase);
|
||||
// send this too, sometimes it resets :S
|
||||
SendUpdateWorldState(EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
}
|
||||
|
||||
void OPvPCapturePointEP_PWT::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.reserve(5);
|
||||
packet.Worldstates.emplace_back(EP_PWT_A, (m_TowerState & EP_TS_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_PWT_H, (m_TowerState & EP_TS_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_PWT_N_A, (m_TowerState & EP_TS_N_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_PWT_N_H, (m_TowerState & EP_TS_N_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(EP_PWT_N, (m_TowerState & EP_TS_N) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_A, (m_TowerState & EP_TS_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_H, (m_TowerState & EP_TS_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N_A, (m_TowerState & EP_TS_N_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N_H, (m_TowerState & EP_TS_N_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N, (m_TowerState & EP_TS_N) != 0 ? 1 : 0);
|
||||
}
|
||||
|
||||
void OPvPCapturePointEP_PWT::UpdateTowerState()
|
||||
{
|
||||
_pvp->SendUpdateWorldState(EP_PWT_A, bool(m_TowerState & EP_TS_A));
|
||||
_pvp->SendUpdateWorldState(EP_PWT_H, bool(m_TowerState & EP_TS_H));
|
||||
_pvp->SendUpdateWorldState(EP_PWT_N_A, bool(m_TowerState & EP_TS_N_A));
|
||||
_pvp->SendUpdateWorldState(EP_PWT_N_H, bool(m_TowerState & EP_TS_N_H));
|
||||
_pvp->SendUpdateWorldState(EP_PWT_N, bool(m_TowerState & EP_TS_N));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_A, bool(m_TowerState & EP_TS_A));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_H, bool(m_TowerState & EP_TS_H));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N_A, bool(m_TowerState & EP_TS_N_A));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N_H, bool(m_TowerState & EP_TS_N_H));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N, bool(m_TowerState & EP_TS_N));
|
||||
}
|
||||
|
||||
bool OPvPCapturePointEP_PWT::HandlePlayerEnter(Player* player)
|
||||
{
|
||||
if (OPvPCapturePoint::HandlePlayerEnter(player))
|
||||
{
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -557,7 +558,7 @@ bool OPvPCapturePointEP_PWT::HandlePlayerEnter(Player* player)
|
|||
|
||||
void OPvPCapturePointEP_PWT::HandlePlayerLeave(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
OPvPCapturePoint::HandlePlayerLeave(player);
|
||||
}
|
||||
|
||||
|
|
@ -647,8 +648,8 @@ bool OutdoorPvPEP::Update(uint32 diff)
|
|||
++m_AllianceTowersControlled;
|
||||
else if (EP_ControlsId[i] == TEAM_HORDE)
|
||||
++m_HordeTowersControlled;
|
||||
SendUpdateWorldState(EP_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
SendUpdateWorldState(EP_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
BuffTeams();
|
||||
}
|
||||
return true;
|
||||
|
|
@ -720,11 +721,11 @@ void OutdoorPvPEP::SetControlledState(uint32 index, TeamId teamId)
|
|||
void OutdoorPvPEP::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.reserve(5);
|
||||
packet.Worldstates.emplace_back(EP_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
packet.Worldstates.emplace_back(EP_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
packet.Worldstates.emplace_back(EP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
packet.Worldstates.emplace_back(EP_UI_TOWER_SLIDER_POS, 50);
|
||||
packet.Worldstates.emplace_back(EP_UI_TOWER_SLIDER_N, 100);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 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, 100);
|
||||
|
||||
for (OPvPCapturePointMap::iterator itr = _capturePoints.begin(); itr != _capturePoints.end(); ++itr)
|
||||
{
|
||||
|
|
@ -734,35 +735,35 @@ void OutdoorPvPEP::FillInitialWorldStates(WorldPackets::WorldState::InitWorldSta
|
|||
|
||||
void OutdoorPvPEP::SendRemoveWorldStates(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_COUNT_A, 0);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_COUNT_H, 0);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_POS, 0);
|
||||
player->SendUpdateWorldState(EP_UI_TOWER_SLIDER_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_COUNT_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_COUNT_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_POS, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_UI_TOWER_SLIDER_N, 0);
|
||||
|
||||
player->SendUpdateWorldState(EP_EWT_A, 0);
|
||||
player->SendUpdateWorldState(EP_EWT_H, 0);
|
||||
player->SendUpdateWorldState(EP_EWT_N, 0);
|
||||
player->SendUpdateWorldState(EP_EWT_N_A, 0);
|
||||
player->SendUpdateWorldState(EP_EWT_N_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_EASTWALLTOWER_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_EASTWALLTOWER_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_EASTWALLTOWER_N_H, 0);
|
||||
|
||||
player->SendUpdateWorldState(EP_PWT_A, 0);
|
||||
player->SendUpdateWorldState(EP_PWT_H, 0);
|
||||
player->SendUpdateWorldState(EP_PWT_N, 0);
|
||||
player->SendUpdateWorldState(EP_PWT_N_A, 0);
|
||||
player->SendUpdateWorldState(EP_PWT_N_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_PLAGUEWOODTOWER_N_H, 0);
|
||||
|
||||
player->SendUpdateWorldState(EP_NPT_A, 0);
|
||||
player->SendUpdateWorldState(EP_NPT_H, 0);
|
||||
player->SendUpdateWorldState(EP_NPT_N, 0);
|
||||
player->SendUpdateWorldState(EP_NPT_N_A, 0);
|
||||
player->SendUpdateWorldState(EP_NPT_N_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_NORTHPASSTOWER_N_H, 0);
|
||||
|
||||
player->SendUpdateWorldState(EP_CGT_A, 0);
|
||||
player->SendUpdateWorldState(EP_CGT_H, 0);
|
||||
player->SendUpdateWorldState(EP_CGT_N, 0);
|
||||
player->SendUpdateWorldState(EP_CGT_N_A, 0);
|
||||
player->SendUpdateWorldState(EP_CGT_N_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_EP_CROWNGUARDTOWER_N_H, 0);
|
||||
}
|
||||
|
||||
class OutdoorPvP_eastern_plaguelands : public OutdoorPvPScript
|
||||
|
|
|
|||
|
|
@ -46,52 +46,6 @@ const uint32 EPBuffZones[EPBuffZonesNum] = {139, 2017, 2057};
|
|||
// EP_PWT_Taxi = 84
|
||||
//};
|
||||
|
||||
enum EP_EastwallTowerWorldStates
|
||||
{
|
||||
EP_EWT_A = 2354,
|
||||
EP_EWT_H = 2356,
|
||||
EP_EWT_N_A = 2359, // ally conquested
|
||||
EP_EWT_N_H = 2360,
|
||||
EP_EWT_N = 2361
|
||||
};
|
||||
|
||||
enum EP_NorthpassTowerWorldStates
|
||||
{
|
||||
EP_NPT_N = 2352,
|
||||
EP_NPT_N_A = 2362,
|
||||
EP_NPT_N_H = 2363,
|
||||
EP_NPT_A = 2372,
|
||||
EP_NPT_H = 2373
|
||||
};
|
||||
|
||||
enum EP_PlagewoodTowerWorldStates
|
||||
{
|
||||
EP_PWT_N_A = 2366,
|
||||
EP_PWT_N_H = 2353, //2367 not present! use neutral!
|
||||
EP_PWT_A = 2370,
|
||||
EP_PWT_H = 2371,
|
||||
EP_PWT_N = 2353
|
||||
};
|
||||
|
||||
enum EP_CrownGuardTowerWorldStates
|
||||
{
|
||||
EP_CGT_N_A = 2374,
|
||||
EP_CGT_N_H = 2375,
|
||||
EP_CGT_A = 2378,
|
||||
EP_CGT_H = 2379,
|
||||
EP_CGT_N = 2355
|
||||
};
|
||||
|
||||
enum EP_WorldStates
|
||||
{
|
||||
EP_UI_TOWER_SLIDER_DISPLAY = 2426,
|
||||
EP_UI_TOWER_SLIDER_POS = 2427,
|
||||
EP_UI_TOWER_SLIDER_N = 2428,
|
||||
|
||||
EP_UI_TOWER_COUNT_A = 2327,
|
||||
EP_UI_TOWER_COUNT_H = 2328
|
||||
};
|
||||
|
||||
enum EP_Summons
|
||||
{
|
||||
EP_EWT_COMMANDER = 0,
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#include "OutdoorPvPScript.h"
|
||||
#include "Player.h"
|
||||
#include "WorldPacket.h"
|
||||
#include "WorldStateDefines.h"
|
||||
|
||||
OutdoorPvPGH::OutdoorPvPGH()
|
||||
{
|
||||
|
|
@ -39,9 +40,9 @@ bool OutdoorPvPGH::SetupOutdoorPvP()
|
|||
|
||||
void OutdoorPvPGH::SendRemoveWorldStates(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(GH_UI_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(GH_UI_SLIDER_POS, 0);
|
||||
player->SendUpdateWorldState(GH_UI_SLIDER_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_GH_UI_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_GH_UI_SLIDER_POS, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_GH_UI_SLIDER_N, 0);
|
||||
}
|
||||
|
||||
OPvPCapturePointGH::OPvPCapturePointGH(OutdoorPvP* pvp) : OPvPCapturePoint(pvp)
|
||||
|
|
@ -52,29 +53,29 @@ OPvPCapturePointGH::OPvPCapturePointGH(OutdoorPvP* pvp) : OPvPCapturePoint(pvp)
|
|||
void OPvPCapturePointGH::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.reserve(3);
|
||||
packet.Worldstates.emplace_back(GH_UI_SLIDER_DISPLAY, 0);
|
||||
packet.Worldstates.emplace_back(GH_UI_SLIDER_POS, 50);
|
||||
packet.Worldstates.emplace_back(GH_UI_SLIDER_N, 20);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_GH_UI_SLIDER_DISPLAY, 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_GH_UI_SLIDER_POS, 50);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_GH_UI_SLIDER_N, 20);
|
||||
}
|
||||
|
||||
void OPvPCapturePointGH::SendChangePhase()
|
||||
{
|
||||
// send this too, sometimes the slider disappears, dunno why :(
|
||||
SendUpdateWorldState(GH_UI_SLIDER_DISPLAY, 1);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_GH_UI_SLIDER_DISPLAY, 1);
|
||||
// send these updates to only the ones in this objective
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
SendUpdateWorldState(GH_UI_SLIDER_POS, phase);
|
||||
SendUpdateWorldState(GH_UI_SLIDER_N, _neutralValuePct);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_GH_UI_SLIDER_POS, phase);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_GH_UI_SLIDER_N, _neutralValuePct);
|
||||
}
|
||||
|
||||
bool OPvPCapturePointGH::HandlePlayerEnter(Player* player)
|
||||
{
|
||||
if (OPvPCapturePoint::HandlePlayerEnter(player))
|
||||
{
|
||||
player->SendUpdateWorldState(GH_UI_SLIDER_DISPLAY, 1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_GH_UI_SLIDER_DISPLAY, 1);
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
player->SendUpdateWorldState(GH_UI_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(GH_UI_SLIDER_N, _neutralValuePct);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_GH_UI_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_GH_UI_SLIDER_N, _neutralValuePct);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -82,7 +83,7 @@ bool OPvPCapturePointGH::HandlePlayerEnter(Player* player)
|
|||
|
||||
void OPvPCapturePointGH::HandlePlayerLeave(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(GH_UI_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_GH_UI_SLIDER_DISPLAY, 0);
|
||||
OPvPCapturePoint::HandlePlayerLeave(player);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,10 +26,6 @@ enum OutdoorPvPGHenum
|
|||
GH_HORDE_DEFENSE_EVENT = 66,
|
||||
|
||||
GH_ZONE = 394,
|
||||
|
||||
GH_UI_SLIDER_DISPLAY = 3466,
|
||||
GH_UI_SLIDER_POS = 3467,
|
||||
GH_UI_SLIDER_N = 3468,
|
||||
};
|
||||
|
||||
class Unit;
|
||||
|
|
|
|||
|
|
@ -131,21 +131,21 @@ bool OutdoorPvPHP::Update(uint32 diff)
|
|||
TeamCastSpell(TEAM_ALLIANCE, -AllianceBuff);
|
||||
TeamCastSpell(TEAM_HORDE, -HordeBuff);
|
||||
}
|
||||
SendUpdateWorldState(HP_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
SendUpdateWorldState(HP_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
}
|
||||
return changed;
|
||||
}
|
||||
|
||||
void OutdoorPvPHP::SendRemoveWorldStates(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(HP_UI_TOWER_DISPLAY_A, 0);
|
||||
player->SendUpdateWorldState(HP_UI_TOWER_DISPLAY_H, 0);
|
||||
player->SendUpdateWorldState(HP_UI_TOWER_COUNT_H, 0);
|
||||
player->SendUpdateWorldState(HP_UI_TOWER_COUNT_A, 0);
|
||||
player->SendUpdateWorldState(HP_UI_TOWER_SLIDER_N, 0);
|
||||
player->SendUpdateWorldState(HP_UI_TOWER_SLIDER_POS, 0);
|
||||
player->SendUpdateWorldState(HP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_DISPLAY_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_DISPLAY_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_COUNT_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_COUNT_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_POS, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
for (int i = 0; i < HP_TOWER_NUM; ++i)
|
||||
{
|
||||
player->SendUpdateWorldState(HP_MAP_N[i], 0);
|
||||
|
|
@ -157,15 +157,15 @@ void OutdoorPvPHP::SendRemoveWorldStates(Player* player)
|
|||
void OutdoorPvPHP::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.reserve(8);
|
||||
packet.Worldstates.emplace_back(HP_UI_TOWER_DISPLAY_A, 1);
|
||||
packet.Worldstates.emplace_back(HP_UI_TOWER_DISPLAY_H, 1);
|
||||
packet.Worldstates.emplace_back(HP_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
packet.Worldstates.emplace_back(HP_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
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_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
|
||||
packet.Worldstates.emplace_back(HP_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
packet.Worldstates.emplace_back(HP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
packet.Worldstates.emplace_back(HP_UI_TOWER_SLIDER_POS, 50);
|
||||
packet.Worldstates.emplace_back(HP_UI_TOWER_SLIDER_N, 100);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_POS, 50);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_N, 100);
|
||||
for (OPvPCapturePointMap::iterator itr = _capturePoints.begin(); itr != _capturePoints.end(); ++itr)
|
||||
{
|
||||
itr->second->FillInitialWorldStates(packet);
|
||||
|
|
@ -269,12 +269,12 @@ void OPvPCapturePointHP::ChangeState()
|
|||
|
||||
void OPvPCapturePointHP::SendChangePhase()
|
||||
{
|
||||
SendUpdateWorldState(HP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
// send these updates to only the ones in this objective
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
SendUpdateWorldState(HP_UI_TOWER_SLIDER_POS, phase);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_POS, phase);
|
||||
// send this too, sometimes the slider disappears, dunno why :(
|
||||
SendUpdateWorldState(HP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
}
|
||||
|
||||
void OPvPCapturePointHP::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
|
|
@ -311,10 +311,10 @@ bool OPvPCapturePointHP::HandlePlayerEnter(Player* player)
|
|||
{
|
||||
if (OPvPCapturePoint::HandlePlayerEnter(player))
|
||||
{
|
||||
player->SendUpdateWorldState(HP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
player->SendUpdateWorldState(HP_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(HP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -322,7 +322,7 @@ bool OPvPCapturePointHP::HandlePlayerEnter(Player* player)
|
|||
|
||||
void OPvPCapturePointHP::HandlePlayerLeave(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(HP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_HP_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
OPvPCapturePoint::HandlePlayerLeave(player);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#define OUTDOOR_PVP_HP_
|
||||
|
||||
#include "OutdoorPvP.h"
|
||||
#include "WorldStateDefines.h"
|
||||
|
||||
#define OutdoorPvPHPBuffZonesNum 6
|
||||
// HP, citadel, ramparts, blood furnace, shattered halls, mag's lair
|
||||
|
|
@ -46,24 +47,11 @@ const uint32 HP_CREDITMARKER[HP_TOWER_NUM] = {19032, 19028, 19029};
|
|||
|
||||
//const uint32 HP_CapturePointEvent_Leave[HP_TOWER_NUM] = {11403, 11395, 11387};
|
||||
|
||||
enum OutdoorPvPHPWorldStates
|
||||
{
|
||||
HP_UI_TOWER_DISPLAY_A = 0x9ba,
|
||||
HP_UI_TOWER_DISPLAY_H = 0x9b9,
|
||||
const uint32 HP_MAP_N[HP_TOWER_NUM] = {WORLD_STATE_OPVP_HP_BROKENHILL_N, WORLD_STATE_OPVP_HP_OVERLOOK_N, WORLD_STATE_OPVP_HP_STADIUM_N };
|
||||
|
||||
HP_UI_TOWER_COUNT_H = 0x9ae,
|
||||
HP_UI_TOWER_COUNT_A = 0x9ac,
|
||||
const uint32 HP_MAP_A[HP_TOWER_NUM] = {WORLD_STATE_OPVP_HP_BROKENHILL_A, WORLD_STATE_OPVP_HP_OVERLOOK_A, WORLD_STATE_OPVP_HP_STADIUM_A };
|
||||
|
||||
HP_UI_TOWER_SLIDER_N = 2475,
|
||||
HP_UI_TOWER_SLIDER_POS = 2474,
|
||||
HP_UI_TOWER_SLIDER_DISPLAY = 2473
|
||||
};
|
||||
|
||||
const uint32 HP_MAP_N[HP_TOWER_NUM] = {0x9b5, 0x9b2, 0x9a8};
|
||||
|
||||
const uint32 HP_MAP_A[HP_TOWER_NUM] = {0x9b3, 0x9b0, 0x9a7};
|
||||
|
||||
const uint32 HP_MAP_H[HP_TOWER_NUM] = {0x9b4, 0x9b1, 0x9a6};
|
||||
const uint32 HP_MAP_H[HP_TOWER_NUM] = {WORLD_STATE_OPVP_HP_BROKENHILL_H, WORLD_STATE_OPVP_HP_OVERLOOK_H, WORLD_STATE_OPVP_HP_STADIUM_H };
|
||||
|
||||
const uint32 HP_TowerArtKit_A[HP_TOWER_NUM] = {65, 62, 67};
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
#include "World.h"
|
||||
#include "WorldPacket.h"
|
||||
#include "WorldSessionMgr.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "WorldStatePackets.h"
|
||||
|
||||
OutdoorPvPNA::OutdoorPvPNA()
|
||||
|
|
@ -216,9 +217,9 @@ void OPvPCapturePointNA::FactionTakeOver(TeamId teamId)
|
|||
m_WyvernStateEast = WYVERN_NEU_HORDE;
|
||||
m_WyvernStateWest = WYVERN_NEU_HORDE;
|
||||
_pvp->TeamApplyBuff(TEAM_ALLIANCE, NA_CAPTURE_BUFF);
|
||||
_pvp->SendUpdateWorldState(NA_UI_HORDE_GUARDS_SHOW, 0);
|
||||
_pvp->SendUpdateWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 1);
|
||||
_pvp->SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_HORDE_GUARDS_SHOW, 0);
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_ALLIANCE_GUARDS_SHOW, 1);
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_CAPTURE_A));
|
||||
}
|
||||
else
|
||||
|
|
@ -228,9 +229,9 @@ void OPvPCapturePointNA::FactionTakeOver(TeamId teamId)
|
|||
m_WyvernStateEast = WYVERN_NEU_ALLIANCE;
|
||||
m_WyvernStateWest = WYVERN_NEU_ALLIANCE;
|
||||
_pvp->TeamApplyBuff(TEAM_HORDE, NA_CAPTURE_BUFF);
|
||||
_pvp->SendUpdateWorldState(NA_UI_HORDE_GUARDS_SHOW, 1);
|
||||
_pvp->SendUpdateWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 0);
|
||||
_pvp->SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_HORDE_GUARDS_SHOW, 1);
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_ALLIANCE_GUARDS_SHOW, 0);
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_CAPTURE_H));
|
||||
}
|
||||
UpdateWyvernRoostWorldState(NA_ROOST_S);
|
||||
|
|
@ -243,10 +244,10 @@ bool OPvPCapturePointNA::HandlePlayerEnter(Player* player)
|
|||
{
|
||||
if (OPvPCapturePoint::HandlePlayerEnter(player))
|
||||
{
|
||||
player->SendUpdateWorldState(NA_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
player->SendUpdateWorldState(NA_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(NA_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_SLIDER_N, _neutralValuePct);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -254,7 +255,7 @@ bool OPvPCapturePointNA::HandlePlayerEnter(Player* player)
|
|||
|
||||
void OPvPCapturePointNA::HandlePlayerLeave(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(NA_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
OPvPCapturePoint::HandlePlayerLeave(player);
|
||||
}
|
||||
|
||||
|
|
@ -311,75 +312,75 @@ void OPvPCapturePointNA::FillInitialWorldStates(WorldPackets::WorldState::InitWo
|
|||
packet.Worldstates.reserve(25);
|
||||
if (m_ControllingFaction == TEAM_ALLIANCE)
|
||||
{
|
||||
packet.Worldstates.emplace_back(NA_UI_HORDE_GUARDS_SHOW, 0);
|
||||
packet.Worldstates.emplace_back(NA_UI_ALLIANCE_GUARDS_SHOW, 1);
|
||||
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, 1);
|
||||
}
|
||||
else if (m_ControllingFaction == TEAM_HORDE)
|
||||
{
|
||||
packet.Worldstates.emplace_back(NA_UI_HORDE_GUARDS_SHOW, 1);
|
||||
packet.Worldstates.emplace_back(NA_UI_ALLIANCE_GUARDS_SHOW, 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_HORDE_GUARDS_SHOW, 1);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_ALLIANCE_GUARDS_SHOW, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
packet.Worldstates.emplace_back(NA_UI_HORDE_GUARDS_SHOW, 0);
|
||||
packet.Worldstates.emplace_back(NA_UI_ALLIANCE_GUARDS_SHOW, 0);
|
||||
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(NA_UI_GUARDS_MAX, NA_GUARDS_MAX);
|
||||
packet.Worldstates.emplace_back(NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_NORTH_NEU_H, (m_WyvernStateNorth & WYVERN_NEU_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_NORTH_NEU_A, (m_WyvernStateNorth & WYVERN_NEU_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_NORTH_H, (m_WyvernStateNorth & WYVERN_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_NORTH_A, (m_WyvernStateNorth & WYVERN_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_SOUTH_NEU_H, (m_WyvernStateSouth & WYVERN_NEU_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_SOUTH_NEU_A, (m_WyvernStateSouth & WYVERN_NEU_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_SOUTH_H, (m_WyvernStateSouth & WYVERN_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_SOUTH_A, (m_WyvernStateSouth & WYVERN_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_WEST_NEU_H, (m_WyvernStateWest & WYVERN_NEU_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_WEST_NEU_A, (m_WyvernStateWest & WYVERN_NEU_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_WEST_H, (m_WyvernStateWest & WYVERN_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_WEST_A, (m_WyvernStateWest & WYVERN_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_EAST_NEU_H, (m_WyvernStateEast & WYVERN_NEU_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_EAST_NEU_A, (m_WyvernStateEast & WYVERN_NEU_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_EAST_H, (m_WyvernStateEast & WYVERN_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_WYVERN_EAST_A, (m_WyvernStateEast & WYVERN_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_HALAA_NEUTRAL, (m_HalaaState & HALAA_N) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_HALAA_NEU_A, (m_HalaaState & HALAA_N_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_HALAA_NEU_H, (m_HalaaState & HALAA_N_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_HALAA_HORDE, (m_HalaaState & HALAA_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(NA_MAP_HALAA_ALLIANCE, (m_HalaaState & HALAA_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_GUARDS_MAX, NA_GUARDS_MAX);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_H, (m_WyvernStateNorth & WYVERN_NEU_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_A, (m_WyvernStateNorth & WYVERN_NEU_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_H, (m_WyvernStateNorth & WYVERN_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_A, (m_WyvernStateNorth & WYVERN_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_H, (m_WyvernStateSouth & WYVERN_NEU_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_A, (m_WyvernStateSouth & WYVERN_NEU_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_H, (m_WyvernStateSouth & WYVERN_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_A, (m_WyvernStateSouth & WYVERN_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_H, (m_WyvernStateWest & WYVERN_NEU_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_A, (m_WyvernStateWest & WYVERN_NEU_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_H, (m_WyvernStateWest & WYVERN_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_A, (m_WyvernStateWest & WYVERN_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_H, (m_WyvernStateEast & WYVERN_NEU_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_A, (m_WyvernStateEast & WYVERN_NEU_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_H, (m_WyvernStateEast & WYVERN_HORDE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_A, (m_WyvernStateEast & WYVERN_ALLIANCE) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEUTRAL, (m_HalaaState & HALAA_N) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_A, (m_HalaaState & HALAA_N_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_H, (m_HalaaState & HALAA_N_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_HORDE, (m_HalaaState & HALAA_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_ALLIANCE, (m_HalaaState & HALAA_A) != 0 ? 1 : 0);
|
||||
}
|
||||
|
||||
void OutdoorPvPNA::SendRemoveWorldStates(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(NA_UI_HORDE_GUARDS_SHOW, 0);
|
||||
player->SendUpdateWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 0);
|
||||
player->SendUpdateWorldState(NA_UI_GUARDS_MAX, 0);
|
||||
player->SendUpdateWorldState(NA_UI_GUARDS_LEFT, 0);
|
||||
player->SendUpdateWorldState(NA_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(NA_UI_TOWER_SLIDER_POS, 0);
|
||||
player->SendUpdateWorldState(NA_UI_TOWER_SLIDER_N, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_NEU_H, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_NEU_A, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_H, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_A, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_NEU_H, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_NEU_A, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_H, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_A, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_WEST_NEU_H, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_WEST_NEU_A, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_WEST_H, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_WEST_A, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_EAST_NEU_H, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_EAST_NEU_A, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_EAST_H, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_WYVERN_EAST_A, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_HALAA_NEUTRAL, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_HALAA_NEU_A, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_HALAA_NEU_H, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_HALAA_HORDE, 0);
|
||||
player->SendUpdateWorldState(NA_MAP_HALAA_ALLIANCE, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_HORDE_GUARDS_SHOW, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_ALLIANCE_GUARDS_SHOW, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_GUARDS_MAX, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_POS, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_SLIDER_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_HALAA_NEUTRAL, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_HALAA_HORDE, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_HALAA_ALLIANCE, 0);
|
||||
}
|
||||
|
||||
bool OutdoorPvPNA::Update(uint32 diff)
|
||||
|
|
@ -640,7 +641,7 @@ bool OPvPCapturePointNA::Update(uint32 diff)
|
|||
else
|
||||
m_capturable = false;
|
||||
// update the guard count for the players in zone
|
||||
_pvp->SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
}
|
||||
}
|
||||
else m_GuardCheckTimer -= diff;
|
||||
|
|
@ -774,7 +775,7 @@ bool OPvPCapturePointNA::Update(uint32 diff)
|
|||
}
|
||||
}
|
||||
else
|
||||
SendUpdateWorldState(NA_UI_TOWER_SLIDER_DISPLAY, 0); //Point is not capturable so we hide the slider
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY, 0); //Point is not capturable so we hide the slider
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -824,20 +825,20 @@ void OPvPCapturePointNA::ChangeState()
|
|||
void OPvPCapturePointNA::SendChangePhase()
|
||||
{
|
||||
// send this too, sometimes the slider disappears, dunno why :(
|
||||
SendUpdateWorldState(NA_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
// send these updates to only the ones in this objective
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
SendUpdateWorldState(NA_UI_TOWER_SLIDER_POS, phase);
|
||||
SendUpdateWorldState(NA_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_POS, phase);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_SLIDER_N, _neutralValuePct);
|
||||
}
|
||||
|
||||
void OPvPCapturePointNA::UpdateHalaaWorldState()
|
||||
{
|
||||
_pvp->SendUpdateWorldState(NA_MAP_HALAA_NEUTRAL, uint32(bool(m_HalaaState & HALAA_N)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_HALAA_NEU_A, uint32(bool(m_HalaaState & HALAA_N_A)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_HALAA_NEU_H, uint32(bool(m_HalaaState & HALAA_N_H)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_HALAA_HORDE, uint32(bool(m_HalaaState & HALAA_H)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_HALAA_ALLIANCE, uint32(bool(m_HalaaState & HALAA_A)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_HALAA_NEUTRAL, uint32(bool(m_HalaaState & HALAA_N)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_A, uint32(bool(m_HalaaState & HALAA_N_A)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_H, uint32(bool(m_HalaaState & HALAA_N_H)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_HALAA_HORDE, uint32(bool(m_HalaaState & HALAA_H)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_HALAA_ALLIANCE, uint32(bool(m_HalaaState & HALAA_A)));
|
||||
}
|
||||
|
||||
void OPvPCapturePointNA::UpdateWyvernRoostWorldState(uint32 roost)
|
||||
|
|
@ -845,28 +846,28 @@ void OPvPCapturePointNA::UpdateWyvernRoostWorldState(uint32 roost)
|
|||
switch (roost)
|
||||
{
|
||||
case NA_ROOST_S:
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_NEU_H, uint32(bool(m_WyvernStateSouth & WYVERN_NEU_HORDE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_NEU_A, uint32(bool(m_WyvernStateSouth & WYVERN_NEU_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_H, uint32(bool(m_WyvernStateSouth & WYVERN_HORDE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_A, uint32(bool(m_WyvernStateSouth & WYVERN_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_H, uint32(bool(m_WyvernStateSouth & WYVERN_NEU_HORDE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_A, uint32(bool(m_WyvernStateSouth & WYVERN_NEU_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_H, uint32(bool(m_WyvernStateSouth & WYVERN_HORDE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_A, uint32(bool(m_WyvernStateSouth & WYVERN_ALLIANCE)));
|
||||
break;
|
||||
case NA_ROOST_N:
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_NEU_H, uint32(bool(m_WyvernStateNorth & WYVERN_NEU_HORDE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_NEU_A, uint32(bool(m_WyvernStateNorth & WYVERN_NEU_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_H, uint32(bool(m_WyvernStateNorth & WYVERN_HORDE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_A, uint32(bool(m_WyvernStateNorth & WYVERN_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_H, uint32(bool(m_WyvernStateNorth & WYVERN_NEU_HORDE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_A, uint32(bool(m_WyvernStateNorth & WYVERN_NEU_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_H, uint32(bool(m_WyvernStateNorth & WYVERN_HORDE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_A, uint32(bool(m_WyvernStateNorth & WYVERN_ALLIANCE)));
|
||||
break;
|
||||
case NA_ROOST_W:
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_WEST_NEU_H, uint32(bool(m_WyvernStateWest & WYVERN_NEU_HORDE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_WEST_NEU_A, uint32(bool(m_WyvernStateWest & WYVERN_NEU_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_WEST_H, uint32(bool(m_WyvernStateWest & WYVERN_HORDE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_WEST_A, uint32(bool(m_WyvernStateWest & WYVERN_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_H, uint32(bool(m_WyvernStateWest & WYVERN_NEU_HORDE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_A, uint32(bool(m_WyvernStateWest & WYVERN_NEU_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_H, uint32(bool(m_WyvernStateWest & WYVERN_HORDE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_A, uint32(bool(m_WyvernStateWest & WYVERN_ALLIANCE)));
|
||||
break;
|
||||
case NA_ROOST_E:
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_EAST_NEU_H, uint32(bool(m_WyvernStateEast & WYVERN_NEU_HORDE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_EAST_NEU_A, uint32(bool(m_WyvernStateEast & WYVERN_NEU_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_EAST_H, uint32(bool(m_WyvernStateEast & WYVERN_HORDE)));
|
||||
_pvp->SendUpdateWorldState(NA_MAP_WYVERN_EAST_A, uint32(bool(m_WyvernStateEast & WYVERN_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_H, uint32(bool(m_WyvernStateEast & WYVERN_NEU_HORDE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_A, uint32(bool(m_WyvernStateEast & WYVERN_NEU_ALLIANCE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_H, uint32(bool(m_WyvernStateEast & WYVERN_HORDE)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_A, uint32(bool(m_WyvernStateEast & WYVERN_ALLIANCE)));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,44 +48,6 @@ const uint32 NA_GUARD_CHECK_TIME = 500; // every half second
|
|||
|
||||
const uint32 NA_HALAA_BOMB = 24538; // Item id Bomb throwed in Halaa
|
||||
|
||||
enum OutdoorPvPNAWorldStates
|
||||
{
|
||||
NA_UI_HORDE_GUARDS_SHOW = 2503,
|
||||
NA_UI_ALLIANCE_GUARDS_SHOW = 2502,
|
||||
NA_UI_GUARDS_MAX = 2493,
|
||||
NA_UI_GUARDS_LEFT = 2491,
|
||||
|
||||
NA_UI_TOWER_SLIDER_DISPLAY = 2495,
|
||||
NA_UI_TOWER_SLIDER_POS = 2494,
|
||||
NA_UI_TOWER_SLIDER_N = 2497,
|
||||
|
||||
NA_MAP_WYVERN_NORTH_NEU_H = 2762,
|
||||
NA_MAP_WYVERN_NORTH_NEU_A = 2662,
|
||||
NA_MAP_WYVERN_NORTH_H = 2663,
|
||||
NA_MAP_WYVERN_NORTH_A = 2664,
|
||||
|
||||
NA_MAP_WYVERN_SOUTH_NEU_H = 2760,
|
||||
NA_MAP_WYVERN_SOUTH_NEU_A = 2670,
|
||||
NA_MAP_WYVERN_SOUTH_H = 2668,
|
||||
NA_MAP_WYVERN_SOUTH_A = 2669,
|
||||
|
||||
NA_MAP_WYVERN_WEST_NEU_H = 2761,
|
||||
NA_MAP_WYVERN_WEST_NEU_A = 2667,
|
||||
NA_MAP_WYVERN_WEST_H = 2665,
|
||||
NA_MAP_WYVERN_WEST_A = 2666,
|
||||
|
||||
NA_MAP_WYVERN_EAST_NEU_H = 2763,
|
||||
NA_MAP_WYVERN_EAST_NEU_A = 2659,
|
||||
NA_MAP_WYVERN_EAST_H = 2660,
|
||||
NA_MAP_WYVERN_EAST_A = 2661,
|
||||
|
||||
NA_MAP_HALAA_NEUTRAL = 2671,
|
||||
NA_MAP_HALAA_NEU_A = 2676,
|
||||
NA_MAP_HALAA_NEU_H = 2677,
|
||||
NA_MAP_HALAA_HORDE = 2672,
|
||||
NA_MAP_HALAA_ALLIANCE = 2673
|
||||
};
|
||||
|
||||
const uint32 FLIGHT_NODES_NUM = 4;
|
||||
|
||||
// used to access the elements of Horde/AllyControlGOs
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
#include "World.h"
|
||||
#include "WorldPacket.h"
|
||||
#include "WorldSessionMgr.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "WorldStatePackets.h"
|
||||
|
||||
OutdoorPvPSI::OutdoorPvPSI()
|
||||
|
|
@ -42,23 +43,23 @@ OutdoorPvPSI::OutdoorPvPSI()
|
|||
void OutdoorPvPSI::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.reserve(3);
|
||||
packet.Worldstates.emplace_back(SI_GATHERED_A, m_Gathered_A);
|
||||
packet.Worldstates.emplace_back(SI_GATHERED_H, m_Gathered_H);
|
||||
packet.Worldstates.emplace_back(SI_SILITHYST_MAX, SI_MAX_RESOURCES);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_SI_GATHERED_A, m_Gathered_A);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_SI_GATHERED_H, m_Gathered_H);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_SI_SILITHYST_MAX, SI_MAX_RESOURCES);
|
||||
}
|
||||
|
||||
void OutdoorPvPSI::SendRemoveWorldStates(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(SI_GATHERED_A, 0);
|
||||
player->SendUpdateWorldState(SI_GATHERED_H, 0);
|
||||
player->SendUpdateWorldState(SI_SILITHYST_MAX, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_SI_GATHERED_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_SI_GATHERED_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_SI_SILITHYST_MAX, 0);
|
||||
}
|
||||
|
||||
void OutdoorPvPSI::UpdateWorldState()
|
||||
{
|
||||
SendUpdateWorldState(SI_GATHERED_A, m_Gathered_A);
|
||||
SendUpdateWorldState(SI_GATHERED_H, m_Gathered_H);
|
||||
SendUpdateWorldState(SI_SILITHYST_MAX, SI_MAX_RESOURCES);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_SI_GATHERED_A, m_Gathered_A);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_SI_GATHERED_H, m_Gathered_H);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_SI_SILITHYST_MAX, SI_MAX_RESOURCES);
|
||||
}
|
||||
|
||||
bool OutdoorPvPSI::SetupOutdoorPvP()
|
||||
|
|
|
|||
|
|
@ -44,13 +44,6 @@ const uint32 SI_TURNIN_QUEST_CM_H = 18199;
|
|||
|
||||
const uint32 SI_SILITHYST_MOUND = 181597;
|
||||
|
||||
enum SI_WorldStates
|
||||
{
|
||||
SI_GATHERED_A = 2313,
|
||||
SI_GATHERED_H = 2314,
|
||||
SI_SILITHYST_MAX = 2317
|
||||
};
|
||||
|
||||
class OutdoorPvPSI : public OutdoorPvP
|
||||
{
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -63,19 +63,19 @@ void OPvPCapturePointTF::FillInitialWorldStates(WorldPackets::WorldState::InitWo
|
|||
void OutdoorPvPTF::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.reserve(12);
|
||||
packet.Worldstates.emplace_back(TF_UI_TOWER_SLIDER_POS, 50);
|
||||
packet.Worldstates.emplace_back(TF_UI_TOWER_SLIDER_N, 100);
|
||||
packet.Worldstates.emplace_back(TF_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_POS, 50);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_N, 100);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
|
||||
packet.Worldstates.emplace_back(TF_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
packet.Worldstates.emplace_back(TF_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
packet.Worldstates.emplace_back(TF_UI_TOWERS_CONTROLLED_DISPLAY, !m_IsLocked);
|
||||
packet.Worldstates.emplace_back(TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT, first_digit);
|
||||
packet.Worldstates.emplace_back(TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT, second_digit);
|
||||
packet.Worldstates.emplace_back(TF_UI_LOCKED_TIME_HOURS, hours_left);
|
||||
packet.Worldstates.emplace_back(TF_UI_LOCKED_DISPLAY_NEUTRAL, (m_IsLocked && !m_HordeTowersControlled && !m_AllianceTowersControlled) ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(TF_UI_LOCKED_DISPLAY_HORDE, (m_IsLocked && (m_HordeTowersControlled > m_AllianceTowersControlled)) ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(TF_UI_LOCKED_DISPLAY_ALLIANCE, (m_IsLocked && (m_HordeTowersControlled < m_AllianceTowersControlled)) ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_TOWERS_CONTROLLED_DISPLAY, !m_IsLocked);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT, first_digit);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT, second_digit);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_HOURS, hours_left);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_NEUTRAL, (m_IsLocked && !m_HordeTowersControlled && !m_AllianceTowersControlled) ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_HORDE, (m_IsLocked && (m_HordeTowersControlled > m_AllianceTowersControlled)) ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_ALLIANCE, (m_IsLocked && (m_HordeTowersControlled < m_AllianceTowersControlled)) ? 1 : 0);
|
||||
|
||||
for (OPvPCapturePointMap::iterator itr = _capturePoints.begin(); itr != _capturePoints.end(); ++itr)
|
||||
{
|
||||
|
|
@ -85,21 +85,21 @@ void OutdoorPvPTF::FillInitialWorldStates(WorldPackets::WorldState::InitWorldSta
|
|||
|
||||
void OutdoorPvPTF::SendRemoveWorldStates(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(TF_UI_TOWER_SLIDER_POS, uint32(0));
|
||||
player->SendUpdateWorldState(TF_UI_TOWER_SLIDER_N, uint32(0));
|
||||
player->SendUpdateWorldState(TF_UI_TOWER_SLIDER_DISPLAY, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_POS, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_N, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_DISPLAY, uint32(0));
|
||||
|
||||
player->SendUpdateWorldState(TF_UI_TOWER_COUNT_H, uint32(0));
|
||||
player->SendUpdateWorldState(TF_UI_TOWER_COUNT_A, uint32(0));
|
||||
player->SendUpdateWorldState(TF_UI_TOWERS_CONTROLLED_DISPLAY, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_H, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_A, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWERS_CONTROLLED_DISPLAY, uint32(0));
|
||||
|
||||
player->SendUpdateWorldState(TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT, uint32(0));
|
||||
player->SendUpdateWorldState(TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT, uint32(0));
|
||||
player->SendUpdateWorldState(TF_UI_LOCKED_TIME_HOURS, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_HOURS, uint32(0));
|
||||
|
||||
player->SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_NEUTRAL, uint32(0));
|
||||
player->SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_HORDE, uint32(0));
|
||||
player->SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_ALLIANCE, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_NEUTRAL, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_HORDE, uint32(0));
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_ALLIANCE, uint32(0));
|
||||
|
||||
for (int i = 0; i < TF_TOWER_NUM; ++i)
|
||||
{
|
||||
|
|
@ -111,14 +111,14 @@ void OutdoorPvPTF::SendRemoveWorldStates(Player* player)
|
|||
|
||||
void OutdoorPvPTF::SaveRequiredWorldStates() const
|
||||
{
|
||||
sWorld->setWorldState(TF_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
sWorld->setWorldState(TF_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
sWorld->setWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
sWorld->setWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
|
||||
sWorld->setWorldState(TF_UI_TOWERS_CONTROLLED_DISPLAY, m_IsLocked);
|
||||
sWorld->setWorldState(WORLD_STATE_OPVP_TF_UI_TOWERS_CONTROLLED_DISPLAY, m_IsLocked);
|
||||
|
||||
// Save expiry as unix
|
||||
uint32 const lockExpireTime = GameTime::GetGameTime().count() + (m_LockTimer / IN_MILLISECONDS);
|
||||
sWorld->setWorldState(TF_UI_LOCKED_TIME_HOURS, lockExpireTime);
|
||||
sWorld->setWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_HOURS, lockExpireTime);
|
||||
}
|
||||
|
||||
void OutdoorPvPTF::ResetZoneToTeamControlled(TeamId team)
|
||||
|
|
@ -144,8 +144,8 @@ void OutdoorPvPTF::ResetZoneToTeamControlled(TeamId team)
|
|||
dynamic_cast<OPvPCapturePointTF*>(tower)->ResetToTeamControlled(team);
|
||||
}
|
||||
|
||||
SendUpdateWorldState(TF_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
SendUpdateWorldState(TF_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
}
|
||||
|
||||
void OPvPCapturePointTF::ResetToTeamControlled(TeamId team)
|
||||
|
|
@ -185,10 +185,10 @@ bool OPvPCapturePointTF::HandlePlayerEnter(Player* player)
|
|||
{
|
||||
if (OPvPCapturePoint::HandlePlayerEnter(player))
|
||||
{
|
||||
player->SendUpdateWorldState(TF_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
player->SendUpdateWorldState(TF_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(TF_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_POS, phase);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -196,7 +196,7 @@ bool OPvPCapturePointTF::HandlePlayerEnter(Player* player)
|
|||
|
||||
void OPvPCapturePointTF::HandlePlayerLeave(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(TF_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_DISPLAY, 0);
|
||||
OPvPCapturePoint::HandlePlayerLeave(player);
|
||||
}
|
||||
|
||||
|
|
@ -211,20 +211,20 @@ bool OutdoorPvPTF::Update(uint32 diff)
|
|||
TeamApplyBuff(TEAM_ALLIANCE, TF_CAPTURE_BUFF);
|
||||
m_IsLocked = true;
|
||||
m_JustLocked = true;
|
||||
SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_NEUTRAL, uint32(0));
|
||||
SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_HORDE, uint32(0));
|
||||
SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_ALLIANCE, uint32(1));
|
||||
SendUpdateWorldState(TF_UI_TOWERS_CONTROLLED_DISPLAY, uint32(0));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_NEUTRAL, uint32(0));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_HORDE, uint32(0));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_ALLIANCE, uint32(1));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWERS_CONTROLLED_DISPLAY, uint32(0));
|
||||
}
|
||||
else if (m_HordeTowersControlled == TF_TOWER_NUM)
|
||||
{
|
||||
TeamApplyBuff(TEAM_HORDE, TF_CAPTURE_BUFF);
|
||||
m_IsLocked = true;
|
||||
m_JustLocked = true;
|
||||
SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_NEUTRAL, uint32(0));
|
||||
SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_HORDE, uint32(1));
|
||||
SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_ALLIANCE, uint32(0));
|
||||
SendUpdateWorldState(TF_UI_TOWERS_CONTROLLED_DISPLAY, uint32(0));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_NEUTRAL, uint32(0));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_HORDE, uint32(1));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_ALLIANCE, uint32(0));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWERS_CONTROLLED_DISPLAY, uint32(0));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -232,8 +232,8 @@ bool OutdoorPvPTF::Update(uint32 diff)
|
|||
TeamCastSpell(TEAM_HORDE, -TF_CAPTURE_BUFF);
|
||||
}
|
||||
|
||||
SendUpdateWorldState(TF_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
SendUpdateWorldState(TF_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
}
|
||||
|
||||
if (m_IsLocked)
|
||||
|
|
@ -254,10 +254,10 @@ bool OutdoorPvPTF::Update(uint32 diff)
|
|||
ResetZoneToTeamControlled(TEAM_NEUTRAL);
|
||||
SaveRequiredWorldStates();
|
||||
|
||||
SendUpdateWorldState(TF_UI_TOWERS_CONTROLLED_DISPLAY, uint32(1));
|
||||
SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_NEUTRAL, uint32(0));
|
||||
SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_HORDE, uint32(0));
|
||||
SendUpdateWorldState(TF_UI_LOCKED_DISPLAY_ALLIANCE, uint32(0));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWERS_CONTROLLED_DISPLAY, uint32(1));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_NEUTRAL, uint32(0));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_HORDE, uint32(0));
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_DISPLAY_ALLIANCE, uint32(0));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -267,9 +267,9 @@ bool OutdoorPvPTF::Update(uint32 diff)
|
|||
m_LockTimerUpdate = TF_LOCK_TIME_UPDATE;
|
||||
RecalculateClientUILockTime();
|
||||
|
||||
SendUpdateWorldState(TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT, first_digit);
|
||||
SendUpdateWorldState(TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT, second_digit);
|
||||
SendUpdateWorldState(TF_UI_LOCKED_TIME_HOURS, hours_left);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT, first_digit);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT, second_digit);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_HOURS, hours_left);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -335,7 +335,7 @@ bool OutdoorPvPTF::SetupOutdoorPvP()
|
|||
m_AllianceTowersControlled = 0;
|
||||
m_HordeTowersControlled = 0;
|
||||
|
||||
m_IsLocked = bool(sWorld->getWorldState(TF_UI_TOWERS_CONTROLLED_DISPLAY));
|
||||
m_IsLocked = bool(sWorld->getWorldState(WORLD_STATE_OPVP_TF_UI_TOWERS_CONTROLLED_DISPLAY));
|
||||
m_JustLocked = false;
|
||||
m_LockTimer = TF_LOCK_TIME;
|
||||
m_LockTimerUpdate = 0;
|
||||
|
|
@ -359,14 +359,14 @@ bool OutdoorPvPTF::SetupOutdoorPvP()
|
|||
{
|
||||
// Core shutdown while locked -- init from latest known data in WorldState
|
||||
// Convert from unix
|
||||
int32 const lockRemainingTime = int32((sWorld->getWorldState(TF_UI_LOCKED_TIME_HOURS) - GameTime::GetGameTime().count()) * IN_MILLISECONDS);
|
||||
int32 const lockRemainingTime = int32((sWorld->getWorldState(WORLD_STATE_OPVP_TF_UI_LOCKED_TIME_HOURS) - GameTime::GetGameTime().count()) * IN_MILLISECONDS);
|
||||
if (lockRemainingTime > 0)
|
||||
{
|
||||
m_LockTimer = lockRemainingTime;
|
||||
RecalculateClientUILockTime();
|
||||
|
||||
uint32 const hordeTowers = uint32(sWorld->getWorldState(TF_UI_TOWER_COUNT_H));
|
||||
uint32 const allianceTowers = uint32(sWorld->getWorldState(TF_UI_TOWER_COUNT_A));
|
||||
uint32 const hordeTowers = uint32(sWorld->getWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_H));
|
||||
uint32 const allianceTowers = uint32(sWorld->getWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_COUNT_A));
|
||||
TeamId const controllingTeam = hordeTowers > allianceTowers ? TEAM_HORDE : TEAM_ALLIANCE;
|
||||
|
||||
ResetZoneToTeamControlled(controllingTeam);
|
||||
|
|
@ -462,12 +462,12 @@ void OPvPCapturePointTF::ChangeState()
|
|||
void OPvPCapturePointTF::SendChangePhase()
|
||||
{
|
||||
// send this too, sometimes the slider disappears, dunno why :(
|
||||
SendUpdateWorldState(TF_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_DISPLAY, 1);
|
||||
// send these updates to only the ones in this objective
|
||||
uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
|
||||
SendUpdateWorldState(TF_UI_TOWER_SLIDER_POS, phase);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_POS, phase);
|
||||
// send this too, sometimes it resets :S
|
||||
SendUpdateWorldState(TF_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
SendUpdateWorldState(WORLD_STATE_OPVP_TF_UI_TOWER_SLIDER_N, _neutralValuePct);
|
||||
}
|
||||
|
||||
class OutdoorPvP_terokkar_forest : public OutdoorPvPScript
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#define OUTDOOR_PVP_TF_
|
||||
|
||||
#include "OutdoorPvP.h"
|
||||
#include "WorldStateDefines.h"
|
||||
|
||||
const uint8 OutdoorPvPTFBuffZonesNum = 5;
|
||||
|
||||
|
|
@ -71,11 +72,11 @@ struct tf_tower_world_state
|
|||
|
||||
const tf_tower_world_state TFTowerWorldStates[TF_TOWER_NUM] =
|
||||
{
|
||||
{0xa79, 0xa7a, 0xa7b},
|
||||
{0xa7e, 0xa7d, 0xa7c},
|
||||
{0xa82, 0xa81, 0xa80},
|
||||
{0xa88, 0xa87, 0xa86},
|
||||
{0xa85, 0xa84, 0xa83}
|
||||
{WORLD_STATE_OPVP_TF_TOWER_NUM_00, WORLD_STATE_OPVP_TF_TOWER_NUM_01, WORLD_STATE_OPVP_TF_TOWER_NUM_02},
|
||||
{WORLD_STATE_OPVP_TF_TOWER_NUM_05, WORLD_STATE_OPVP_TF_TOWER_NUM_04, WORLD_STATE_OPVP_TF_TOWER_NUM_03},
|
||||
{WORLD_STATE_OPVP_TF_TOWER_NUM_08, WORLD_STATE_OPVP_TF_TOWER_NUM_07, WORLD_STATE_OPVP_TF_TOWER_NUM_06},
|
||||
{WORLD_STATE_OPVP_TF_TOWER_NUM_14, WORLD_STATE_OPVP_TF_TOWER_NUM_13, WORLD_STATE_OPVP_TF_TOWER_NUM_12},
|
||||
{WORLD_STATE_OPVP_TF_TOWER_NUM_11, WORLD_STATE_OPVP_TF_TOWER_NUM_10, WORLD_STATE_OPVP_TF_TOWER_NUM_09}
|
||||
};
|
||||
|
||||
//const uint32 TFTowerPlayerEnterEvents[TF_TOWER_NUM] =
|
||||
|
|
@ -96,24 +97,6 @@ const tf_tower_world_state TFTowerWorldStates[TF_TOWER_NUM] =
|
|||
// 12500
|
||||
//};
|
||||
|
||||
enum TFWorldStates
|
||||
{
|
||||
TF_UI_TOWER_SLIDER_POS = 0xa41,
|
||||
TF_UI_TOWER_SLIDER_N = 0xa40,
|
||||
TF_UI_TOWER_SLIDER_DISPLAY = 0xa3f,
|
||||
|
||||
TF_UI_TOWER_COUNT_H = 0xa3e,
|
||||
TF_UI_TOWER_COUNT_A = 0xa3d,
|
||||
TF_UI_TOWERS_CONTROLLED_DISPLAY = 0xa3c,
|
||||
|
||||
TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT = 0x9d0,
|
||||
TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT = 0x9ce,
|
||||
TF_UI_LOCKED_TIME_HOURS = 0x9cd,
|
||||
TF_UI_LOCKED_DISPLAY_NEUTRAL = 0x9cc,
|
||||
TF_UI_LOCKED_DISPLAY_HORDE = 0xad0,
|
||||
TF_UI_LOCKED_DISPLAY_ALLIANCE = 0xacf
|
||||
};
|
||||
|
||||
enum TFTowerStates
|
||||
{
|
||||
TF_TOWERSTATE_N = 1,
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include "World.h"
|
||||
#include "WorldPacket.h"
|
||||
#include "WorldSessionMgr.h"
|
||||
#include "WorldStateDefines.h"
|
||||
#include "WorldStatePackets.h"
|
||||
|
||||
OPvPCapturePointZM_Beacon::OPvPCapturePointZM_Beacon(OutdoorPvP* pvp, ZM_BeaconType type)
|
||||
|
|
@ -269,26 +270,26 @@ OPvPCapturePointZM_Graveyard::OPvPCapturePointZM_Graveyard(OutdoorPvP* pvp)
|
|||
|
||||
void OPvPCapturePointZM_Graveyard::UpdateTowerState()
|
||||
{
|
||||
_pvp->SendUpdateWorldState(ZM_MAP_GRAVEYARD_N, uint32(bool(m_GraveyardState & ZM_GRAVEYARD_N)));
|
||||
_pvp->SendUpdateWorldState(ZM_MAP_GRAVEYARD_H, uint32(bool(m_GraveyardState & ZM_GRAVEYARD_H)));
|
||||
_pvp->SendUpdateWorldState(ZM_MAP_GRAVEYARD_A, uint32(bool(m_GraveyardState & ZM_GRAVEYARD_A)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_N, uint32(bool(m_GraveyardState & ZM_GRAVEYARD_N)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_H, uint32(bool(m_GraveyardState & ZM_GRAVEYARD_H)));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_A, uint32(bool(m_GraveyardState & ZM_GRAVEYARD_A)));
|
||||
|
||||
_pvp->SendUpdateWorldState(ZM_MAP_ALLIANCE_FLAG_READY, uint32(m_BothControllingFactionId == TEAM_ALLIANCE));
|
||||
_pvp->SendUpdateWorldState(ZM_MAP_ALLIANCE_FLAG_NOT_READY, uint32(m_BothControllingFactionId != TEAM_ALLIANCE));
|
||||
_pvp->SendUpdateWorldState(ZM_MAP_HORDE_FLAG_READY, uint32(m_BothControllingFactionId == TEAM_HORDE));
|
||||
_pvp->SendUpdateWorldState(ZM_MAP_HORDE_FLAG_NOT_READY, uint32(m_BothControllingFactionId != TEAM_HORDE));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_READY, uint32(m_BothControllingFactionId == TEAM_ALLIANCE));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_NOT_READY, uint32(m_BothControllingFactionId != TEAM_ALLIANCE));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_READY, uint32(m_BothControllingFactionId == TEAM_HORDE));
|
||||
_pvp->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_NOT_READY, uint32(m_BothControllingFactionId != TEAM_HORDE));
|
||||
}
|
||||
|
||||
void OPvPCapturePointZM_Graveyard::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.reserve(7);
|
||||
packet.Worldstates.emplace_back(ZM_MAP_GRAVEYARD_N, (m_GraveyardState & ZM_GRAVEYARD_N) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZM_MAP_GRAVEYARD_H, (m_GraveyardState & ZM_GRAVEYARD_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZM_MAP_GRAVEYARD_A, (m_GraveyardState & ZM_GRAVEYARD_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZM_MAP_ALLIANCE_FLAG_READY, m_BothControllingFactionId == TEAM_ALLIANCE ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZM_MAP_ALLIANCE_FLAG_NOT_READY, m_BothControllingFactionId != TEAM_ALLIANCE ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZM_MAP_HORDE_FLAG_READY, m_BothControllingFactionId == TEAM_HORDE ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZM_MAP_HORDE_FLAG_NOT_READY, m_BothControllingFactionId != TEAM_HORDE ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_N, (m_GraveyardState & ZM_GRAVEYARD_N) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_H, (m_GraveyardState & ZM_GRAVEYARD_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_A, (m_GraveyardState & ZM_GRAVEYARD_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_READY, m_BothControllingFactionId == TEAM_ALLIANCE ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_NOT_READY, m_BothControllingFactionId != TEAM_ALLIANCE ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_READY, m_BothControllingFactionId == TEAM_HORDE ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_NOT_READY, m_BothControllingFactionId != TEAM_HORDE ? 1 : 0);
|
||||
}
|
||||
|
||||
void OPvPCapturePointZM_Graveyard::SetBeaconState(TeamId controlling_factionId)
|
||||
|
|
@ -417,7 +418,7 @@ void OutdoorPvPZM::SetHordeTowersControlled(uint32 count)
|
|||
|
||||
void OutdoorPvPZM::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.emplace_back(ZM_WORLDSTATE_UNK_1, 1);
|
||||
packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UNK, 1);
|
||||
for (OPvPCapturePointMap::iterator itr = _capturePoints.begin(); itr != _capturePoints.end(); ++itr)
|
||||
{
|
||||
itr->second->FillInitialWorldStates(packet);
|
||||
|
|
@ -426,32 +427,32 @@ void OutdoorPvPZM::FillInitialWorldStates(WorldPackets::WorldState::InitWorldSta
|
|||
|
||||
void OutdoorPvPZM::SendRemoveWorldStates(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_SLIDER_N_W, 0);
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_SLIDER_POS_W, 0);
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_SLIDER_DISPLAY_W, 0);
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_SLIDER_N_E, 0);
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_SLIDER_POS_E, 0);
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_SLIDER_DISPLAY_E, 0);
|
||||
player->SendUpdateWorldState(ZM_WORLDSTATE_UNK_1, 1);
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_EAST_N, 0);
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_EAST_H, 0);
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_EAST_A, 0);
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_WEST_N, 0);
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_WEST_H, 0);
|
||||
player->SendUpdateWorldState(ZM_UI_TOWER_WEST_A, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_TOWER_EAST_N, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_TOWER_EAST_H, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_TOWER_EAST_A, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_GRAVEYARD_H, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_GRAVEYARD_A, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_GRAVEYARD_N, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_TOWER_WEST_N, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_TOWER_WEST_H, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_TOWER_WEST_A, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_HORDE_FLAG_READY, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_HORDE_FLAG_NOT_READY, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_ALLIANCE_FLAG_NOT_READY, 0);
|
||||
player->SendUpdateWorldState(ZM_MAP_ALLIANCE_FLAG_READY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_N_W, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_POS_W, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_DISPLAY_W, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_N_E, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_POS_E, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_DISPLAY_E, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UNK, 1);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_N, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_H, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_A, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_READY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_NOT_READY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_NOT_READY, 0);
|
||||
player->SendUpdateWorldState(WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_READY, 0);
|
||||
}
|
||||
|
||||
class OutdoorPvP_zangarmarsh : public OutdoorPvPScript
|
||||
|
|
|
|||
|
|
@ -122,41 +122,6 @@ const go_type ZMCapturePoints[ZM_NUM_BEACONS] =
|
|||
{182522, 530, 336.466f, 7340.26f, 41.4984f, -1.58825f, 0.0f, 0.0f, 0.71325f, -0.700909f}
|
||||
};
|
||||
|
||||
enum OutdoorPvPZMWorldStates
|
||||
{
|
||||
ZM_UI_TOWER_SLIDER_N_W = 2529,
|
||||
ZM_UI_TOWER_SLIDER_POS_W = 2528,
|
||||
ZM_UI_TOWER_SLIDER_DISPLAY_W = 2527,
|
||||
|
||||
ZM_UI_TOWER_SLIDER_N_E = 2535,
|
||||
ZM_UI_TOWER_SLIDER_POS_E = 2534,
|
||||
ZM_UI_TOWER_SLIDER_DISPLAY_E = 2533,
|
||||
|
||||
ZM_WORLDSTATE_UNK_1 = 2653,
|
||||
|
||||
ZM_UI_TOWER_EAST_N = 2560,
|
||||
ZM_UI_TOWER_EAST_H = 2559,
|
||||
ZM_UI_TOWER_EAST_A = 2558,
|
||||
ZM_UI_TOWER_WEST_N = 2557,
|
||||
ZM_UI_TOWER_WEST_H = 2556,
|
||||
ZM_UI_TOWER_WEST_A = 2555,
|
||||
|
||||
ZM_MAP_TOWER_EAST_N = 2652,
|
||||
ZM_MAP_TOWER_EAST_H = 2651,
|
||||
ZM_MAP_TOWER_EAST_A = 2650,
|
||||
ZM_MAP_GRAVEYARD_H = 2649,
|
||||
ZM_MAP_GRAVEYARD_A = 2648,
|
||||
ZM_MAP_GRAVEYARD_N = 2647,
|
||||
ZM_MAP_TOWER_WEST_N = 2646,
|
||||
ZM_MAP_TOWER_WEST_H = 2645,
|
||||
ZM_MAP_TOWER_WEST_A = 2644,
|
||||
|
||||
ZM_MAP_HORDE_FLAG_READY = 2658,
|
||||
ZM_MAP_HORDE_FLAG_NOT_READY = 2657,
|
||||
ZM_MAP_ALLIANCE_FLAG_NOT_READY = 2656,
|
||||
ZM_MAP_ALLIANCE_FLAG_READY = 2655
|
||||
};
|
||||
|
||||
enum ZM_TowerStateMask
|
||||
{
|
||||
ZM_TOWERSTATE_N = 1,
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
#include "TaskScheduler.h"
|
||||
#include "WaypointMgr.h"
|
||||
#include "World.h"
|
||||
#include "WorldStateDefines.h"
|
||||
|
||||
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
|
|
@ -186,17 +187,6 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* Stranglethorn Vale Fishing Extravaganza World States
|
||||
*/
|
||||
enum FishingExtravaganzaWorldStates
|
||||
{
|
||||
STV_FISHING_PREV_WIN_TIME = 197,
|
||||
STV_FISHING_HAS_WINNER = 198,
|
||||
STV_FISHING_ANNOUNCE_EVENT_BEGIN = 199,
|
||||
STV_FISHING_ANNOUNCE_POOLS_DESPAN = 200
|
||||
};
|
||||
|
||||
enum RiggleBassbait
|
||||
{
|
||||
RIGGLE_SAY_START = 0,
|
||||
|
|
@ -222,13 +212,13 @@ public:
|
|||
npc_riggle_bassbaitAI(Creature* c) : ScriptedAI(c)
|
||||
{
|
||||
m_uiTimer = 0;
|
||||
auto prevWinTime = sWorld->getWorldState(STV_FISHING_PREV_WIN_TIME);
|
||||
auto prevWinTime = sWorld->getWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_PREV_WIN_TIME);
|
||||
if (GameTime::GetGameTime().count() - prevWinTime > DAY)
|
||||
{
|
||||
// reset all after 1 day
|
||||
sWorld->setWorldState(STV_FISHING_ANNOUNCE_EVENT_BEGIN, 1);
|
||||
sWorld->setWorldState(STV_FISHING_ANNOUNCE_POOLS_DESPAN, 0);
|
||||
sWorld->setWorldState(STV_FISHING_HAS_WINNER, 0);
|
||||
sWorld->setWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_ANNOUNCE_EVENT_BEGIN, 1);
|
||||
sWorld->setWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_ANNOUNCE_POOLS_DESPAWN, 0);
|
||||
sWorld->setWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_HAS_WINNER, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -236,16 +226,16 @@ public:
|
|||
|
||||
void CheckTournamentState() const
|
||||
{
|
||||
if (sGameEventMgr->IsActiveEvent(EVENT_FISHING_TURN_INS) && !sWorld->getWorldState(STV_FISHING_HAS_WINNER))
|
||||
if (sGameEventMgr->IsActiveEvent(EVENT_FISHING_TURN_INS) && !sWorld->getWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_HAS_WINNER))
|
||||
{
|
||||
if (!me->IsQuestGiver())
|
||||
{
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
}
|
||||
if (sWorld->getWorldState(STV_FISHING_ANNOUNCE_EVENT_BEGIN))
|
||||
if (sWorld->getWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_ANNOUNCE_EVENT_BEGIN))
|
||||
{
|
||||
me->AI()->Talk(RIGGLE_SAY_START);
|
||||
sWorld->setWorldState(STV_FISHING_ANNOUNCE_EVENT_BEGIN, 0);
|
||||
sWorld->setWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_ANNOUNCE_EVENT_BEGIN, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -258,14 +248,14 @@ public:
|
|||
if (sGameEventMgr->IsActiveEvent(EVENT_FISHING_POOLS))
|
||||
{
|
||||
// enable announcement: when pools despawn
|
||||
sWorld->setWorldState(STV_FISHING_ANNOUNCE_POOLS_DESPAN, 1);
|
||||
sWorld->setWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_ANNOUNCE_POOLS_DESPAWN, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sWorld->getWorldState(STV_FISHING_ANNOUNCE_POOLS_DESPAN))
|
||||
if (sWorld->getWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_ANNOUNCE_POOLS_DESPAWN))
|
||||
{
|
||||
me->AI()->Talk(RIGGLE_SAY_POOLS_END);
|
||||
sWorld->setWorldState(STV_FISHING_ANNOUNCE_POOLS_DESPAN, 0);
|
||||
sWorld->setWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_ANNOUNCE_POOLS_DESPAWN, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -291,7 +281,7 @@ public:
|
|||
player->PrepareQuestMenu(creature->GetGUID());
|
||||
}
|
||||
|
||||
if (sWorld->getWorldState(STV_FISHING_HAS_WINNER))
|
||||
if (sWorld->getWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_HAS_WINNER))
|
||||
{
|
||||
SendGossipMenuFor(player, GOSSIP_EVENT_OVER, creature->GetGUID());
|
||||
}
|
||||
|
|
@ -308,8 +298,8 @@ public:
|
|||
{
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->AI()->Talk(RIGGLE_SAY_WINNER, player);
|
||||
sWorld->setWorldState(STV_FISHING_PREV_WIN_TIME, GameTime::GetGameTime().count());
|
||||
sWorld->setWorldState(STV_FISHING_HAS_WINNER, 1);
|
||||
sWorld->setWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_PREV_WIN_TIME, GameTime::GetGameTime().count());
|
||||
sWorld->setWorldState(WORLD_STATE_STRANGLETHORN_VALE_FISHING_HAS_WINNER, 1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue