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)
262 :
266{
267 SetCapturePointData(182210, 530, -1572.57f, 7945.3f, -22.475f, 2.05949f, 0.0f, 0.0f, 0.857167f, 0.515038f);
268}
const uint32 NA_GUARD_CHECK_TIME
Definition OutdoorPvPNA.h:47
@ HALAA_N
Definition OutdoorPvPNA.h:170
const uint32 NA_RESPAWN_TIME
Definition OutdoorPvPNA.h:45
@ TEAM_NEUTRAL
Definition SharedDefines.h:762
uint32 m_WyvernStateNorth
Definition OutdoorPvPNA.h:226
bool m_canRecap
Definition OutdoorPvPNA.h:237
uint32 m_RespawnTimer
Definition OutdoorPvPNA.h:233
bool m_capturable
Definition OutdoorPvPNA.h:220
uint32 m_HalaaState
Definition OutdoorPvPNA.h:231
TeamId m_ControllingFaction
Definition OutdoorPvPNA.h:224
uint32 m_WyvernStateWest
Definition OutdoorPvPNA.h:229
uint32 m_WyvernStateEast
Definition OutdoorPvPNA.h:228
uint32 m_GuardsAlive
Definition OutdoorPvPNA.h:222
uint32 m_GuardCheckTimer
Definition OutdoorPvPNA.h:235
uint32 m_WyvernStateSouth
Definition OutdoorPvPNA.h:227
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 OPvPCapturePoint::SetCapturePointData().

Member Function Documentation

◆ ChangeState()

void OPvPCapturePointNA::ChangeState ( )
overridevirtual

Implements OPvPCapturePoint.

783{
784 uint32 artkit = 21;
785 switch (_state)
786 {
789 break;
792 if (m_canRecap)
794 artkit = 2;
795 break;
798 if (m_canRecap)
800 artkit = 1;
801 break;
804 break;
807 break;
810 artkit = 2;
811 break;
814 artkit = 1;
815 break;
816 }
817
818 auto bounds = sMapMgr->FindMap(530, 0)->GetGameObjectBySpawnIdStore().equal_range(m_capturePointSpawnId);
819 for (auto itr = bounds.first; itr != bounds.second; ++itr)
820 itr->second->SetGoArtKit(artkit);
821
823}
std::uint32_t uint32
Definition Define.h:107
#define sMapMgr
Definition MapMgr.h:220
@ HALAA_N_A
Definition OutdoorPvPNA.h:171
@ HALAA_H
Definition OutdoorPvPNA.h:174
@ HALAA_A
Definition OutdoorPvPNA.h:172
@ HALAA_N_H
Definition OutdoorPvPNA.h:173
@ 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:194
void UpdateHalaaWorldState()
Definition OutdoorPvPNA.cpp:835
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, 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
125{
126 for (int i = 0; i < NA_HALAA_CREATURE_TEAM_SPAWN; i++)
127 {
128 ObjectGuid::LowType spawnId = teamNPC[i];
129 auto bounds = _pvp->GetMap()->GetCreatureBySpawnIdStore().equal_range(spawnId);
130 CreatureData const* data = sObjectMgr->GetCreatureData(spawnId);
131 for (auto itr = bounds.first; itr != bounds.second;)
132 {
133 // can happen when closing the core
134 Creature* c = itr->second;
135 if (c)
136 {
137 ++itr;
139 sObjectMgr->RemoveCreatureFromGrid(spawnId, data);
140 _creatures[i] = 0;
142 }
143 }
144 }
145}
#define sObjectMgr
Definition ObjectMgr.h:1636
@ NA_HALAA_CREATURE_TEAM_SPAWN
Definition OutdoorPvPNA.h:95
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
187{
188 for (int i = 0; i < NA_CONTROL_GO_NUM; ++i)
189 {
190 DelObject(i);
191 }
192}
@ NA_CONTROL_GO_NUM
Definition OutdoorPvPNA.h:71
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
195{
199 sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_LOSE_A));
201 sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_LOSE_H));
203 m_ControllingFaction = teamId;
206 DespawnGOs();
207 SpawnGOsForTeam(teamId);
210 m_capturable = false;
211 m_canRecap = false;
212 this->UpdateHalaaWorldState();
213 if (teamId == TEAM_ALLIANCE)
214 {
223 sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_CAPTURE_A));
224 }
225 else
226 {
235 sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_CAPTURE_H));
236 }
241}
#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:43
HalaaNPCS halaaNPCHorde
Definition OutdoorPvPNA.cpp:42
const uint32 NA_HALAA_GRAVEYARD
Definition OutdoorPvPNA.h:39
const uint32 NA_GUARDS_MAX
Definition OutdoorPvPNA.h:35
@ WYVERN_NEU_HORDE
Definition OutdoorPvPNA.h:162
@ WYVERN_NEU_ALLIANCE
Definition OutdoorPvPNA.h:163
@ NA_ROOST_W
Definition OutdoorPvPNA.h:57
@ NA_ROOST_E
Definition OutdoorPvPNA.h:59
@ NA_ROOST_N
Definition OutdoorPvPNA.h:58
@ NA_ROOST_S
Definition OutdoorPvPNA.h:56
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:844
void SpawnNPCsForTeam(HalaaNPCS teamNPC)
Definition OutdoorPvPNA.cpp:147
void DespawnGOs()
Definition OutdoorPvPNA.cpp:186
void DespawnCreatures(HalaaNPCS teamNPC)
Definition OutdoorPvPNA.cpp:124
TeamId GetControllingFaction() const
Definition OutdoorPvPNA.cpp:119
void SpawnGOsForTeam(TeamId teamId)
Definition OutdoorPvPNA.cpp:162
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.

311{
312 packet.Worldstates.reserve(25);
314 {
317 }
319 {
322 }
323 else
324 {
327 }
328
347 packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEUTRAL, (m_HalaaState & HALAA_N) != 0 ? 1 : 0);
348 packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_A, (m_HalaaState & HALAA_N_A) != 0 ? 1 : 0);
349 packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_NEU_H, (m_HalaaState & HALAA_N_H) != 0 ? 1 : 0);
350 packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_HORDE, (m_HalaaState & HALAA_H) != 0 ? 1 : 0);
351 packet.Worldstates.emplace_back(WORLD_STATE_OPVP_NA_MAP_HALAA_ALLIANCE, (m_HalaaState & HALAA_A) != 0 ? 1 : 0);
352}
@ WYVERN_ALLIANCE
Definition OutdoorPvPNA.h:165
@ WYVERN_HORDE
Definition OutdoorPvPNA.h:164
@ 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 ( )
107{
108 uint32 count = 0;
109 for (auto itr = _creatures.begin(); itr != _creatures.end(); ++itr)
110 {
111 auto bounds = _pvp->GetMap()->GetCreatureBySpawnIdStore().equal_range(itr->second);
112 for (auto itr2 = bounds.first; itr2 != bounds.second; ++itr2)
113 if (itr2->second->IsAlive() && (itr2->second->GetEntry() == NA_HALAANI_GUARD_A || itr2->second->GetEntry() == NA_HALAANI_GUARD_H))
114 ++count;
115 }
116 return count;
117}
@ NA_HALAANI_GUARD_H
Definition OutdoorPvPNA.h:89
@ NA_HALAANI_GUARD_A
Definition OutdoorPvPNA.h:88

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.

398{
399 std::vector<uint32> nodes;
400 nodes.resize(2);
401 bool retval = false;
402 switch (spellId)
403 {
406 nodes[1] = FlightPathEndNodes[NA_ROOST_N];
407 player->ActivateTaxiPathTo(nodes);
408 FlagPlayerPvP(player);
409 retval = true;
410 break;
413 nodes[1] = FlightPathEndNodes[NA_ROOST_S];
414 player->ActivateTaxiPathTo(nodes);
415 FlagPlayerPvP(player);
416 retval = true;
417 break;
420 nodes[1] = FlightPathEndNodes[NA_ROOST_W];
421 player->ActivateTaxiPathTo(nodes);
422 FlagPlayerPvP(player);
423 retval = true;
424 break;
427 nodes[1] = FlightPathEndNodes[NA_ROOST_E];
428 player->ActivateTaxiPathTo(nodes);
429 FlagPlayerPvP(player);
430 retval = true;
431 break;
432 default:
433 break;
434 }
435
436 if (retval)
437 {
438 //Adding items
439 uint32 noSpaceForCount = 0;
440
441 // check space and find places
442 ItemPosCountVec dest;
443
444 int32 count = 10;
445 // bomb id count
446 InventoryResult msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, NA_HALAA_BOMB, count, &noSpaceForCount);
447 if (msg != EQUIP_ERR_OK) // convert to possible store amount
448 count -= noSpaceForCount;
449
450 if (count == 0 || dest.empty()) // can't add any
451 {
452 return true;
453 }
454
455 Item* item = player->StoreNewItem(dest, NA_HALAA_BOMB, true);
456
457 if (count > 0 && item)
458 {
459 player->SendNewItem(item, count, true, false);
460 }
461
462 return true;
463 }
464 return false;
465}
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:391
@ NA_SPELL_FLY_SOUTH
Definition OutdoorPvPNA.h:79
@ NA_SPELL_FLY_WEST
Definition OutdoorPvPNA.h:80
@ NA_SPELL_FLY_EAST
Definition OutdoorPvPNA.h:82
@ NA_SPELL_FLY_NORTH
Definition OutdoorPvPNA.h:81
const uint32 NA_HALAA_BOMB
Definition OutdoorPvPNA.h:49
const uint32 FlightPathEndNodes[FLIGHT_NODES_NUM]
Definition OutdoorPvPNA.h:75
const uint32 FlightPathStartNodes[FLIGHT_NODES_NUM]
Definition OutdoorPvPNA.h:74
std::vector< ItemPosCount > ItemPosCountVec
Definition Player.h:776
Definition Item.h:220
bool ActivateTaxiPathTo(std::vector< uint32 > const &nodes, Creature *npc=nullptr, uint32 spellid=1)
Definition Player.cpp:10294
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:1291

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.

468{
469 int32 retval = OPvPCapturePoint::HandleOpenGo(player, go);
470 if (retval >= 0)
471 {
472 const go_type* gos = nullptr;
474 gos = AllianceControlGOs;
476 gos = HordeControlGOs;
477 else
478 return -1;
479
480 int32 del = -1;
481 int32 del2 = -1;
482 int32 add = -1;
483 int32 add2 = -1;
484
485 switch (retval)
486 {
489 add = NA_ROOST_S;
490 add2 = NA_BOMB_WAGON_S;
493 else
496 FlagPlayerPvP(player);
497 break;
500 add = NA_ROOST_N;
501 add2 = NA_BOMB_WAGON_N;
504 else
507 FlagPlayerPvP(player);
508 break;
511 add = NA_ROOST_W;
512 add2 = NA_BOMB_WAGON_W;
515 else
518 FlagPlayerPvP(player);
519 break;
522 add = NA_ROOST_E;
523 add2 = NA_BOMB_WAGON_E;
526 else
529 FlagPlayerPvP(player);
530 break;
531 case NA_BOMB_WAGON_S:
532 del = NA_BOMB_WAGON_S;
533 del2 = NA_ROOST_S;
537 else
540 FlagPlayerPvP(player);
541 break;
542 case NA_BOMB_WAGON_N:
543 del = NA_BOMB_WAGON_N;
544 del2 = NA_ROOST_N;
548 else
551 FlagPlayerPvP(player);
552 break;
553 case NA_BOMB_WAGON_W:
554 del = NA_BOMB_WAGON_W;
555 del2 = NA_ROOST_W;
559 else
562 FlagPlayerPvP(player);
563 break;
564 case NA_BOMB_WAGON_E:
565 del = NA_BOMB_WAGON_E;
566 del2 = NA_ROOST_E;
570 else
573 FlagPlayerPvP(player);
574 break;
575 default:
576 return -1;
577 break;
578 }
579
580 if (del > -1)
581 DelObject(del);
582
583 if (del2 > -1)
584 DelObject(del2);
585
586 if (add > -1)
587 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);
588
589 if (add2 > -1)
590 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);
591
592 return retval;
593 }
594 return -1;
595}
const go_type HordeControlGOs[NA_CONTROL_GO_NUM]
Definition OutdoorPvPNA.h:100
@ NA_BOMB_WAGON_E
Definition OutdoorPvPNA.h:64
@ NA_DESTROYED_ROOST_S
Definition OutdoorPvPNA.h:66
@ NA_BOMB_WAGON_N
Definition OutdoorPvPNA.h:63
@ NA_BOMB_WAGON_W
Definition OutdoorPvPNA.h:62
@ NA_DESTROYED_ROOST_E
Definition OutdoorPvPNA.h:69
@ NA_BOMB_WAGON_S
Definition OutdoorPvPNA.h:61
@ NA_DESTROYED_ROOST_N
Definition OutdoorPvPNA.h:68
@ NA_DESTROYED_ROOST_W
Definition OutdoorPvPNA.h:67
const go_type AllianceControlGOs[NA_CONTROL_GO_NUM]
Definition OutdoorPvPNA.h:119
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.

244{
246 {
248 uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
251 return true;
252 }
253 return false;
254}
@ 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.

826{
827 // send this too, sometimes the slider disappears, dunno why :(
829 // send these updates to only the ones in this objective
830 uint32 phase = (uint32)ceil((_value + _maxValue) / (2 * _maxValue) * 100.0f);
833}
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
163{
164 const go_type* gos = nullptr;
165 if (teamId == TEAM_ALLIANCE)
166 gos = AllianceControlGOs;
167 else if (teamId == TEAM_HORDE)
168 gos = HordeControlGOs;
169 else
170 return;
171 for (int i = 0; i < NA_CONTROL_GO_NUM; ++i)
172 {
173 if (i == NA_ROOST_S ||
174 i == NA_ROOST_W ||
175 i == NA_ROOST_N ||
176 i == NA_ROOST_E ||
177 i == NA_BOMB_WAGON_S ||
178 i == NA_BOMB_WAGON_W ||
179 i == NA_BOMB_WAGON_N ||
180 i == NA_BOMB_WAGON_E)
181 continue; // roosts and bomb wagons are spawned when someone uses the matching destroyed roost
182 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);
183 }
184}

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
148{
149 for (int i = 0; i < NA_HALAA_CREATURE_TEAM_SPAWN; i++)
150 {
151 ObjectGuid::LowType spawnId = teamNPC[i];
152 const CreatureData* data = sObjectMgr->GetCreatureData(spawnId);
153 if (data)
154 {
155 UpdateCreatureHalaa(spawnId, _pvp->GetMap(), data->posX, data->posY);
156 _creatures[i] = spawnId;
158 }
159 }
160}
void UpdateCreatureHalaa(ObjectGuid::LowType spawnId, Map *map, float x, float y)
Definition OutdoorPvPNA.cpp:87
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.

598{
599 if (!_capturePoint)
600 return false;
601
602 float radius = ((float)_capturePoint->GetGOInfo()->capturePoint.radius);
603
604 for (PlayerSet playerSet : _activePlayers)
605 {
606 for (ObjectGuid playerGuid : playerSet)
607 {
608 if (Player* player = ObjectAccessor::FindPlayer(playerGuid))
609 if (!_capturePoint->IsWithinDistInMap(player, radius) || !player->IsOutdoorPvPActive())
610 HandlePlayerLeave(player);
611 }
612 }
613
614 std::list<Player*> players;
617 Cell::VisitWorldObjects(_capturePoint, searcher, radius);
618
619 for (Player* player : players)
620 {
621 if (player->IsOutdoorPvPActive())
622 {
623 if (_activePlayers[player->GetTeamId()].insert(player->GetGUID()).second)
624 HandlePlayerEnter(player);
625 }
626 }
627
628 if (m_GuardCheckTimer < diff)
629 {
632 if (cnt != m_GuardsAlive)
633 {
634 m_GuardsAlive = cnt;
635 if (m_GuardsAlive == 0)
636 {
637 m_capturable = true;
639 sWorldSessionMgr->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_NA_DEFENSELESS));
640 }
641 else
642 m_capturable = false;
643 // update the guard count for the players in zone
645 }
646 }
647 else m_GuardCheckTimer -= diff;
648
649 if (m_capturable)
650 {
651 if (m_RespawnTimer < diff)
652 {
653 // if the guards have been killed, then the challenger has one hour to take over halaa.
654 // in case they fail to do it, the guards are respawned, and they have to start again.
656 {
659 }
660 else
661 {
663 _value = -_maxValue;
664 }
665 // we reset again the artkit, map icons, sliders and respawn Halaa for controller team
667 ChangeState();
669 return true;
670 }
671 else if (GetControllingFaction() != TEAM_NEUTRAL) // Don't decrease the respawn timer if the team is not HORDE or ALLIANCE
672 m_RespawnTimer -= diff;
673
674 // get the difference of numbers
675 float factDiff = ((float)_activePlayers[0].size() - (float)_activePlayers[1].size()) * diff / OUTDOORPVP_OBJECTIVE_UPDATE_INTERVAL;
676 if (!factDiff)
677 return false;
678
679 float maxDiff = _maxSpeed * diff;
680
681 if (factDiff < 0)
682 {
683 // horde is in majority, but it's already horde-controlled -> no change
685 return false;
686
687 if (factDiff < -maxDiff)
688 factDiff = -maxDiff;
689 }
690 else
691 {
692 // ally is in majority, but it's already ally-controlled -> no change
694 return false;
695
696 if (factDiff > maxDiff)
697 factDiff = maxDiff;
698 }
699
700 float oldValue = _value;
701 TeamId oldTeam = _team;
702
704
705 _value += factDiff;
706
707 if (_value < -_minValue) // red
708 {
709 if (_value < -_maxValue) //check if the m_value is lower than max, that means horde capped point
710 {
711 _value = -_maxValue;
714 }
715 else //then point is still in battle between teams
716 {
718 {
720 }
721 else
722 {
724 }
725 }
727 {
728 //When the point goes through neutral, the same faction can recapture again to respawn the guards, still need check blizzlike
729 m_canRecap = true;
730 DespawnGOs();
732 }
733 }
734 else //blue
735 {
736 if (_value > _maxValue) //check if the m_value is bigger than max, that means alliance capped point
737 {
741 }
742 else //then point is still in battle between teams
743 {
745 {
747 }
748 else
749 {
751 }
752 }
754 {
755 //When the point goes through neutral, the same faction can recapture again to respawn the guards, still need check blizzlike
756 m_canRecap = true;
757 DespawnGOs();
759 }
760 }
761
762 if (_value != oldValue)
763 {
765 }
766
767 if (_oldState != _state)
768 {
769 if (oldTeam != _team)
770 {
771 ChangeTeam(oldTeam);
772 }
773 ChangeState();
774 return true;
775 }
776 }
777 else
778 SendUpdateWorldState(WORLD_STATE_OPVP_NA_UI_TOWER_SLIDER_DISPLAY, 0); //Point is not capturable so we hide the slider
779 return false;
780}
@ 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:782
bool HandlePlayerEnter(Player *player) override
Definition OutdoorPvPNA.cpp:243
uint32 GetAliveGuardsCount()
Definition OutdoorPvPNA.cpp:106
void HandlePlayerLeave(Player *player) override
Definition OutdoorPvPNA.cpp:256
void SendChangePhase() override
Definition OutdoorPvPNA.cpp:825
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:1081
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
845{
846 switch (roost)
847 {
848 case NA_ROOST_S:
853 break;
854 case NA_ROOST_N:
859 break;
860 case NA_ROOST_W:
865 break;
866 case NA_ROOST_E:
871 break;
872 }
873}

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: