mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/WorldStates: Migrate OutdoorPvP worldstates to new system
This commit is contained in:
@@ -27,9 +27,9 @@ uint32 const OutdoorPvPHPBuffZones[OutdoorPvPHPBuffZonesNum] = { 3483, 3563, 356
|
||||
uint32 const HP_CREDITMARKER[HP_TOWER_NUM] = { 19032, 19028, 19029 };
|
||||
//uint32 const HP_CapturePointEvent_Enter[HP_TOWER_NUM] = { 11404, 11396, 11388 };
|
||||
//uint32 const HP_CapturePointEvent_Leave[HP_TOWER_NUM] = { 11403, 11395, 11387 };
|
||||
uint32 const HP_MAP_N[HP_TOWER_NUM] = { 0x9b5, 0x9b2, 0x9a8 };
|
||||
uint32 const HP_MAP_A[HP_TOWER_NUM] = { 0x9b3, 0x9b0, 0x9a7 };
|
||||
uint32 const HP_MAP_H[HP_TOWER_NUM] = { 0x9b4, 0x9b1, 0x9a6 };
|
||||
uint32 const HP_MAP_N[HP_TOWER_NUM] = { 2485, 2482, 2472 };
|
||||
uint32 const HP_MAP_A[HP_TOWER_NUM] = { 2483, 2480, 2471 };
|
||||
uint32 const HP_MAP_H[HP_TOWER_NUM] = { 2484, 2481, 2470 };
|
||||
uint32 const HP_TowerArtKit_A[HP_TOWER_NUM] = { 65, 62, 67 };
|
||||
uint32 const HP_TowerArtKit_H[HP_TOWER_NUM] = { 64, 61, 68 };
|
||||
uint32 const HP_TowerArtKit_N[HP_TOWER_NUM] = { 66, 63, 69 };
|
||||
@@ -126,36 +126,31 @@ 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);
|
||||
SetWorldState(HP_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
SetWorldState(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);
|
||||
WorldPackets::WorldState::InitWorldStates initWorldStates;
|
||||
initWorldStates.MapID = player->GetMapId();
|
||||
initWorldStates.AreaID = player->GetZoneId();
|
||||
initWorldStates.SubareaID = player->GetAreaId();
|
||||
initWorldStates.Worldstates.emplace_back(HP_UI_TOWER_DISPLAY_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(HP_UI_TOWER_DISPLAY_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(HP_UI_TOWER_COUNT_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(HP_UI_TOWER_COUNT_A, 0);
|
||||
|
||||
for (int i = 0; i < HP_TOWER_NUM; ++i)
|
||||
for (size_t i = 0; i < HP_TOWER_NUM; ++i)
|
||||
{
|
||||
player->SendUpdateWorldState(HP_MAP_N[i], 0);
|
||||
player->SendUpdateWorldState(HP_MAP_A[i], 0);
|
||||
player->SendUpdateWorldState(HP_MAP_H[i], 0);
|
||||
initWorldStates.Worldstates.emplace_back(HP_MAP_N[i], 0);
|
||||
initWorldStates.Worldstates.emplace_back(HP_MAP_A[i], 0);
|
||||
initWorldStates.Worldstates.emplace_back(HP_MAP_H[i], 0);
|
||||
}
|
||||
}
|
||||
|
||||
void OutdoorPvPHP::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
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);
|
||||
|
||||
for (OPvPCapturePointMap::iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr)
|
||||
itr->second->FillInitialWorldStates(packet);
|
||||
player->SendDirectMessage(initWorldStates.Write());
|
||||
}
|
||||
|
||||
void OPvPCapturePointHP::ChangeState()
|
||||
@@ -193,7 +188,7 @@ void OPvPCapturePointHP::ChangeState()
|
||||
// send world state update
|
||||
if (field)
|
||||
{
|
||||
m_PvP->SendUpdateWorldState(field, 0);
|
||||
m_PvP->SetWorldState(field, 0);
|
||||
field = 0;
|
||||
}
|
||||
uint32 artkit = 21;
|
||||
@@ -254,40 +249,13 @@ void OPvPCapturePointHP::ChangeState()
|
||||
|
||||
// send world state update
|
||||
if (field)
|
||||
m_PvP->SendUpdateWorldState(field, 1);
|
||||
m_PvP->SetWorldState(field, 1);
|
||||
|
||||
// complete quest objective
|
||||
if (m_State == OBJECTIVESTATE_ALLIANCE || m_State == OBJECTIVESTATE_HORDE)
|
||||
SendObjectiveComplete(HP_CREDITMARKER[m_TowerType], ObjectGuid::Empty);
|
||||
}
|
||||
|
||||
void OPvPCapturePointHP::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
switch (m_State)
|
||||
{
|
||||
case OBJECTIVESTATE_ALLIANCE:
|
||||
case OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE:
|
||||
packet.Worldstates.emplace_back(HP_MAP_N[m_TowerType], 0);
|
||||
packet.Worldstates.emplace_back(HP_MAP_A[m_TowerType], 1);
|
||||
packet.Worldstates.emplace_back(HP_MAP_H[m_TowerType], 0);
|
||||
break;
|
||||
case OBJECTIVESTATE_HORDE:
|
||||
case OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE:
|
||||
packet.Worldstates.emplace_back(HP_MAP_N[m_TowerType], 0);
|
||||
packet.Worldstates.emplace_back(HP_MAP_A[m_TowerType], 0);
|
||||
packet.Worldstates.emplace_back(HP_MAP_H[m_TowerType], 1);
|
||||
break;
|
||||
case OBJECTIVESTATE_NEUTRAL:
|
||||
case OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE:
|
||||
case OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE:
|
||||
default:
|
||||
packet.Worldstates.emplace_back(HP_MAP_N[m_TowerType], 1);
|
||||
packet.Worldstates.emplace_back(HP_MAP_A[m_TowerType], 0);
|
||||
packet.Worldstates.emplace_back(HP_MAP_H[m_TowerType], 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void OutdoorPvPHP::HandleKillImpl(Player* player, Unit* killed)
|
||||
{
|
||||
if (killed->GetTypeId() != TYPEID_PLAYER)
|
||||
|
||||
@@ -61,7 +61,6 @@ class OPvPCapturePointHP : public OPvPCapturePoint
|
||||
OPvPCapturePointHP(OutdoorPvP* pvp, OutdoorPvPHPTowerType type);
|
||||
|
||||
void ChangeState() override;
|
||||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override;
|
||||
|
||||
private:
|
||||
OutdoorPvPHPTowerType m_TowerType;
|
||||
@@ -78,7 +77,6 @@ class OutdoorPvPHP : public OutdoorPvP
|
||||
void HandlePlayerLeaveZone(Player* player, uint32 zone) override;
|
||||
|
||||
bool Update(uint32 diff) override;
|
||||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override;
|
||||
void SendRemoveWorldStates(Player* player) override;
|
||||
void HandleKillImpl(Player* player, Unit* killed) override;
|
||||
|
||||
|
||||
@@ -252,9 +252,9 @@ void OPvPCapturePointNA::FactionTakeOver(uint32 team)
|
||||
m_WyvernStateEast = WYVERN_NEU_HORDE;
|
||||
m_WyvernStateWest = WYVERN_NEU_HORDE;
|
||||
m_PvP->TeamApplyBuff(TEAM_ALLIANCE, NA_CAPTURE_BUFF);
|
||||
m_PvP->SendUpdateWorldState(NA_UI_HORDE_GUARDS_SHOW, 0);
|
||||
m_PvP->SendUpdateWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 1);
|
||||
m_PvP->SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
m_PvP->SetWorldState(NA_UI_HORDE_GUARDS_SHOW, 0);
|
||||
m_PvP->SetWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 1);
|
||||
m_PvP->SetWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
m_PvP->SendDefenseMessage(NA_HALAA_GRAVEYARD_ZONE, TEXT_HALAA_TAKEN_ALLIANCE);
|
||||
}
|
||||
else
|
||||
@@ -264,9 +264,9 @@ void OPvPCapturePointNA::FactionTakeOver(uint32 team)
|
||||
m_WyvernStateEast = WYVERN_NEU_ALLIANCE;
|
||||
m_WyvernStateWest = WYVERN_NEU_ALLIANCE;
|
||||
m_PvP->TeamApplyBuff(TEAM_HORDE, NA_CAPTURE_BUFF);
|
||||
m_PvP->SendUpdateWorldState(NA_UI_HORDE_GUARDS_SHOW, 1);
|
||||
m_PvP->SendUpdateWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 0);
|
||||
m_PvP->SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
m_PvP->SetWorldState(NA_UI_HORDE_GUARDS_SHOW, 1);
|
||||
m_PvP->SetWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 0);
|
||||
m_PvP->SetWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
m_PvP->SendDefenseMessage(NA_HALAA_GRAVEYARD_ZONE, TEXT_HALAA_TAKEN_HORDE);
|
||||
}
|
||||
UpdateWyvernRoostWorldState(NA_ROOST_S);
|
||||
@@ -310,81 +310,38 @@ void OutdoorPvPNA::HandlePlayerLeaveZone(Player* player, uint32 zone)
|
||||
OutdoorPvP::HandlePlayerLeaveZone(player, zone);
|
||||
}
|
||||
|
||||
void OutdoorPvPNA::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
m_obj->FillInitialWorldStates(packet);
|
||||
}
|
||||
|
||||
void OPvPCapturePointNA::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
if (m_ControllingFaction == ALLIANCE)
|
||||
{
|
||||
packet.Worldstates.emplace_back(NA_UI_HORDE_GUARDS_SHOW, 0);
|
||||
packet.Worldstates.emplace_back(NA_UI_ALLIANCE_GUARDS_SHOW, 1);
|
||||
}
|
||||
else if (m_ControllingFaction == HORDE)
|
||||
{
|
||||
packet.Worldstates.emplace_back(NA_UI_HORDE_GUARDS_SHOW, 1);
|
||||
packet.Worldstates.emplace_back(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(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);
|
||||
}
|
||||
|
||||
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_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);
|
||||
WorldPackets::WorldState::InitWorldStates initWorldStates;
|
||||
initWorldStates.MapID = player->GetMapId();
|
||||
initWorldStates.AreaID = player->GetZoneId();
|
||||
initWorldStates.SubareaID = player->GetAreaId();
|
||||
initWorldStates.Worldstates.emplace_back(NA_UI_HORDE_GUARDS_SHOW, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_UI_ALLIANCE_GUARDS_SHOW, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_UI_GUARDS_MAX, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_UI_GUARDS_LEFT, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_NORTH_NEU_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_NORTH_NEU_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_NORTH_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_NORTH_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_SOUTH_NEU_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_SOUTH_NEU_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_SOUTH_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_SOUTH_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_WEST_NEU_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_WEST_NEU_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_WEST_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_WEST_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_EAST_NEU_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_EAST_NEU_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_EAST_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_WYVERN_EAST_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_HALAA_NEUTRAL, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_HALAA_NEU_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_HALAA_NEU_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_HALAA_HORDE, 0);
|
||||
initWorldStates.Worldstates.emplace_back(NA_MAP_HALAA_ALLIANCE, 0);
|
||||
player->SendDirectMessage(initWorldStates.Write());
|
||||
}
|
||||
|
||||
bool OutdoorPvPNA::Update(uint32 diff)
|
||||
@@ -608,7 +565,7 @@ bool OPvPCapturePointNA::Update(uint32 diff)
|
||||
if (m_GuardsAlive == 0)
|
||||
m_capturable = true;
|
||||
// update the guard count for the players in zone
|
||||
m_PvP->SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
m_PvP->SetWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
|
||||
}
|
||||
} else m_GuardCheckTimer -= diff;
|
||||
|
||||
@@ -671,11 +628,11 @@ void OPvPCapturePointNA::ChangeState()
|
||||
|
||||
void OPvPCapturePointNA::UpdateHalaaWorldState()
|
||||
{
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_HALAA_NEUTRAL, uint32((m_HalaaState & HALAA_N) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_HALAA_NEU_A, uint32((m_HalaaState & HALAA_N_A) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_HALAA_NEU_H, uint32((m_HalaaState & HALAA_N_H) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_HALAA_HORDE, uint32((m_HalaaState & HALAA_H) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_HALAA_ALLIANCE, uint32((m_HalaaState & HALAA_A) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_HALAA_NEUTRAL, uint32((m_HalaaState & HALAA_N) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_HALAA_NEU_A, uint32((m_HalaaState & HALAA_N_A) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_HALAA_NEU_H, uint32((m_HalaaState & HALAA_N_H) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_HALAA_HORDE, uint32((m_HalaaState & HALAA_H) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_HALAA_ALLIANCE, uint32((m_HalaaState & HALAA_A) != 0));
|
||||
}
|
||||
|
||||
void OPvPCapturePointNA::UpdateWyvernRoostWorldState(uint32 roost)
|
||||
@@ -683,28 +640,28 @@ void OPvPCapturePointNA::UpdateWyvernRoostWorldState(uint32 roost)
|
||||
switch (roost)
|
||||
{
|
||||
case NA_ROOST_S:
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_NEU_H, uint32((m_WyvernStateSouth & WYVERN_NEU_HORDE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_NEU_A, uint32((m_WyvernStateSouth & WYVERN_NEU_ALLIANCE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_H, uint32((m_WyvernStateSouth & WYVERN_HORDE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_A, uint32((m_WyvernStateSouth & WYVERN_ALLIANCE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_SOUTH_NEU_H, uint32((m_WyvernStateSouth & WYVERN_NEU_HORDE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_SOUTH_NEU_A, uint32((m_WyvernStateSouth & WYVERN_NEU_ALLIANCE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_SOUTH_H, uint32((m_WyvernStateSouth & WYVERN_HORDE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_SOUTH_A, uint32((m_WyvernStateSouth & WYVERN_ALLIANCE) != 0));
|
||||
break;
|
||||
case NA_ROOST_N:
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_NEU_H, uint32((m_WyvernStateNorth & WYVERN_NEU_HORDE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_NEU_A, uint32((m_WyvernStateNorth & WYVERN_NEU_ALLIANCE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_H, uint32((m_WyvernStateNorth & WYVERN_HORDE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_A, uint32((m_WyvernStateNorth & WYVERN_ALLIANCE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_NORTH_NEU_H, uint32((m_WyvernStateNorth & WYVERN_NEU_HORDE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_NORTH_NEU_A, uint32((m_WyvernStateNorth & WYVERN_NEU_ALLIANCE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_NORTH_H, uint32((m_WyvernStateNorth & WYVERN_HORDE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_NORTH_A, uint32((m_WyvernStateNorth & WYVERN_ALLIANCE) != 0));
|
||||
break;
|
||||
case NA_ROOST_W:
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_WEST_NEU_H, uint32((m_WyvernStateWest & WYVERN_NEU_HORDE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_WEST_NEU_A, uint32((m_WyvernStateWest & WYVERN_NEU_ALLIANCE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_WEST_H, uint32((m_WyvernStateWest & WYVERN_HORDE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_WEST_A, uint32((m_WyvernStateWest & WYVERN_ALLIANCE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_WEST_NEU_H, uint32((m_WyvernStateWest & WYVERN_NEU_HORDE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_WEST_NEU_A, uint32((m_WyvernStateWest & WYVERN_NEU_ALLIANCE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_WEST_H, uint32((m_WyvernStateWest & WYVERN_HORDE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_WEST_A, uint32((m_WyvernStateWest & WYVERN_ALLIANCE) != 0));
|
||||
break;
|
||||
case NA_ROOST_E:
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_EAST_NEU_H, uint32((m_WyvernStateEast & WYVERN_NEU_HORDE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_EAST_NEU_A, uint32((m_WyvernStateEast & WYVERN_NEU_ALLIANCE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_EAST_H, uint32((m_WyvernStateEast & WYVERN_HORDE) != 0));
|
||||
m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_EAST_A, uint32((m_WyvernStateEast & WYVERN_ALLIANCE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_EAST_NEU_H, uint32((m_WyvernStateEast & WYVERN_NEU_HORDE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_EAST_NEU_A, uint32((m_WyvernStateEast & WYVERN_NEU_ALLIANCE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_EAST_H, uint32((m_WyvernStateEast & WYVERN_HORDE) != 0));
|
||||
m_PvP->SetWorldState(NA_MAP_WYVERN_EAST_A, uint32((m_WyvernStateEast & WYVERN_ALLIANCE) != 0));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,7 +156,6 @@ class OPvPCapturePointNA : public OPvPCapturePoint
|
||||
|
||||
bool Update(uint32 diff) override;
|
||||
void ChangeState() override;
|
||||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override;
|
||||
bool HandleCustomSpell(Player* player, uint32 spellId, GameObject* go) override;
|
||||
int32 HandleOpenGo(Player* player, GameObject* go) override;
|
||||
|
||||
@@ -192,7 +191,6 @@ class OutdoorPvPNA : public OutdoorPvP
|
||||
void HandlePlayerEnterZone(Player* player, uint32 zone) override;
|
||||
void HandlePlayerLeaveZone(Player* player, uint32 zone) override;
|
||||
bool Update(uint32 diff) override;
|
||||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override;
|
||||
void SendRemoveWorldStates(Player* player) override;
|
||||
void HandleKillImpl(Player* player, Unit* killed) override;
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#include "World.h"
|
||||
#include "WorldStatePackets.h"
|
||||
|
||||
uint32 const SI_MAX_RESOURCES = 200;
|
||||
constexpr int32 SI_MAX_RESOURCES = 200;
|
||||
uint32 const SI_AREATRIGGER_H = 4168;
|
||||
uint32 const SI_AREATRIGGER_A = 4162;
|
||||
uint32 const SI_TURNIN_QUEST_CM_A = 17090;
|
||||
@@ -40,30 +40,19 @@ uint32 const OutdoorPvPSIBuffZones[OutdoorPvPSIBuffZonesNum] = { 1377, 3428, 342
|
||||
OutdoorPvPSI::OutdoorPvPSI()
|
||||
{
|
||||
m_TypeId = OUTDOOR_PVP_SI;
|
||||
m_Gathered_A = 0;
|
||||
m_Gathered_H = 0;
|
||||
m_LastController = 0;
|
||||
}
|
||||
|
||||
void OutdoorPvPSI::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
void OutdoorPvPSI::SendRemoveWorldStates(Player* player)
|
||||
{
|
||||
player->SendUpdateWorldState(SI_GATHERED_A, 0);
|
||||
player->SendUpdateWorldState(SI_GATHERED_H, 0);
|
||||
player->SendUpdateWorldState(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);
|
||||
WorldPackets::WorldState::InitWorldStates initWorldStates;
|
||||
initWorldStates.MapID = player->GetMapId();
|
||||
initWorldStates.AreaID = player->GetZoneId();
|
||||
initWorldStates.SubareaID = player->GetAreaId();
|
||||
initWorldStates.Worldstates.emplace_back(SI_GATHERED_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(SI_GATHERED_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(SI_SILITHYST_MAX, 0);
|
||||
player->SendDirectMessage(initWorldStates.Write());
|
||||
}
|
||||
|
||||
bool OutdoorPvPSI::SetupOutdoorPvP()
|
||||
@@ -72,6 +61,10 @@ bool OutdoorPvPSI::SetupOutdoorPvP()
|
||||
|
||||
for (uint8 i = 0; i < OutdoorPvPSIBuffZonesNum; ++i)
|
||||
RegisterZone(OutdoorPvPSIBuffZones[i]);
|
||||
|
||||
SetWorldState(SI_GATHERED_A, 0);
|
||||
SetWorldState(SI_GATHERED_H, 0);
|
||||
SetWorldState(SI_SILITHYST_MAX, SI_MAX_RESOURCES);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -103,17 +96,17 @@ bool OutdoorPvPSI::HandleAreaTrigger(Player* player, uint32 trigger, bool /*ente
|
||||
{
|
||||
// remove aura
|
||||
player->RemoveAurasDueToSpell(SI_SILITHYST_FLAG);
|
||||
++ m_Gathered_A;
|
||||
if (m_Gathered_A >= SI_MAX_RESOURCES)
|
||||
int32 newScore = GetWorldState(SI_GATHERED_A) + 1;
|
||||
if (newScore >= SI_MAX_RESOURCES)
|
||||
{
|
||||
TeamApplyBuff(TEAM_ALLIANCE, SI_CENARION_FAVOR);
|
||||
/// @todo: confirm this text
|
||||
sWorld->SendZoneText(OutdoorPvPSIBuffZones[0], sObjectMgr->GetTrinityStringForDBCLocale(LANG_OPVP_SI_CAPTURE_A));
|
||||
m_LastController = ALLIANCE;
|
||||
m_Gathered_A = 0;
|
||||
m_Gathered_H = 0;
|
||||
newScore = 0;
|
||||
SetWorldState(SI_GATHERED_H, 0);
|
||||
}
|
||||
UpdateWorldState();
|
||||
SetWorldState(SI_GATHERED_A, newScore);
|
||||
// reward player
|
||||
player->CastSpell(player, SI_TRACES_OF_SILITHYST, true);
|
||||
// add 19 honor
|
||||
@@ -129,17 +122,17 @@ bool OutdoorPvPSI::HandleAreaTrigger(Player* player, uint32 trigger, bool /*ente
|
||||
{
|
||||
// remove aura
|
||||
player->RemoveAurasDueToSpell(SI_SILITHYST_FLAG);
|
||||
++ m_Gathered_H;
|
||||
if (m_Gathered_H >= SI_MAX_RESOURCES)
|
||||
int32 newScore = GetWorldState(SI_GATHERED_H) + 1;
|
||||
if (newScore >= SI_MAX_RESOURCES)
|
||||
{
|
||||
TeamApplyBuff(TEAM_HORDE, SI_CENARION_FAVOR);
|
||||
/// @todo: confirm this text
|
||||
sWorld->SendZoneText(OutdoorPvPSIBuffZones[0], sObjectMgr->GetTrinityStringForDBCLocale(LANG_OPVP_SI_CAPTURE_H));
|
||||
m_LastController = HORDE;
|
||||
m_Gathered_A = 0;
|
||||
m_Gathered_H = 0;
|
||||
SetWorldState(SI_GATHERED_A, 0);
|
||||
newScore = 0;
|
||||
}
|
||||
UpdateWorldState();
|
||||
SetWorldState(SI_GATHERED_H, newScore);
|
||||
// reward player
|
||||
player->CastSpell(player, SI_TRACES_OF_SILITHYST, true);
|
||||
// add 19 honor
|
||||
|
||||
@@ -44,16 +44,12 @@ class OutdoorPvPSI : public OutdoorPvP
|
||||
void HandlePlayerEnterZone(Player* player, uint32 zone) override;
|
||||
void HandlePlayerLeaveZone(Player* player, uint32 zone) override;
|
||||
bool Update(uint32 diff) override;
|
||||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override;
|
||||
void SendRemoveWorldStates(Player* player) override;
|
||||
bool HandleAreaTrigger(Player* player, uint32 trigger, bool entered) override;
|
||||
bool HandleDropFlag(Player* player, uint32 spellId) override;
|
||||
bool HandleCustomSpell(Player* player, uint32 spellId, GameObject* go) override;
|
||||
void UpdateWorldState();
|
||||
|
||||
private:
|
||||
uint32 m_Gathered_A;
|
||||
uint32 m_Gathered_H;
|
||||
uint32 m_LastController;
|
||||
};
|
||||
|
||||
|
||||
@@ -56,18 +56,18 @@ go_type const TFCapturePoints[TF_TOWER_NUM] =
|
||||
|
||||
struct tf_tower_world_state
|
||||
{
|
||||
uint32 n;
|
||||
uint32 h;
|
||||
uint32 a;
|
||||
int32 n;
|
||||
int32 h;
|
||||
int32 a;
|
||||
};
|
||||
|
||||
tf_tower_world_state const TFTowerWorldStates[TF_TOWER_NUM] =
|
||||
{
|
||||
{ 0xa79, 0xa7a, 0xa7b },
|
||||
{ 0xa7e, 0xa7d, 0xa7c },
|
||||
{ 0xa82, 0xa81, 0xa80 },
|
||||
{ 0xa88, 0xa87, 0xa86 },
|
||||
{ 0xa85, 0xa84, 0xa83 }
|
||||
{ 2681, 2682, 2683 },
|
||||
{ 2686, 2685, 2684 },
|
||||
{ 2690, 2689, 2688 },
|
||||
{ 2696, 2695, 2694 },
|
||||
{ 2693, 2692, 2691 }
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -108,56 +108,39 @@ OPvPCapturePointTF::OPvPCapturePointTF(OutdoorPvP* pvp, OutdoorPvPTF_TowerType t
|
||||
SetCapturePointData(TFCapturePoints[type].entry, TFCapturePoints[type].map, TFCapturePoints[type].pos, TFCapturePoints[type].rot);
|
||||
}
|
||||
|
||||
void OPvPCapturePointTF::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.emplace_back(TFTowerWorldStates[m_TowerType].n, (m_TowerState & TF_TOWERSTATE_N) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(TFTowerWorldStates[m_TowerType].h, (m_TowerState & TF_TOWERSTATE_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(TFTowerWorldStates[m_TowerType].a, (m_TowerState & TF_TOWERSTATE_A) != 0 ? 1 : 0);
|
||||
}
|
||||
|
||||
void OutdoorPvPTF::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
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);
|
||||
|
||||
for (OPvPCapturePointMap::iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr)
|
||||
itr->second->FillInitialWorldStates(packet);
|
||||
}
|
||||
|
||||
void OutdoorPvPTF::SendRemoveWorldStates(Player* player)
|
||||
{
|
||||
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));
|
||||
WorldPackets::WorldState::InitWorldStates initWorldStates;
|
||||
initWorldStates.MapID = player->GetMapId();
|
||||
initWorldStates.AreaID = player->GetZoneId();
|
||||
initWorldStates.SubareaID = player->GetAreaId();
|
||||
initWorldStates.Worldstates.emplace_back(TF_UI_TOWER_COUNT_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(TF_UI_TOWER_COUNT_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(TF_UI_TOWERS_CONTROLLED_DISPLAY, 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));
|
||||
initWorldStates.Worldstates.emplace_back(TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT, 0);
|
||||
initWorldStates.Worldstates.emplace_back(TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT, 0);
|
||||
initWorldStates.Worldstates.emplace_back(TF_UI_LOCKED_TIME_HOURS, 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));
|
||||
initWorldStates.Worldstates.emplace_back(TF_UI_LOCKED_DISPLAY_NEUTRAL, 0);
|
||||
initWorldStates.Worldstates.emplace_back(TF_UI_LOCKED_DISPLAY_HORDE, 0);
|
||||
initWorldStates.Worldstates.emplace_back(TF_UI_LOCKED_DISPLAY_ALLIANCE, 0);
|
||||
|
||||
for (int i = 0; i < TF_TOWER_NUM; ++i)
|
||||
for (tf_tower_world_state const& towerWorldStates : TFTowerWorldStates)
|
||||
{
|
||||
player->SendUpdateWorldState(uint32(TFTowerWorldStates[i].n), uint32(0));
|
||||
player->SendUpdateWorldState(uint32(TFTowerWorldStates[i].h), uint32(0));
|
||||
player->SendUpdateWorldState(uint32(TFTowerWorldStates[i].a), uint32(0));
|
||||
initWorldStates.Worldstates.emplace_back(towerWorldStates.n, 0);
|
||||
initWorldStates.Worldstates.emplace_back(towerWorldStates.h, 0);
|
||||
initWorldStates.Worldstates.emplace_back(towerWorldStates.a, 0);
|
||||
}
|
||||
|
||||
player->SendDirectMessage(initWorldStates.Write());
|
||||
}
|
||||
|
||||
void OPvPCapturePointTF::UpdateTowerState()
|
||||
{
|
||||
m_PvP->SendUpdateWorldState(uint32(TFTowerWorldStates[m_TowerType].n), uint32((m_TowerState & TF_TOWERSTATE_N) != 0));
|
||||
m_PvP->SendUpdateWorldState(uint32(TFTowerWorldStates[m_TowerType].h), uint32((m_TowerState & TF_TOWERSTATE_H) != 0));
|
||||
m_PvP->SendUpdateWorldState(uint32(TFTowerWorldStates[m_TowerType].a), uint32((m_TowerState & TF_TOWERSTATE_A) != 0));
|
||||
m_PvP->SetWorldState(TFTowerWorldStates[m_TowerType].n, int32((m_TowerState & TF_TOWERSTATE_N) != 0));
|
||||
m_PvP->SetWorldState(TFTowerWorldStates[m_TowerType].h, int32((m_TowerState & TF_TOWERSTATE_H) != 0));
|
||||
m_PvP->SetWorldState(TFTowerWorldStates[m_TowerType].a, int32((m_TowerState & TF_TOWERSTATE_A) != 0));
|
||||
}
|
||||
|
||||
bool OutdoorPvPTF::Update(uint32 diff)
|
||||
@@ -170,27 +153,27 @@ bool OutdoorPvPTF::Update(uint32 diff)
|
||||
{
|
||||
TeamApplyBuff(TEAM_ALLIANCE, TF_CAPTURE_BUFF);
|
||||
m_IsLocked = 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));
|
||||
SetWorldState(TF_UI_LOCKED_DISPLAY_NEUTRAL, 0);
|
||||
SetWorldState(TF_UI_LOCKED_DISPLAY_HORDE, 0);
|
||||
SetWorldState(TF_UI_LOCKED_DISPLAY_ALLIANCE, 1);
|
||||
SetWorldState(TF_UI_TOWERS_CONTROLLED_DISPLAY, 0);
|
||||
}
|
||||
else if (m_HordeTowersControlled == TF_TOWER_NUM)
|
||||
{
|
||||
TeamApplyBuff(TEAM_HORDE, TF_CAPTURE_BUFF);
|
||||
m_IsLocked = 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));
|
||||
SetWorldState(TF_UI_LOCKED_DISPLAY_NEUTRAL, 0);
|
||||
SetWorldState(TF_UI_LOCKED_DISPLAY_HORDE, 1);
|
||||
SetWorldState(TF_UI_LOCKED_DISPLAY_ALLIANCE, 0);
|
||||
SetWorldState(TF_UI_TOWERS_CONTROLLED_DISPLAY, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
TeamCastSpell(TEAM_ALLIANCE, -TF_CAPTURE_BUFF);
|
||||
TeamCastSpell(TEAM_HORDE, -TF_CAPTURE_BUFF);
|
||||
}
|
||||
SendUpdateWorldState(TF_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
SendUpdateWorldState(TF_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
SetWorldState(TF_UI_TOWER_COUNT_A, m_AllianceTowersControlled);
|
||||
SetWorldState(TF_UI_TOWER_COUNT_H, m_HordeTowersControlled);
|
||||
}
|
||||
if (m_IsLocked)
|
||||
{
|
||||
@@ -200,10 +183,10 @@ bool OutdoorPvPTF::Update(uint32 diff)
|
||||
m_LockTimer = TF_LOCK_TIME;
|
||||
m_LockTimerUpdate = 0;
|
||||
m_IsLocked = false;
|
||||
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));
|
||||
SetWorldState(TF_UI_TOWERS_CONTROLLED_DISPLAY, 1);
|
||||
SetWorldState(TF_UI_LOCKED_DISPLAY_NEUTRAL, 0);
|
||||
SetWorldState(TF_UI_LOCKED_DISPLAY_HORDE, 0);
|
||||
SetWorldState(TF_UI_LOCKED_DISPLAY_ALLIANCE, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -217,9 +200,9 @@ bool OutdoorPvPTF::Update(uint32 diff)
|
||||
second_digit = minutes_left % 10;
|
||||
first_digit = minutes_left / 10;
|
||||
|
||||
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);
|
||||
SetWorldState(TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT, first_digit);
|
||||
SetWorldState(TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT, second_digit);
|
||||
SetWorldState(TF_UI_LOCKED_TIME_HOURS, hours_left);
|
||||
} else m_LockTimerUpdate -= diff;
|
||||
m_LockTimer -= diff;
|
||||
}
|
||||
|
||||
@@ -42,16 +42,16 @@ enum OutdoorPvPTF_TowerType
|
||||
|
||||
enum TFWorldStates
|
||||
{
|
||||
TF_UI_TOWER_COUNT_H = 0xa3e,
|
||||
TF_UI_TOWER_COUNT_A = 0xa3d,
|
||||
TF_UI_TOWERS_CONTROLLED_DISPLAY = 0xa3c,
|
||||
TF_UI_TOWER_COUNT_H = 2622,
|
||||
TF_UI_TOWER_COUNT_A = 2621,
|
||||
TF_UI_TOWERS_CONTROLLED_DISPLAY = 2620,
|
||||
|
||||
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
|
||||
TF_UI_LOCKED_TIME_MINUTES_FIRST_DIGIT = 2512,
|
||||
TF_UI_LOCKED_TIME_MINUTES_SECOND_DIGIT = 2510,
|
||||
TF_UI_LOCKED_TIME_HOURS = 2509,
|
||||
TF_UI_LOCKED_DISPLAY_NEUTRAL = 2508,
|
||||
TF_UI_LOCKED_DISPLAY_HORDE = 2768,
|
||||
TF_UI_LOCKED_DISPLAY_ALLIANCE = 2767
|
||||
};
|
||||
|
||||
enum TFTowerStates
|
||||
@@ -68,7 +68,6 @@ class OPvPCapturePointTF : public OPvPCapturePoint
|
||||
|
||||
bool Update(uint32 diff) override;
|
||||
void ChangeState() override;
|
||||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override;
|
||||
|
||||
void UpdateTowerState();
|
||||
|
||||
@@ -86,7 +85,6 @@ class OutdoorPvPTF : public OutdoorPvP
|
||||
void HandlePlayerEnterZone(Player* player, uint32 zone) override;
|
||||
void HandlePlayerLeaveZone(Player* player, uint32 zone) override;
|
||||
bool Update(uint32 diff) override;
|
||||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override;
|
||||
void SendRemoveWorldStates(Player* player) override;
|
||||
|
||||
uint32 GetAllianceTowersControlled() const;
|
||||
|
||||
@@ -49,20 +49,20 @@ creature_type const ZM_AllianceFieldScout = { 18581, 530, { 374.395f, 6230.08f,
|
||||
|
||||
struct zm_beacon
|
||||
{
|
||||
uint32 ui_tower_n;
|
||||
uint32 ui_tower_h;
|
||||
uint32 ui_tower_a;
|
||||
uint32 map_tower_n;
|
||||
uint32 map_tower_h;
|
||||
uint32 map_tower_a;
|
||||
int32 ui_tower_n;
|
||||
int32 ui_tower_h;
|
||||
int32 ui_tower_a;
|
||||
int32 map_tower_n;
|
||||
int32 map_tower_h;
|
||||
int32 map_tower_a;
|
||||
uint32 event_enter;
|
||||
uint32 event_leave;
|
||||
};
|
||||
|
||||
zm_beacon const ZMBeaconInfo[ZM_NUM_BEACONS] =
|
||||
{
|
||||
{ 2560, 2559, 2558, 2652, 2651, 2650, 11807, 11806 },
|
||||
{ 2557, 2556, 2555, 2646, 2645, 2644, 11805, 11804 }
|
||||
{ ZM_UI_TOWER_EAST_N, ZM_UI_TOWER_EAST_H, ZM_UI_TOWER_EAST_A, ZM_MAP_TOWER_EAST_N, ZM_MAP_TOWER_EAST_H, ZM_MAP_TOWER_EAST_A, 11807, 11806 },
|
||||
{ ZM_UI_TOWER_WEST_N, ZM_UI_TOWER_WEST_H, ZM_UI_TOWER_WEST_A, ZM_MAP_TOWER_WEST_N, ZM_MAP_TOWER_WEST_H, ZM_MAP_TOWER_WEST_A, 11805, 11804 }
|
||||
};
|
||||
|
||||
uint32 const ZMBeaconCaptureA[ZM_NUM_BEACONS] =
|
||||
@@ -88,24 +88,14 @@ OPvPCapturePointZM_Beacon::OPvPCapturePointZM_Beacon(OutdoorPvP* pvp, ZM_BeaconT
|
||||
SetCapturePointData(ZMCapturePoints[type].entry, ZMCapturePoints[type].map, ZMCapturePoints[type].pos, ZMCapturePoints[type].rot);
|
||||
}
|
||||
|
||||
void OPvPCapturePointZM_Beacon::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.emplace_back(ZMBeaconInfo[m_TowerType].ui_tower_n, (m_TowerState & ZM_TOWERSTATE_N) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZMBeaconInfo[m_TowerType].map_tower_n, (m_TowerState & ZM_TOWERSTATE_N) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZMBeaconInfo[m_TowerType].ui_tower_a, (m_TowerState & ZM_TOWERSTATE_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZMBeaconInfo[m_TowerType].map_tower_a, (m_TowerState & ZM_TOWERSTATE_A) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZMBeaconInfo[m_TowerType].ui_tower_h, (m_TowerState & ZM_TOWERSTATE_H) != 0 ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZMBeaconInfo[m_TowerType].map_tower_h, (m_TowerState & ZM_TOWERSTATE_H) != 0 ? 1 : 0);
|
||||
}
|
||||
|
||||
void OPvPCapturePointZM_Beacon::UpdateTowerState()
|
||||
{
|
||||
m_PvP->SendUpdateWorldState(uint32(ZMBeaconInfo[m_TowerType].ui_tower_n), uint32((m_TowerState & ZM_TOWERSTATE_N) != 0));
|
||||
m_PvP->SendUpdateWorldState(uint32(ZMBeaconInfo[m_TowerType].map_tower_n), uint32((m_TowerState & ZM_TOWERSTATE_N) != 0));
|
||||
m_PvP->SendUpdateWorldState(uint32(ZMBeaconInfo[m_TowerType].ui_tower_a), uint32((m_TowerState & ZM_TOWERSTATE_A) != 0));
|
||||
m_PvP->SendUpdateWorldState(uint32(ZMBeaconInfo[m_TowerType].map_tower_a), uint32((m_TowerState & ZM_TOWERSTATE_A) != 0));
|
||||
m_PvP->SendUpdateWorldState(uint32(ZMBeaconInfo[m_TowerType].ui_tower_h), uint32((m_TowerState & ZM_TOWERSTATE_H) != 0));
|
||||
m_PvP->SendUpdateWorldState(uint32(ZMBeaconInfo[m_TowerType].map_tower_h), uint32((m_TowerState & ZM_TOWERSTATE_H) != 0));
|
||||
m_PvP->SetWorldState(ZMBeaconInfo[m_TowerType].ui_tower_n, int32((m_TowerState & ZM_TOWERSTATE_N) != 0));
|
||||
m_PvP->SetWorldState(ZMBeaconInfo[m_TowerType].map_tower_n, int32((m_TowerState & ZM_TOWERSTATE_N) != 0));
|
||||
m_PvP->SetWorldState(ZMBeaconInfo[m_TowerType].ui_tower_a, int32((m_TowerState & ZM_TOWERSTATE_A) != 0));
|
||||
m_PvP->SetWorldState(ZMBeaconInfo[m_TowerType].map_tower_a, int32((m_TowerState & ZM_TOWERSTATE_A) != 0));
|
||||
m_PvP->SetWorldState(ZMBeaconInfo[m_TowerType].ui_tower_h, int32((m_TowerState & ZM_TOWERSTATE_H) != 0));
|
||||
m_PvP->SetWorldState(ZMBeaconInfo[m_TowerType].map_tower_h, int32((m_TowerState & ZM_TOWERSTATE_H) != 0));
|
||||
}
|
||||
|
||||
void OPvPCapturePointZM_Beacon::ChangeState()
|
||||
@@ -286,25 +276,14 @@ OPvPCapturePointZM_Graveyard::OPvPCapturePointZM_Graveyard(OutdoorPvP* pvp) : OP
|
||||
|
||||
void OPvPCapturePointZM_Graveyard::UpdateTowerState()
|
||||
{
|
||||
m_PvP->SendUpdateWorldState(ZM_MAP_GRAVEYARD_N, uint32((m_GraveyardState & ZM_GRAVEYARD_N) != 0));
|
||||
m_PvP->SendUpdateWorldState(ZM_MAP_GRAVEYARD_H, uint32((m_GraveyardState & ZM_GRAVEYARD_H) != 0));
|
||||
m_PvP->SendUpdateWorldState(ZM_MAP_GRAVEYARD_A, uint32((m_GraveyardState & ZM_GRAVEYARD_A) != 0));
|
||||
m_PvP->SetWorldState(ZM_MAP_GRAVEYARD_N, int32((m_GraveyardState & ZM_GRAVEYARD_N) != 0));
|
||||
m_PvP->SetWorldState(ZM_MAP_GRAVEYARD_H, int32((m_GraveyardState & ZM_GRAVEYARD_H) != 0));
|
||||
m_PvP->SetWorldState(ZM_MAP_GRAVEYARD_A, int32((m_GraveyardState & ZM_GRAVEYARD_A) != 0));
|
||||
|
||||
m_PvP->SendUpdateWorldState(ZM_MAP_ALLIANCE_FLAG_READY, uint32(m_BothControllingFaction == ALLIANCE));
|
||||
m_PvP->SendUpdateWorldState(ZM_MAP_ALLIANCE_FLAG_NOT_READY, uint32(m_BothControllingFaction != ALLIANCE));
|
||||
m_PvP->SendUpdateWorldState(ZM_MAP_HORDE_FLAG_READY, uint32(m_BothControllingFaction == HORDE));
|
||||
m_PvP->SendUpdateWorldState(ZM_MAP_HORDE_FLAG_NOT_READY, uint32(m_BothControllingFaction != HORDE));
|
||||
}
|
||||
|
||||
void OPvPCapturePointZM_Graveyard::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
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_BothControllingFaction == ALLIANCE ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZM_MAP_ALLIANCE_FLAG_NOT_READY, m_BothControllingFaction != ALLIANCE ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZM_MAP_HORDE_FLAG_READY, m_BothControllingFaction == HORDE ? 1 : 0);
|
||||
packet.Worldstates.emplace_back(ZM_MAP_HORDE_FLAG_NOT_READY, m_BothControllingFaction != HORDE ? 1 : 0);
|
||||
m_PvP->SetWorldState(ZM_MAP_ALLIANCE_FLAG_READY, int32(m_BothControllingFaction == ALLIANCE));
|
||||
m_PvP->SetWorldState(ZM_MAP_ALLIANCE_FLAG_NOT_READY, int32(m_BothControllingFaction != ALLIANCE));
|
||||
m_PvP->SetWorldState(ZM_MAP_HORDE_FLAG_READY, int32(m_BothControllingFaction == HORDE));
|
||||
m_PvP->SetWorldState(ZM_MAP_HORDE_FLAG_NOT_READY, int32(m_BothControllingFaction != HORDE));
|
||||
}
|
||||
|
||||
void OPvPCapturePointZM_Graveyard::SetBeaconState(uint32 controlling_faction)
|
||||
@@ -429,36 +408,32 @@ void OutdoorPvPZM::SetHordeTowersControlled(uint32 count)
|
||||
m_HordeTowersControlled = count;
|
||||
}
|
||||
|
||||
void OutdoorPvPZM::FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet)
|
||||
{
|
||||
packet.Worldstates.emplace_back(ZM_WORLDSTATE_UNK_1, 1);
|
||||
|
||||
for (OPvPCapturePointMap::iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr)
|
||||
itr->second->FillInitialWorldStates(packet);
|
||||
}
|
||||
|
||||
void OutdoorPvPZM::SendRemoveWorldStates(Player* player)
|
||||
{
|
||||
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);
|
||||
WorldPackets::WorldState::InitWorldStates initWorldStates;
|
||||
initWorldStates.MapID = player->GetMapId();
|
||||
initWorldStates.AreaID = player->GetZoneId();
|
||||
initWorldStates.SubareaID = player->GetAreaId();
|
||||
initWorldStates.Worldstates.emplace_back(ZM_UI_TOWER_EAST_N, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_UI_TOWER_EAST_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_UI_TOWER_EAST_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_UI_TOWER_WEST_N, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_UI_TOWER_WEST_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_UI_TOWER_WEST_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_TOWER_EAST_N, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_TOWER_EAST_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_TOWER_EAST_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_GRAVEYARD_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_GRAVEYARD_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_GRAVEYARD_N, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_TOWER_WEST_N, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_TOWER_WEST_H, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_TOWER_WEST_A, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_HORDE_FLAG_READY, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_HORDE_FLAG_NOT_READY, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_ALLIANCE_FLAG_NOT_READY, 0);
|
||||
initWorldStates.Worldstates.emplace_back(ZM_MAP_ALLIANCE_FLAG_READY, 0);
|
||||
player->SendDirectMessage(initWorldStates.Write());
|
||||
}
|
||||
|
||||
class OutdoorPvP_zangarmarsh : public OutdoorPvPScript
|
||||
|
||||
@@ -64,8 +64,6 @@ enum ZM_BeaconType
|
||||
|
||||
enum OutdoorPvPZMWorldStates
|
||||
{
|
||||
ZM_WORLDSTATE_UNK_1 = 2653,
|
||||
|
||||
ZM_UI_TOWER_EAST_N = 2560,
|
||||
ZM_UI_TOWER_EAST_H = 2559,
|
||||
ZM_UI_TOWER_EAST_A = 2558,
|
||||
@@ -102,7 +100,6 @@ class OPvPCapturePointZM_Beacon : public OPvPCapturePoint
|
||||
OPvPCapturePointZM_Beacon(OutdoorPvP* pvp, ZM_BeaconType type);
|
||||
|
||||
void ChangeState() override;
|
||||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override;
|
||||
|
||||
void UpdateTowerState();
|
||||
|
||||
@@ -125,7 +122,6 @@ class OPvPCapturePointZM_Graveyard : public OPvPCapturePoint
|
||||
|
||||
bool Update(uint32 diff) override;
|
||||
void ChangeState() override { }
|
||||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override;
|
||||
int32 HandleOpenGo(Player* player, GameObject* go) override;
|
||||
bool HandleGossipOption(Player* player, Creature* creature, uint32 gossipid) override;
|
||||
bool HandleDropFlag(Player* player, uint32 spellId) override;
|
||||
@@ -151,7 +147,6 @@ class OutdoorPvPZM : public OutdoorPvP
|
||||
void HandlePlayerEnterZone(Player* player, uint32 zone) override;
|
||||
void HandlePlayerLeaveZone(Player* player, uint32 zone) override;
|
||||
bool Update(uint32 diff) override;
|
||||
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& packet) override;
|
||||
void SendRemoveWorldStates(Player* player) override;
|
||||
void HandleKillImpl(Player* player, Unit* killed) override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user