AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
OPvPCapturePointNA Class Reference

#include "OutdoorPvPNA.h"

Inheritance diagram for OPvPCapturePointNA:
OPvPCapturePoint

Public Member Functions

 OPvPCapturePointNA (OutdoorPvP *pvp)
 
bool Update (uint32 diff) override
 
void ChangeState () override
 
void SendChangePhase () override
 
void FillInitialWorldStates (WorldPackets::WorldState::InitWorldStates &packet) override
 
bool HandlePlayerEnter (Player *player) override
 
void HandlePlayerLeave (Player *player) override
 
bool HandleCustomSpell (Player *player, uint32 spellId, GameObject *go) override
 
int32 HandleOpenGo (Player *player, GameObject *go) override
 
uint32 GetAliveGuardsCount ()
 
TeamId GetControllingFaction () const
 
- Public Member Functions inherited from OPvPCapturePoint
 OPvPCapturePoint (OutdoorPvP *pvp)
 
virtual ~OPvPCapturePoint ()=default
 
void SendUpdateWorldState (uint32 field, uint32 value)
 
void SendObjectiveComplete (uint32 id, ObjectGuid guid=ObjectGuid::Empty)
 
bool IsInsideObjective (Player *player) const
 
virtual void ChangeTeam (TeamId)
 
virtual bool HandleGossipOption (Player *player, Creature *creature, uint32 gossipId)
 
virtual bool CanTalkTo (Player *player, Creature *c, GossipMenuItems const &gso)
 
virtual bool HandleDropFlag (Player *player, uint32 spellId)
 
virtual void DeleteSpawns ()
 
void AddGO (uint32 type, ObjectGuid::LowType guid, uint32 entry=0)
 
void AddCre (uint32 type, ObjectGuid::LowType guid, uint32 entry=0)
 
bool SetCapturePointData (uint32 entry, uint32 map, float x, float y, float z, float o=0, float rotation0=0, float rotation1=0, float rotation2=0, float rotation3=0)
 
void SetSlider (float slider)
 
float GetSlider () const
 

Protected Member Functions

void FactionTakeOver (TeamId teamId)
 
void DespawnGOs ()
 
void DespawnCreatures (HalaaNPCS teamNPC)
 
void SpawnNPCsForTeam (HalaaNPCS teamNPC)
 
void SpawnGOsForTeam (TeamId teamId)
 
void UpdateWyvernRoostWorldState (uint32 roost)
 
void UpdateHalaaWorldState ()
 
- Protected Member Functions inherited from OPvPCapturePoint
bool AddObject (uint32 type, uint32 entry, uint32 map, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3)
 
bool AddCreature (uint32 type, uint32 entry, uint32 map, float x, float y, float z, float o, uint32 spawntimeDelay=0)
 
bool DelCreature (uint32 type)
 
bool DelObject (uint32 type)
 
bool DelCapturePoint ()
 

Private Attributes

bool m_capturable
 
uint32 m_GuardsAlive
 
TeamId m_ControllingFaction
 
uint32 m_WyvernStateNorth
 
uint32 m_WyvernStateSouth
 
uint32 m_WyvernStateEast
 
uint32 m_WyvernStateWest
 
uint32 m_HalaaState
 
uint32 m_RespawnTimer
 
uint32 m_GuardCheckTimer
 
bool m_canRecap
 

Additional Inherited Members

- Public Attributes inherited from OPvPCapturePoint
ObjectGuid::LowType m_capturePointSpawnId {}
 
GameObject_capturePoint {}
 
- Protected Attributes inherited from OPvPCapturePoint
std::array< PlayerSet, 2 > _activePlayers
 
float _maxValue {}
 
float _minValue {}
 
float _maxSpeed {}
 
float _value {}
 
TeamId _team { TEAM_NEUTRAL }
 
ObjectiveStates _oldState { OBJECTIVESTATE_NEUTRAL }
 
ObjectiveStates _state { OBJECTIVESTATE_NEUTRAL }
 
uint32 _neutralValuePct {}
 
OutdoorPvP_pvp {}
 
std::unordered_map< uint32, ObjectGuid::LowType_objects
 
std::unordered_map< uint32, ObjectGuid::LowType_creatures
 
std::unordered_map< ObjectGuid::LowType, uint32_objectTypes
 
std::unordered_map< ObjectGuid::LowType, uint32_creatureTypes
 

Detailed Description

Constructor & Destructor Documentation

◆ OPvPCapturePointNA()

OPvPCapturePointNA::OPvPCapturePointNA ( OutdoorPvP pvp)
263 :
267{
268 SetCapturePointData(182210, MAP_OUTLAND, -1572.57f, 7945.3f, -22.475f, 2.05949f, 0.0f, 0.0f, 0.857167f, 0.515038f);
269}
@ MAP_OUTLAND
Definition AreaDefines.h:215
const uint32 NA_GUARD_CHECK_TIME
Definition OutdoorPvPNA.h:45
@ HALAA_N
Definition OutdoorPvPNA.h:168
const uint32 NA_RESPAWN_TIME
Definition OutdoorPvPNA.h:43
@ TEAM_NEUTRAL
Definition SharedDefines.h:762
uint32 m_WyvernStateNorth
Definition OutdoorPvPNA.h:224
bool m_canRecap
Definition OutdoorPvPNA.h:235
uint32 m_RespawnTimer
Definition OutdoorPvPNA.h:231
bool m_capturable
Definition OutdoorPvPNA.h:218
uint32 m_HalaaState
Definition OutdoorPvPNA.h:229
TeamId m_ControllingFaction
Definition OutdoorPvPNA.h:222
uint32 m_WyvernStateWest
Definition OutdoorPvPNA.h:227
uint32 m_WyvernStateEast
Definition OutdoorPvPNA.h:226
uint32 m_GuardsAlive
Definition OutdoorPvPNA.h:220
uint32 m_GuardCheckTimer
Definition OutdoorPvPNA.h:233
uint32 m_WyvernStateSouth
Definition OutdoorPvPNA.h:225
Definition OutdoorPvP.h:91
bool SetCapturePointData(uint32 entry, uint32 map, float x, float y, float z, float o=0, float rotation0=0, float rotation1=0, float rotation2=0, float rotation3=0)
Definition OutdoorPvP.cpp:127

References MAP_OUTLAND, and OPvPCapturePoint::SetCapturePointData().

Member Function Documentation

◆ ChangeState()

void OPvPCapturePointNA::ChangeState ( )
overridevirtual

Implements OPvPCapturePoint.

784{
785 uint32 artkit = 21;
786 switch (_state)
787 {
790 break;
793 if (m_canRecap)
795 artkit = 2;
796 break;
799 if (m_canRecap)
801 artkit = 1;
802 break;
805 break;
808 break;
811 artkit = 2;
812 break;
815 artkit = 1;
816 break;
817 }
818
819 auto bounds = sMapMgr->FindMap(MAP_OUTLAND, 0)->GetGameObjectBySpawnIdStore().equal_range(m_capturePointSpawnId);
820 for (auto itr = bounds.first; itr != bounds.second; ++itr)
821 itr->second->SetGoArtKit(artkit);
822
824}
std::uint32_t uint32
Definition Define.h:107
#define sMapMgr
Definition MapMgr.h:220
@ HALAA_N_A
Definition OutdoorPvPNA.h:169
@ HALAA_H
Definition OutdoorPvPNA.h:172
@ HALAA_A
Definition OutdoorPvPNA.h:170
@ HALAA_N_H
Definition OutdoorPvPNA.h:171
@ OBJECTIVESTATE_HORDE
Definition OutdoorPvP.h:45
@ OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE
Definition OutdoorPvP.h:47
@ OBJECTIVESTATE_ALLIANCE
Definition OutdoorPvP.h:44
@ OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE
Definition OutdoorPvP.h:46
@ OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE
Definition OutdoorPvP.h:49
@ OBJECTIVESTATE_NEUTRAL
Definition OutdoorPvP.h:43
@ OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE
Definition OutdoorPvP.h:48
@ TEAM_ALLIANCE
Definition SharedDefines.h:760
@ TEAM_HORDE
Definition SharedDefines.h:761
void FactionTakeOver(TeamId teamId)
Definition OutdoorPvPNA.cpp:195
void UpdateHalaaWorldState()
Definition OutdoorPvPNA.cpp:836
ObjectiveStates _state
Definition OutdoorPvP.h:167
ObjectGuid::LowType m_capturePointSpawnId
Definition OutdoorPvP.h:125

References OPvPCapturePoint::_state, FactionTakeOver(), HALAA_A, HALAA_H, HALAA_N, HALAA_N_A, HALAA_N_H, m_canRecap, OPvPCapturePoint::m_capturePointSpawnId, m_HalaaState, MAP_OUTLAND, OBJECTIVESTATE_ALLIANCE, OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE, OBJECTIVESTATE_HORDE, OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE, OBJECTIVESTATE_NEUTRAL, OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE, OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE, sMapMgr, TEAM_ALLIANCE, TEAM_HORDE, and UpdateHalaaWorldState().

Referenced by Update().

◆ DespawnCreatures()

void OPvPCapturePointNA::DespawnCreatures ( HalaaNPCS  teamNPC)
protected
126{
127 for (int i = 0; i < NA_HALAA_CREATURE_TEAM_SPAWN; i++)
128 {
129 ObjectGuid::LowType spawnId = teamNPC[i];
130 auto bounds = _pvp->GetMap()->GetCreatureBySpawnIdStore().equal_range(spawnId);
131 CreatureData const* data = sObjectMgr->GetCreatureData(spawnId);
132 for (auto itr = bounds.first; itr != bounds.second;)
133 {
134 // can happen when closing the core
135 Creature* c = itr->second;
136 if (c)
137 {
138 ++itr;
140 sObjectMgr->RemoveCreatureFromGrid(spawnId, data);
141 _creatures[i] = 0;
143 }
144 }
145 }
146}
#define sObjectMgr
Definition ObjectMgr.h:1650
@ NA_HALAA_CREATURE_TEAM_SPAWN
Definition OutdoorPvPNA.h:93
Definition Creature.h:43
CreatureBySpawnIdContainer & GetCreatureBySpawnIdStore()
Definition Map.h:367
std::unordered_map< ObjectGuid::LowType, uint32 > _creatureTypes
Definition OutdoorPvP.h:181
std::unordered_map< uint32, ObjectGuid::LowType > _creatures
Definition OutdoorPvP.h:179
OutdoorPvP * _pvp
Definition OutdoorPvP.h:173
uint32 LowType
Definition ObjectGuid.h:122
Map * GetMap() const
Definition OutdoorPvP.h:244
void AddObjectToRemoveList()
Definition Object.cpp:2160
Definition CreatureData.h:370

References OPvPCapturePoint::_creatures, OPvPCapturePoint::_creatureTypes, OPvPCapturePoint::_pvp, WorldObject::AddObjectToRemoveList(), Map::GetCreatureBySpawnIdStore(), OutdoorPvP::GetMap(), NA_HALAA_CREATURE_TEAM_SPAWN, and sObjectMgr.

Referenced by FactionTakeOver(), and Update().

◆ DespawnGOs()

void OPvPCapturePointNA::DespawnGOs ( )
protected
188{
189 for (int i = 0; i < NA_CONTROL_GO_NUM; ++i)
190 {
191 DelObject(i);
192 }
193}
@ NA_CONTROL_GO_NUM
Definition OutdoorPvPNA.h:69
bool DelObject(uint32 type)
Definition OutdoorPvP.cpp:193

References OPvPCapturePoint::DelObject(), and NA_CONTROL_GO_NUM.

Referenced by FactionTakeOver(), and Update().

◆ FactionTakeOver()

void OPvPCapturePointNA::FactionTakeOver ( TeamId  teamId)
protected
196{
200 sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_LOSE_A));
202 sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_LOSE_H));
204 m_ControllingFaction = teamId;
207 DespawnGOs();
208 SpawnGOsForTeam(teamId);
211 m_capturable = false;
212 m_canRecap = false;
213 this->UpdateHalaaWorldState();
214 if (teamId == TEAM_ALLIANCE)
215 {
224 sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_CAPTURE_A));
225 }
226 else
227 {
236 sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_CAPTURE_H));
237 }
242}
#define sGraveyard
Definition GameGraveyard.h:74
@ LANG_OPVP_NA_CAPTURE_A
Definition Language.h:1228
@ LANG_OPVP_NA_LOSE_A
Definition Language.h:1230
@ LANG_OPVP_NA_LOSE_H
Definition Language.h:1229
@ LANG_OPVP_NA_CAPTURE_H
Definition Language.h:1227
HalaaNPCS halaaNPCAlly
Definition OutdoorPvPNA.cpp:44
HalaaNPCS halaaNPCHorde
Definition OutdoorPvPNA.cpp:43
const uint32 NA_HALAA_GRAVEYARD
Definition OutdoorPvPNA.h:39
const uint32 NA_GUARDS_MAX
Definition OutdoorPvPNA.h:35
@ WYVERN_NEU_HORDE
Definition OutdoorPvPNA.h:160
@ WYVERN_NEU_ALLIANCE
Definition OutdoorPvPNA.h:161
@ NA_ROOST_W
Definition OutdoorPvPNA.h:55
@ NA_ROOST_E
Definition OutdoorPvPNA.h:57
@ NA_ROOST_N
Definition OutdoorPvPNA.h:56
@ NA_ROOST_S
Definition OutdoorPvPNA.h:54
const uint32 NA_HALAA_GRAVEYARD_ZONE
Definition OutdoorPvPNA.h:41
@ NA_CAPTURE_BUFF
Definition OutdoorPvPNA.h:29
#define sWorldSessionMgr
Definition WorldSessionMgr.h:110
@ WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT
Definition WorldStateDefines.h:474
@ WORLD_STATE_OPVP_NA_UI_HORDE_GUARDS_SHOW
Definition WorldStateDefines.h:480
@ WORLD_STATE_OPVP_NA_UI_ALLIANCE_GUARDS_SHOW
Definition WorldStateDefines.h:479
void UpdateWyvernRoostWorldState(uint32 roost)
Definition OutdoorPvPNA.cpp:845
void SpawnNPCsForTeam(HalaaNPCS teamNPC)
Definition OutdoorPvPNA.cpp:148
void DespawnGOs()
Definition OutdoorPvPNA.cpp:187
void DespawnCreatures(HalaaNPCS teamNPC)
Definition OutdoorPvPNA.cpp:125
TeamId GetControllingFaction() const
Definition OutdoorPvPNA.cpp:120
void SpawnGOsForTeam(TeamId teamId)
Definition OutdoorPvPNA.cpp:163
void TeamApplyBuff(TeamId teamId, uint32 spellId, uint32 spellId2=0, Player *sameMapPlr=nullptr)
Definition OutdoorPvP.cpp:670
void SendUpdateWorldState(uint32 field, uint32 value)
Definition OutdoorPvP.cpp:456

References OPvPCapturePoint::_pvp, DespawnCreatures(), DespawnGOs(), GetControllingFaction(), halaaNPCAlly, halaaNPCHorde, LANG_OPVP_NA_CAPTURE_A, LANG_OPVP_NA_CAPTURE_H, LANG_OPVP_NA_LOSE_A, LANG_OPVP_NA_LOSE_H, m_canRecap, m_capturable, m_ControllingFaction, m_GuardsAlive, m_WyvernStateEast, m_WyvernStateNorth, m_WyvernStateSouth, m_WyvernStateWest, NA_CAPTURE_BUFF, NA_GUARDS_MAX, NA_HALAA_GRAVEYARD, NA_HALAA_GRAVEYARD_ZONE, NA_ROOST_E, NA_ROOST_N, NA_ROOST_S, NA_ROOST_W, OutdoorPvP::SendUpdateWorldState(), sGraveyard, sObjectMgr, SpawnGOsForTeam(), SpawnNPCsForTeam(), sWorldSessionMgr, TEAM_ALLIANCE, TEAM_HORDE, TEAM_NEUTRAL, OutdoorPvP::TeamApplyBuff(), UpdateHalaaWorldState(), UpdateWyvernRoostWorldState(), WORLD_STATE_OPVP_NA_UI_ALLIANCE_GUARDS_SHOW, WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT, WORLD_STATE_OPVP_NA_UI_HORDE_GUARDS_SHOW, WYVERN_NEU_ALLIANCE, and WYVERN_NEU_HORDE.

Referenced by ChangeState(), and Update().

◆ FillInitialWorldStates()

void OPvPCapturePointNA::FillInitialWorldStates ( WorldPackets::WorldState::InitWorldStates packet)
overridevirtual

Reimplemented from OPvPCapturePoint.

312{
313 packet.Worldstates.reserve(25);
315 {
318 }
320 {
323 }
324 else
325 {
328 }
329
348 packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEUTRAL, (m_HalaaState & HALAA_N) != 0 ? 1 : 0);
349 packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_A, (m_HalaaState & HALAA_N_A) != 0 ? 1 : 0);
350 packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_H, (m_HalaaState & HALAA_N_H) != 0 ? 1 : 0);
351 packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_HORDE, (m_HalaaState & HALAA_H) != 0 ? 1 : 0);
352 packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_ALLIANCE, (m_HalaaState & HALAA_A) != 0 ? 1 : 0);
353}
@ WYVERN_ALLIANCE
Definition OutdoorPvPNA.h:163
@ WYVERN_HORDE
Definition OutdoorPvPNA.h:162
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_H
Definition WorldStateDefines.h:482
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_H
Definition WorldStateDefines.h:498
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_A
Definition WorldStateDefines.h:492
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_A
Definition WorldStateDefines.h:486
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_H
Definition WorldStateDefines.h:487
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_A
Definition WorldStateDefines.h:484
@ WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_A
Definition WorldStateDefines.h:496
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_A
Definition WorldStateDefines.h:481
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_A
Definition WorldStateDefines.h:489
@ WORLD_STATE_OPVP_NA_MAP_HALAA_ALLIANCE
Definition WorldStateDefines.h:495
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_H
Definition WorldStateDefines.h:499
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_A
Definition WorldStateDefines.h:491
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_H
Definition WorldStateDefines.h:485
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_H
Definition WorldStateDefines.h:500
@ WORLD_STATE_OPVP_NA_UI_GUARDS_MAX
Definition WorldStateDefines.h:475
@ WORLD_STATE_OPVP_NA_MAP_HALAA_NEUTRAL
Definition WorldStateDefines.h:493
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_H
Definition WorldStateDefines.h:501
@ WORLD_STATE_OPVP_NA_MAP_HALAA_HORDE
Definition WorldStateDefines.h:494
@ WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_H
Definition WorldStateDefines.h:497
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_A
Definition WorldStateDefines.h:483
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_A
Definition WorldStateDefines.h:488
@ WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_H
Definition WorldStateDefines.h:490
std::vector< WorldStateInfo > Worldstates
Definition WorldStatePackets.h:46

References HALAA_A, HALAA_H, HALAA_N, HALAA_N_A, HALAA_N_H, m_ControllingFaction, m_GuardsAlive, m_HalaaState, m_WyvernStateEast, m_WyvernStateNorth, m_WyvernStateSouth, m_WyvernStateWest, NA_GUARDS_MAX, TEAM_ALLIANCE, TEAM_HORDE, WORLD_STATE_OPVP_NA_MAP_HALAA_ALLIANCE, WORLD_STATE_OPVP_NA_MAP_HALAA_HORDE, WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_A, WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_H, WORLD_STATE_OPVP_NA_MAP_HALAA_NEUTRAL, WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_H, WORLD_STATE_OPVP_NA_UI_ALLIANCE_GUARDS_SHOW, WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT, WORLD_STATE_OPVP_NA_UI_GUARDS_MAX, WORLD_STATE_OPVP_NA_UI_HORDE_GUARDS_SHOW, WorldPackets::WorldState::InitWorldStates::Worldstates, WYVERN_ALLIANCE, WYVERN_HORDE, WYVERN_NEU_ALLIANCE, and WYVERN_NEU_HORDE.

Referenced by OutdoorPvPNA::FillInitialWorldStates().

◆ GetAliveGuardsCount()

uint32 OPvPCapturePointNA::GetAliveGuardsCount ( )
108{
109 uint32 count = 0;
110 for (auto itr = _creatures.begin(); itr != _creatures.end(); ++itr)
111 {
112 auto bounds = _pvp->GetMap()->GetCreatureBySpawnIdStore().equal_range(itr->second);
113 for (auto itr2 = bounds.first; itr2 != bounds.second; ++itr2)
114 if (itr2->second->IsAlive() && (itr2->second->GetEntry() == NA_HALAANI_GUARD_A || itr2->second->GetEntry() == NA_HALAANI_GUARD_H))
115 ++count;
116 }
117 return count;
118}
@ NA_HALAANI_GUARD_H
Definition OutdoorPvPNA.h:87
@ NA_HALAANI_GUARD_A
Definition OutdoorPvPNA.h:86

References OPvPCapturePoint::_creatures, OPvPCapturePoint::_pvp, Map::GetCreatureBySpawnIdStore(), OutdoorPvP::GetMap(), NA_HALAANI_GUARD_A, and NA_HALAANI_GUARD_H.

Referenced by Update().

◆ GetControllingFaction()

TeamId OPvPCapturePointNA::GetControllingFaction ( ) const

◆ HandleCustomSpell()

bool OPvPCapturePointNA::HandleCustomSpell ( Player player,
uint32  spellId,
GameObject go 
)
overridevirtual

Reimplemented from OPvPCapturePoint.

399{
400 std::vector<uint32> nodes;
401 nodes.resize(2);
402 bool retval = false;
403 switch (spellId)
404 {
407 nodes[1] = FlightPathEndNodes[NA_ROOST_N];
408 player->ActivateTaxiPathTo(nodes);
409 FlagPlayerPvP(player);
410 retval = true;
411 break;
414 nodes[1] = FlightPathEndNodes[NA_ROOST_S];
415 player->ActivateTaxiPathTo(nodes);
416 FlagPlayerPvP(player);
417 retval = true;
418 break;
421 nodes[1] = FlightPathEndNodes[NA_ROOST_W];
422 player->ActivateTaxiPathTo(nodes);
423 FlagPlayerPvP(player);
424 retval = true;
425 break;
428 nodes[1] = FlightPathEndNodes[NA_ROOST_E];
429 player->ActivateTaxiPathTo(nodes);
430 FlagPlayerPvP(player);
431 retval = true;
432 break;
433 default:
434 break;
435 }
436
437 if (retval)
438 {
439 //Adding items
440 uint32 noSpaceForCount = 0;
441
442 // check space and find places
443 ItemPosCountVec dest;
444
445 int32 count = 10;
446 // bomb id count
447 InventoryResult msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, NA_HALAA_BOMB, count, &noSpaceForCount);
448 if (msg != EQUIP_ERR_OK) // convert to possible store amount
449 count -= noSpaceForCount;
450
451 if (count == 0 || dest.empty()) // can't add any
452 {
453 return true;
454 }
455
456 Item* item = player->StoreNewItem(dest, NA_HALAA_BOMB, true);
457
458 if (count > 0 && item)
459 {
460 player->SendNewItem(item, count, true, false);
461 }
462
463 return true;
464 }
465 return false;
466}
std::int32_t int32
Definition Define.h:103
InventoryResult
Definition Item.h:46
@ EQUIP_ERR_OK
Definition Item.h:47
@ NULL_BAG
Definition Item.h:40
@ NULL_SLOT
Definition Item.h:41
void FlagPlayerPvP(Player *player)
Definition OutdoorPvPNA.cpp:392
@ NA_SPELL_FLY_SOUTH
Definition OutdoorPvPNA.h:77
@ NA_SPELL_FLY_WEST
Definition OutdoorPvPNA.h:78
@ NA_SPELL_FLY_EAST
Definition OutdoorPvPNA.h:80
@ NA_SPELL_FLY_NORTH
Definition OutdoorPvPNA.h:79
const uint32 NA_HALAA_BOMB
Definition OutdoorPvPNA.h:47
const uint32 FlightPathEndNodes[FLIGHT_NODES_NUM]
Definition OutdoorPvPNA.h:73
const uint32 FlightPathStartNodes[FLIGHT_NODES_NUM]
Definition OutdoorPvPNA.h:72
std::vector< ItemPosCount > ItemPosCountVec
Definition Player.h:777
Definition Item.h:220
bool ActivateTaxiPathTo(std::vector< uint32 > const &nodes, Creature *npc=nullptr, uint32 spellid=1)
Definition Player.cpp:10179
void SendNewItem(Item *item, uint32 count, bool received, bool created, bool broadcast=false, bool sendChatMessage=true)
Definition PlayerStorage.cpp:4750
Item * StoreNewItem(ItemPosCountVec const &pos, uint32 item, bool update, int32 randomPropertyId=0)
Definition PlayerStorage.cpp:2524
InventoryResult CanStoreNewItem(uint8 bag, uint8 slot, ItemPosCountVec &dest, uint32 item, uint32 count, uint32 *no_space_count=nullptr) const
Definition Player.h:1292

References Player::ActivateTaxiPathTo(), Player::CanStoreNewItem(), EQUIP_ERR_OK, FlagPlayerPvP(), FlightPathEndNodes, FlightPathStartNodes, NA_HALAA_BOMB, NA_ROOST_E, NA_ROOST_N, NA_ROOST_S, NA_ROOST_W, NA_SPELL_FLY_EAST, NA_SPELL_FLY_NORTH, NA_SPELL_FLY_SOUTH, NA_SPELL_FLY_WEST, NULL_BAG, NULL_SLOT, Player::SendNewItem(), and Player::StoreNewItem().

◆ HandleOpenGo()

int32 OPvPCapturePointNA::HandleOpenGo ( Player player,
GameObject go 
)
overridevirtual

Reimplemented from OPvPCapturePoint.

469{
470 int32 retval = OPvPCapturePoint::HandleOpenGo(player, go);
471 if (retval >= 0)
472 {
473 const go_type* gos = nullptr;
475 gos = AllianceControlGOs;
477 gos = HordeControlGOs;
478 else
479 return -1;
480
481 int32 del = -1;
482 int32 del2 = -1;
483 int32 add = -1;
484 int32 add2 = -1;
485
486 switch (retval)
487 {
490 add = NA_ROOST_S;
491 add2 = NA_BOMB_WAGON_S;
494 else
497 FlagPlayerPvP(player);
498 break;
501 add = NA_ROOST_N;
502 add2 = NA_BOMB_WAGON_N;
505 else
508 FlagPlayerPvP(player);
509 break;
512 add = NA_ROOST_W;
513 add2 = NA_BOMB_WAGON_W;
516 else
519 FlagPlayerPvP(player);
520 break;
523 add = NA_ROOST_E;
524 add2 = NA_BOMB_WAGON_E;
527 else
530 FlagPlayerPvP(player);
531 break;
532 case NA_BOMB_WAGON_S:
533 del = NA_BOMB_WAGON_S;
534 del2 = NA_ROOST_S;
538 else
541 FlagPlayerPvP(player);
542 break;
543 case NA_BOMB_WAGON_N:
544 del = NA_BOMB_WAGON_N;
545 del2 = NA_ROOST_N;
549 else
552 FlagPlayerPvP(player);
553 break;
554 case NA_BOMB_WAGON_W:
555 del = NA_BOMB_WAGON_W;
556 del2 = NA_ROOST_W;
560 else
563 FlagPlayerPvP(player);
564 break;
565 case NA_BOMB_WAGON_E:
566 del = NA_BOMB_WAGON_E;
567 del2 = NA_ROOST_E;
571 else
574 FlagPlayerPvP(player);
575 break;
576 default:
577 return -1;
578 break;
579 }
580
581 if (del > -1)
582 DelObject(del);
583
584 if (del2 > -1)
585 DelObject(del2);
586
587 if (add > -1)
588 AddObject(add, gos[add].entry, gos[add].map, gos[add].x, gos[add].y, gos[add].z, gos[add].o, gos[add].rot0, gos[add].rot1, gos[add].rot2, gos[add].rot3);
589
590 if (add2 > -1)
591 AddObject(add2, gos[add2].entry, gos[add2].map, gos[add2].x, gos[add2].y, gos[add2].z, gos[add2].o, gos[add2].rot0, gos[add2].rot1, gos[add2].rot2, gos[add2].rot3);
592
593 return retval;
594 }
595 return -1;
596}
const go_type HordeControlGOs[NA_CONTROL_GO_NUM]
Definition OutdoorPvPNA.h:98
@ NA_BOMB_WAGON_E
Definition OutdoorPvPNA.h:62
@ NA_DESTROYED_ROOST_S
Definition OutdoorPvPNA.h:64
@ NA_BOMB_WAGON_N
Definition OutdoorPvPNA.h:61
@ NA_BOMB_WAGON_W
Definition OutdoorPvPNA.h:60
@ NA_DESTROYED_ROOST_E
Definition OutdoorPvPNA.h:67
@ NA_BOMB_WAGON_S
Definition OutdoorPvPNA.h:59
@ NA_DESTROYED_ROOST_N
Definition OutdoorPvPNA.h:66
@ NA_DESTROYED_ROOST_W
Definition OutdoorPvPNA.h:65
const go_type AllianceControlGOs[NA_CONTROL_GO_NUM]
Definition OutdoorPvPNA.h:117
bool AddObject(uint32 type, uint32 entry, uint32 map, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3)
Definition OutdoorPvP.cpp:105
virtual int32 HandleOpenGo(Player *player, GameObject *go)
Definition OutdoorPvP.cpp:611
Definition OutdoorPvP.h:54

References OPvPCapturePoint::AddObject(), AllianceControlGOs, OPvPCapturePoint::DelObject(), FlagPlayerPvP(), OPvPCapturePoint::HandleOpenGo(), HordeControlGOs, m_ControllingFaction, m_WyvernStateEast, m_WyvernStateNorth, m_WyvernStateSouth, m_WyvernStateWest, NA_BOMB_WAGON_E, NA_BOMB_WAGON_N, NA_BOMB_WAGON_S, NA_BOMB_WAGON_W, NA_DESTROYED_ROOST_E, NA_DESTROYED_ROOST_N, NA_DESTROYED_ROOST_S, NA_DESTROYED_ROOST_W, NA_ROOST_E, NA_ROOST_N, NA_ROOST_S, NA_ROOST_W, TEAM_ALLIANCE, TEAM_HORDE, UpdateWyvernRoostWorldState(), WYVERN_ALLIANCE, WYVERN_HORDE, WYVERN_NEU_ALLIANCE, and WYVERN_NEU_HORDE.

◆ HandlePlayerEnter()

bool OPvPCapturePointNA::HandlePlayerEnter ( Player player)
overridevirtual

Reimplemented from OPvPCapturePoint.

245{
247 {
249 uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
252 return true;
253 }
254 return false;
255}
@ WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_POS
Definition WorldStateDefines.h:476
@ WORLD_STATE_OPVP_NA_UI_SLIDER_N
Definition WorldStateDefines.h:478
@ WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY
Definition WorldStateDefines.h:477
phase
Definition boss_skadi.cpp:103
uint32 _neutralValuePct
Definition OutdoorPvP.h:170
float _maxValue
Definition OutdoorPvP.h:154
virtual bool HandlePlayerEnter(Player *player)
Definition OutdoorPvP.cpp:34
float _value
Definition OutdoorPvP.h:161
void SendUpdateWorldState(uint32 variable, uint32 value) const
Definition PlayerUpdates.cpp:2243

References OPvPCapturePoint::_maxValue, OPvPCapturePoint::_neutralValuePct, OPvPCapturePoint::_value, OPvPCapturePoint::HandlePlayerEnter(), Player::SendUpdateWorldState(), WORLD_STATE_OPVP_NA_UI_SLIDER_N, WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY, and WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_POS.

Referenced by Update().

◆ HandlePlayerLeave()

void OPvPCapturePointNA::HandlePlayerLeave ( Player player)
overridevirtual

◆ SendChangePhase()

void OPvPCapturePointNA::SendChangePhase ( )
overridevirtual

Reimplemented from OPvPCapturePoint.

827{
828 // send this too, sometimes the slider disappears, dunno why :(
830 // send these updates to only the ones in this objective
831 uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
834}
void SendUpdateWorldState(uint32 field, uint32 value)
Definition OutdoorPvP.cpp:465

References OPvPCapturePoint::_maxValue, OPvPCapturePoint::_neutralValuePct, OPvPCapturePoint::_value, OPvPCapturePoint::SendUpdateWorldState(), WORLD_STATE_OPVP_NA_UI_SLIDER_N, WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY, and WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_POS.

Referenced by Update().

◆ SpawnGOsForTeam()

void OPvPCapturePointNA::SpawnGOsForTeam ( TeamId  teamId)
protected
164{
165 const go_type* gos = nullptr;
166 if (teamId == TEAM_ALLIANCE)
167 gos = AllianceControlGOs;
168 else if (teamId == TEAM_HORDE)
169 gos = HordeControlGOs;
170 else
171 return;
172 for (int i = 0; i < NA_CONTROL_GO_NUM; ++i)
173 {
174 if (i == NA_ROOST_S ||
175 i == NA_ROOST_W ||
176 i == NA_ROOST_N ||
177 i == NA_ROOST_E ||
178 i == NA_BOMB_WAGON_S ||
179 i == NA_BOMB_WAGON_W ||
180 i == NA_BOMB_WAGON_N ||
181 i == NA_BOMB_WAGON_E)
182 continue; // roosts and bomb wagons are spawned when someone uses the matching destroyed roost
183 AddObject(i, gos[i].entry, gos[i].map, gos[i].x, gos[i].y, gos[i].z, gos[i].o, gos[i].rot0, gos[i].rot1, gos[i].rot2, gos[i].rot3);
184 }
185}

References OPvPCapturePoint::AddObject(), AllianceControlGOs, HordeControlGOs, NA_BOMB_WAGON_E, NA_BOMB_WAGON_N, NA_BOMB_WAGON_S, NA_BOMB_WAGON_W, NA_CONTROL_GO_NUM, NA_ROOST_E, NA_ROOST_N, NA_ROOST_S, NA_ROOST_W, TEAM_ALLIANCE, and TEAM_HORDE.

Referenced by FactionTakeOver().

◆ SpawnNPCsForTeam()

void OPvPCapturePointNA::SpawnNPCsForTeam ( HalaaNPCS  teamNPC)
protected
149{
150 for (int i = 0; i < NA_HALAA_CREATURE_TEAM_SPAWN; i++)
151 {
152 ObjectGuid::LowType spawnId = teamNPC[i];
153 const CreatureData* data = sObjectMgr->GetCreatureData(spawnId);
154 if (data)
155 {
156 UpdateCreatureHalaa(spawnId, _pvp->GetMap(), data->posX, data->posY);
157 _creatures[i] = spawnId;
159 }
160 }
161}
void UpdateCreatureHalaa(ObjectGuid::LowType spawnId, Map *map, float x, float y)
Definition OutdoorPvPNA.cpp:88
float posY
Definition CreatureData.h:380
float posX
Definition CreatureData.h:379

References OPvPCapturePoint::_creatures, OPvPCapturePoint::_creatureTypes, OPvPCapturePoint::_pvp, OutdoorPvP::GetMap(), NA_HALAA_CREATURE_TEAM_SPAWN, CreatureData::posX, CreatureData::posY, sObjectMgr, and UpdateCreatureHalaa().

Referenced by FactionTakeOver().

◆ Update()

bool OPvPCapturePointNA::Update ( uint32  diff)
overridevirtual

Reimplemented from OPvPCapturePoint.

599{
600 if (!_capturePoint)
601 return false;
602
603 float radius = ((float)_capturePoint->GetGOInfo()->capturePoint.radius);
604
605 for (PlayerSet playerSet : _activePlayers)
606 {
607 for (ObjectGuid playerGuid : playerSet)
608 {
609 if (Player* player = ObjectAccessor::FindPlayer(playerGuid))
610 if (!_capturePoint->IsWithinDistInMap(player, radius) || !player->IsOutdoorPvPActive())
611 HandlePlayerLeave(player);
612 }
613 }
614
615 std::list<Player*> players;
618 Cell::VisitWorldObjects(_capturePoint, searcher, radius);
619
620 for (Player* player : players)
621 {
622 if (player->IsOutdoorPvPActive())
623 {
624 if (_activePlayers[player->GetTeamId()].insert(player->GetGUID()).second)
625 HandlePlayerEnter(player);
626 }
627 }
628
629 if (m_GuardCheckTimer < diff)
630 {
633 if (cnt != m_GuardsAlive)
634 {
635 m_GuardsAlive = cnt;
636 if (m_GuardsAlive == 0)
637 {
638 m_capturable = true;
640 sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_DEFENSELESS));
641 }
642 else
643 m_capturable = false;
644 // update the guard count for the players in zone
646 }
647 }
648 else m_GuardCheckTimer -= diff;
649
650 if (m_capturable)
651 {
652 if (m_RespawnTimer < diff)
653 {
654 // if the guards have been killed, then the challenger has one hour to take over halaa.
655 // in case they fail to do it, the guards are respawned, and they have to start again.
657 {
660 }
661 else
662 {
664 _value = -_maxValue;
665 }
666 // we reset again the artkit, map icons, sliders and respawn Halaa for controller team
668 ChangeState();
670 return true;
671 }
672 else if (GetControllingFaction() != TEAM_NEUTRAL) // Don't decrease the respawn timer if the team is not HORDE or ALLIANCE
673 m_RespawnTimer -= diff;
674
675 // get the difference of numbers
676 float factDiff = ((float)_activePlayers[0].size() - (float)_activePlayers[1].size()) * diff / OUTDOORPVP_OBJECTIVE_UPDATE_INTERVAL;
677 if (!factDiff)
678 return false;
679
680 float maxDiff = _maxSpeed * diff;
681
682 if (factDiff < 0)
683 {
684 // horde is in majority, but it's already horde-controlled -> no change
686 return false;
687
688 if (factDiff < -maxDiff)
689 factDiff = -maxDiff;
690 }
691 else
692 {
693 // ally is in majority, but it's already ally-controlled -> no change
695 return false;
696
697 if (factDiff > maxDiff)
698 factDiff = maxDiff;
699 }
700
701 float oldValue = _value;
702 TeamId oldTeam = _team;
703
705
706 _value += factDiff;
707
708 if (_value < -_minValue) // red
709 {
710 if (_value < -_maxValue) //check if the m_value is lower than max, that means horde capped point
711 {
712 _value = -_maxValue;
715 }
716 else //then point is still in battle between teams
717 {
719 {
721 }
722 else
723 {
725 }
726 }
728 {
729 //When the point goes through neutral, the same faction can recapture again to respawn the guards, still need check blizzlike
730 m_canRecap = true;
731 DespawnGOs();
733 }
734 }
735 else //blue
736 {
737 if (_value > _maxValue) //check if the m_value is bigger than max, that means alliance capped point
738 {
742 }
743 else //then point is still in battle between teams
744 {
746 {
748 }
749 else
750 {
752 }
753 }
755 {
756 //When the point goes through neutral, the same faction can recapture again to respawn the guards, still need check blizzlike
757 m_canRecap = true;
758 DespawnGOs();
760 }
761 }
762
763 if (_value != oldValue)
764 {
766 }
767
768 if (_oldState != _state)
769 {
770 if (oldTeam != _team)
771 {
772 ChangeTeam(oldTeam);
773 }
774 ChangeState();
775 return true;
776 }
777 }
778 else
779 SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY, 0); //Point is not capturable so we hide the slider
780 return false;
781}
@ LANG_OPVP_NA_DEFENSELESS
Definition Language.h:1231
#define OUTDOORPVP_OBJECTIVE_UPDATE_INTERVAL
Definition OutdoorPvPMgr.h:21
GuidSet PlayerSet
Definition OutdoorPvP.h:88
TeamId
Definition SharedDefines.h:759
Definition GridNotifiers.h:1354
bool IsWithinDistInMap(Player const *player) const
Definition GameObject.cpp:2988
GameObjectTemplate const * GetGOInfo() const
Definition GameObject.h:136
void ChangeState() override
Definition OutdoorPvPNA.cpp:783
bool HandlePlayerEnter(Player *player) override
Definition OutdoorPvPNA.cpp:244
uint32 GetAliveGuardsCount()
Definition OutdoorPvPNA.cpp:107
void HandlePlayerLeave(Player *player) override
Definition OutdoorPvPNA.cpp:257
void SendChangePhase() override
Definition OutdoorPvPNA.cpp:826
GameObject * _capturePoint
Definition OutdoorPvP.h:126
float _minValue
Definition OutdoorPvP.h:155
ObjectiveStates _oldState
Definition OutdoorPvP.h:166
TeamId _team
Definition OutdoorPvP.h:163
std::array< PlayerSet, 2 > _activePlayers
Definition OutdoorPvP.h:151
virtual void ChangeTeam(TeamId)
Definition OutdoorPvP.h:118
float _maxSpeed
Definition OutdoorPvP.h:158
Definition ObjectGuid.h:118
Definition Player.h:1082
Player * FindPlayer(ObjectGuid const guid)
Definition ObjectAccessor.cpp:245
Definition GridNotifiers.h:525
static void VisitWorldObjects(WorldObject const *obj, T &visitor, float radius)
Definition CellImpl.h:175
uint32 radius
Definition GameObjectData.h:196
struct GameObjectTemplate::@231::@255 capturePoint

References OPvPCapturePoint::_activePlayers, OPvPCapturePoint::_capturePoint, OPvPCapturePoint::_maxSpeed, OPvPCapturePoint::_maxValue, OPvPCapturePoint::_minValue, OPvPCapturePoint::_oldState, OPvPCapturePoint::_pvp, OPvPCapturePoint::_state, OPvPCapturePoint::_team, OPvPCapturePoint::_value, GameObjectTemplate::capturePoint, ChangeState(), OPvPCapturePoint::ChangeTeam(), DespawnCreatures(), DespawnGOs(), FactionTakeOver(), ObjectAccessor::FindPlayer(), GetAliveGuardsCount(), GetControllingFaction(), GameObject::GetGOInfo(), halaaNPCAlly, halaaNPCHorde, HandlePlayerEnter(), HandlePlayerLeave(), GameObject::IsWithinDistInMap(), LANG_OPVP_NA_DEFENSELESS, m_canRecap, m_capturable, m_GuardCheckTimer, m_GuardsAlive, m_RespawnTimer, NA_GUARD_CHECK_TIME, NA_HALAA_GRAVEYARD_ZONE, NA_RESPAWN_TIME, OBJECTIVESTATE_ALLIANCE, OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE, OBJECTIVESTATE_HORDE, OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE, OBJECTIVESTATE_NEUTRAL, OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE, OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE, OUTDOORPVP_OBJECTIVE_UPDATE_INTERVAL, GameObjectTemplate::radius, SendChangePhase(), OPvPCapturePoint::SendUpdateWorldState(), OutdoorPvP::SendUpdateWorldState(), sObjectMgr, sWorldSessionMgr, TEAM_ALLIANCE, TEAM_HORDE, TEAM_NEUTRAL, Cell::VisitWorldObjects(), WORLD_STATE_OPVP_NA_UI_GUARDS_LEFT, and WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY.

Referenced by OutdoorPvPNA::Update().

◆ UpdateHalaaWorldState()

◆ UpdateWyvernRoostWorldState()

void OPvPCapturePointNA::UpdateWyvernRoostWorldState ( uint32  roost)
protected
846{
847 switch (roost)
848 {
849 case NA_ROOST_S:
854 break;
855 case NA_ROOST_N:
860 break;
861 case NA_ROOST_W:
866 break;
867 case NA_ROOST_E:
872 break;
873 }
874}

References OPvPCapturePoint::_pvp, m_WyvernStateEast, m_WyvernStateNorth, m_WyvernStateSouth, m_WyvernStateWest, NA_ROOST_E, NA_ROOST_N, NA_ROOST_S, NA_ROOST_W, OutdoorPvP::SendUpdateWorldState(), WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_EAST_NEU_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_NORTH_NEU_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_SOUTH_NEU_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_H, WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_A, WORLD_STATE_OPVP_NA_MAP_WYVERN_WEST_NEU_H, WYVERN_ALLIANCE, WYVERN_HORDE, WYVERN_NEU_ALLIANCE, and WYVERN_NEU_HORDE.

Referenced by FactionTakeOver(), and HandleOpenGo().

Member Data Documentation

◆ m_canRecap

bool OPvPCapturePointNA::m_canRecap
private

◆ m_capturable

bool OPvPCapturePointNA::m_capturable
private

Referenced by FactionTakeOver(), and Update().

◆ m_ControllingFaction

TeamId OPvPCapturePointNA::m_ControllingFaction
private

◆ m_GuardCheckTimer

uint32 OPvPCapturePointNA::m_GuardCheckTimer
private

Referenced by Update().

◆ m_GuardsAlive

uint32 OPvPCapturePointNA::m_GuardsAlive
private

◆ m_HalaaState

uint32 OPvPCapturePointNA::m_HalaaState
private

◆ m_RespawnTimer

uint32 OPvPCapturePointNA::m_RespawnTimer
private

Referenced by Update().

◆ m_WyvernStateEast

uint32 OPvPCapturePointNA::m_WyvernStateEast
private

◆ m_WyvernStateNorth

uint32 OPvPCapturePointNA::m_WyvernStateNorth
private

◆ m_WyvernStateSouth

uint32 OPvPCapturePointNA::m_WyvernStateSouth
private

◆ m_WyvernStateWest

uint32 OPvPCapturePointNA::m_WyvernStateWest
private

The documentation for this class was generated from the following files: