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

#include "OutdoorPvPZM.h"

Inheritance diagram for OutdoorPvPZM:
OutdoorPvP ZoneScript

Public Member Functions

 OutdoorPvPZM ()
 
bool SetupOutdoorPvP () override
 
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
 
uint32 GetAllianceTowersControlled () const
 
void SetAllianceTowersControlled (uint32 count)
 
uint32 GetHordeTowersControlled () const
 
void SetHordeTowersControlled (uint32 count)
 
- Public Member Functions inherited from OutdoorPvP
 OutdoorPvP ()=default
 
 ~OutdoorPvP () override
 
void DeleteSpawns ()
 
virtual bool HandleAreaTrigger (Player *player, uint32 trigger)
 
virtual bool HandleCustomSpell (Player *player, uint32 spellId, GameObject *go)
 
virtual bool HandleOpenGo (Player *player, GameObject *go)
 
void OnGameObjectCreate (GameObject *go) override
 
void OnGameObjectRemove (GameObject *go) override
 
void OnCreatureCreate (Creature *creature) override
 
void OnCreatureRemove (Creature *creature) override
 
void SendUpdateWorldState (uint32 field, uint32 value)
 
virtual void HandleKill (Player *killer, Unit *killed)
 
bool IsInsideObjective (Player *player) const
 
virtual void AwardKillBonus (Player *)
 
uint32 GetTypeId () const
 
virtual bool HandleDropFlag (Player *player, uint32 spellId)
 
virtual bool HandleGossipOption (Player *player, Creature *creature, uint32 gossipId)
 
virtual bool CanTalkTo (Player *player, Creature *c, GossipMenuItems const &gso)
 
void TeamApplyBuff (TeamId teamId, uint32 spellId, uint32 spellId2=0, Player *sameMapPlr=nullptr)
 
MapGetMap () const
 
- Public Member Functions inherited from ZoneScript
 ZoneScript ()
 
virtual ~ZoneScript ()
 
virtual uint32 GetCreatureEntry (ObjectGuid::LowType, CreatureData const *data)
 
virtual uint32 GetGameObjectEntry (ObjectGuid::LowType, uint32 entry)
 
virtual void OnUnitDeath (Unit *)
 
virtual void OnCreatureEvade (Creature *)
 
virtual ObjectGuid GetGuidData (uint32) const
 
virtual void SetGuidData (uint32, ObjectGuid)
 
virtual uint64 GetData64 (uint32) const
 
virtual void SetData64 (uint32, uint64)
 
virtual uint32 GetData (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void ProcessEvent (WorldObject *, uint32)
 

Private Attributes

OPvPCapturePointZM_Graveyardm_Graveyard
 
uint32 m_AllianceTowersControlled
 
uint32 m_HordeTowersControlled
 

Additional Inherited Members

- Public Types inherited from OutdoorPvP
typedef std::map< ObjectGuid::LowType, OPvPCapturePoint * > OPvPCapturePointMap
 
typedef std::pair< ObjectGuid::LowType, GameObject * > GoScriptPair
 
typedef std::pair< ObjectGuid::LowType, Creature * > CreatureScriptPair
 
- Protected Member Functions inherited from OutdoorPvP
void BroadcastPacket (WorldPacket &data) const
 
virtual void HandlePlayerResurrects (Player *player, uint32 zone)
 
void AddCapturePoint (OPvPCapturePoint *cp)
 
OPvPCapturePointGetCapturePoint (ObjectGuid::LowType spawnId) const
 
void RegisterZone (uint32 zoneid)
 
bool HasPlayer (Player const *player) const
 
void TeamCastSpell (TeamId team, int32 spellId, Player *sameMapPlr=nullptr)
 
void SetMapFromZone (uint32 zone)
 
- Protected Attributes inherited from OutdoorPvP
OPvPCapturePointMap _capturePoints
 
std::array< PlayerSet, 2 > _players
 
uint32 _typeId {}
 
bool _sendUpdate { true }
 
Map_map {}
 
std::unordered_map< ObjectGuid::LowType, GameObject * > _goScriptStore
 
std::unordered_map< ObjectGuid::LowType, Creature * > _creatureScriptStore
 

Detailed Description

Constructor & Destructor Documentation

◆ OutdoorPvPZM()

OutdoorPvPZM::OutdoorPvPZM ( )
178{
180 m_Graveyard = nullptr;
183}
@ OUTDOOR_PVP_ZM
Definition OutdoorPvP.h:33
OPvPCapturePointZM_Graveyard * m_Graveyard
Definition OutdoorPvPZM.h:221
uint32 m_HordeTowersControlled
Definition OutdoorPvPZM.h:224
uint32 m_AllianceTowersControlled
Definition OutdoorPvPZM.h:223
uint32 _typeId
Definition OutdoorPvP.h:270

References OutdoorPvP::_typeId, m_AllianceTowersControlled, m_Graveyard, m_HordeTowersControlled, and OUTDOOR_PVP_ZM.

Member Function Documentation

◆ FillInitialWorldStates()

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

Reimplemented from OutdoorPvP.

420{
421 packet.Worldstates.emplace_back(WORLD_STATE_OPVP_ZM_UNK, 1);
422 for (OPvPCapturePointMap::iterator itr = _capturePoints.begin(); itr != _capturePoints.end(); ++itr)
423 {
424 itr->second->FillInitialWorldStates(packet);
425 }
426}
@ WORLD_STATE_OPVP_ZM_UNK
Definition WorldStateDefines.h:437
OPvPCapturePointMap _capturePoints
Definition OutdoorPvP.h:268
std::vector< WorldStateInfo > Worldstates
Definition WorldStatePackets.h:46

References OutdoorPvP::_capturePoints, WORLD_STATE_OPVP_ZM_UNK, and WorldPackets::WorldState::InitWorldStates::Worldstates.

◆ GetAllianceTowersControlled()

uint32 OutdoorPvPZM::GetAllianceTowersControlled ( ) const
400{
402}

References m_AllianceTowersControlled.

◆ GetHordeTowersControlled()

uint32 OutdoorPvPZM::GetHordeTowersControlled ( ) const
410{
412}

References m_HordeTowersControlled.

◆ HandleKillImpl()

void OutdoorPvPZM::HandleKillImpl ( Player player,
Unit killed 
)
overridevirtual

Reimplemented from OutdoorPvP.

205{
206 if (!killed->IsPlayer())
207 return;
208
209 if (player->GetTeamId() == TEAM_ALLIANCE && killed->ToPlayer()->GetTeamId() != TEAM_ALLIANCE)
210 player->CastSpell(player, ZM_AlliancePlayerKillReward, true);
211 else if (player->GetTeamId() == TEAM_HORDE && killed->ToPlayer()->GetTeamId() != TEAM_HORDE)
212 player->CastSpell(player, ZM_HordePlayerKillReward, true);
213}
@ ZM_AlliancePlayerKillReward
Definition OutdoorPvPZM.h:44
@ ZM_HordePlayerKillReward
Definition OutdoorPvPZM.h:46
@ TEAM_ALLIANCE
Definition SharedDefines.h:760
@ TEAM_HORDE
Definition SharedDefines.h:761
bool IsPlayer() const
Definition Object.h:200
Player * ToPlayer()
Definition Object.h:201
TeamId GetTeamId(bool original=false) const
Definition Player.h:2116
SpellCastResult CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition Unit.cpp:1178

References Unit::CastSpell(), Player::GetTeamId(), Object::IsPlayer(), TEAM_ALLIANCE, TEAM_HORDE, Object::ToPlayer(), ZM_AlliancePlayerKillReward, and ZM_HordePlayerKillReward.

◆ HandlePlayerEnterZone()

void OutdoorPvPZM::HandlePlayerEnterZone ( Player player,
uint32  zone 
)
overridevirtual

Reimplemented from OutdoorPvP.

153{
154 if (player->GetTeamId() == TEAM_ALLIANCE)
155 {
157 player->CastSpell(player, ZM_CAPTURE_BUFF, true);
158 }
159 else
160 {
162 player->CastSpell(player, ZM_CAPTURE_BUFF, true);
163 }
165}
@ ZM_CAPTURE_BUFF
Definition OutdoorPvPZM.h:38
@ ZM_GRAVEYARD_H
Definition OutdoorPvPZM.h:160
@ ZM_GRAVEYARD_A
Definition OutdoorPvPZM.h:159
uint32 GetGraveyardState() const
Definition OutdoorPvPZM.cpp:394
virtual void HandlePlayerEnterZone(Player *player, uint32 zone)
Definition OutdoorPvP.cpp:277

References Unit::CastSpell(), OPvPCapturePointZM_Graveyard::GetGraveyardState(), Player::GetTeamId(), OutdoorPvP::HandlePlayerEnterZone(), m_Graveyard, TEAM_ALLIANCE, ZM_CAPTURE_BUFF, ZM_GRAVEYARD_A, and ZM_GRAVEYARD_H.

◆ HandlePlayerLeaveZone()

void OutdoorPvPZM::HandlePlayerLeaveZone ( Player player,
uint32  zone 
)
overridevirtual

Reimplemented from OutdoorPvP.

168{
169 // remove buffs
171 // remove flag
175}
@ ZM_BATTLE_STANDARD_H
Definition OutdoorPvPZM.h:42
@ ZM_BATTLE_STANDARD_A
Definition OutdoorPvPZM.h:40
virtual void HandlePlayerLeaveZone(Player *player, uint32 zone)
Definition OutdoorPvP.cpp:282
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition Unit.cpp:4941

References OutdoorPvP::HandlePlayerLeaveZone(), Unit::RemoveAurasDueToSpell(), ZM_BATTLE_STANDARD_A, ZM_BATTLE_STANDARD_H, and ZM_CAPTURE_BUFF.

◆ SendRemoveWorldStates()

void OutdoorPvPZM::SendRemoveWorldStates ( Player player)
overridevirtual

Reimplemented from OutdoorPvP.

429{
456}
@ WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_N
Definition WorldStateDefines.h:427
@ WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_N
Definition WorldStateDefines.h:431
@ WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_POS_E
Definition WorldStateDefines.h:420
@ WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_H
Definition WorldStateDefines.h:426
@ WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_READY
Definition WorldStateDefines.h:441
@ WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_H
Definition WorldStateDefines.h:429
@ WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_N
Definition WorldStateDefines.h:424
@ WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_DISPLAY_E
Definition WorldStateDefines.h:419
@ WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_H
Definition WorldStateDefines.h:435
@ WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_A
Definition WorldStateDefines.h:425
@ WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_READY
Definition WorldStateDefines.h:438
@ WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_NOT_READY
Definition WorldStateDefines.h:440
@ WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_A
Definition WorldStateDefines.h:434
@ WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_N_E
Definition WorldStateDefines.h:421
@ WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_N
Definition WorldStateDefines.h:430
@ WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_NOT_READY
Definition WorldStateDefines.h:439
@ WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_N
Definition WorldStateDefines.h:436
@ WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_DISPLAY_W
Definition WorldStateDefines.h:416
@ WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_POS_W
Definition WorldStateDefines.h:417
@ WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_A
Definition WorldStateDefines.h:422
@ WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_A
Definition WorldStateDefines.h:428
@ WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_N_W
Definition WorldStateDefines.h:418
@ WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_H
Definition WorldStateDefines.h:423
@ WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_H
Definition WorldStateDefines.h:433
@ WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_A
Definition WorldStateDefines.h:432
void SendUpdateWorldState(uint32 variable, uint32 value) const
Definition PlayerUpdates.cpp:2243

References Player::SendUpdateWorldState(), WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_NOT_READY, WORLD_STATE_OPVP_ZM_MAP_ALLIANCE_FLAG_READY, WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_A, WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_H, WORLD_STATE_OPVP_ZM_MAP_GRAVEYARD_N, WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_NOT_READY, WORLD_STATE_OPVP_ZM_MAP_HORDE_FLAG_READY, WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_A, WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_H, WORLD_STATE_OPVP_ZM_MAP_TOWER_EAST_N, WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_A, WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_H, WORLD_STATE_OPVP_ZM_MAP_TOWER_WEST_N, WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_A, WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_H, WORLD_STATE_OPVP_ZM_UI_TOWER_EAST_N, WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_DISPLAY_E, WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_DISPLAY_W, WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_N_E, WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_N_W, WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_POS_E, WORLD_STATE_OPVP_ZM_UI_TOWER_SLIDER_POS_W, WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_A, WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_H, WORLD_STATE_OPVP_ZM_UI_TOWER_WEST_N, and WORLD_STATE_OPVP_ZM_UNK.

◆ SetAllianceTowersControlled()

void OutdoorPvPZM::SetAllianceTowersControlled ( uint32  count)
405{
407}

References m_AllianceTowersControlled.

◆ SetHordeTowersControlled()

void OutdoorPvPZM::SetHordeTowersControlled ( uint32  count)
415{
417}

References m_HordeTowersControlled.

◆ SetupOutdoorPvP()

bool OutdoorPvPZM::SetupOutdoorPvP ( )
overridevirtual

Reimplemented from OutdoorPvP.

186{
189
190 // add the zones affected by the pvp buff
191 for (uint8 i = 0; i < OutdoorPvPZMBuffZonesNum; ++i)
193
195
199 AddCapturePoint(m_Graveyard); // though the update function isn't used, the handleusego is!
200
201 return true;
202}
std::uint8_t uint8
Definition Define.h:109
const uint32 OutdoorPvPZMBuffZones[OutdoorPvPZMBuffZonesNum]
Definition OutdoorPvPZM.h:27
@ ZM_BEACON_EAST
Definition OutdoorPvPZM.h:84
@ ZM_BEACON_WEST
Definition OutdoorPvPZM.h:85
const uint8 OutdoorPvPZMBuffZonesNum
Definition OutdoorPvPZM.h:24
Definition OutdoorPvPZM.h:135
Definition OutdoorPvPZM.h:164
void RegisterZone(uint32 zoneid)
Definition OutdoorPvP.cpp:641
void SetMapFromZone(uint32 zone)
Definition OutdoorPvP.cpp:718
void AddCapturePoint(OPvPCapturePoint *cp)
Definition OutdoorPvP.h:254

References OutdoorPvP::AddCapturePoint(), m_AllianceTowersControlled, m_Graveyard, m_HordeTowersControlled, OutdoorPvPZMBuffZones, OutdoorPvPZMBuffZonesNum, OutdoorPvP::RegisterZone(), OutdoorPvP::SetMapFromZone(), ZM_BEACON_EAST, and ZM_BEACON_WEST.

◆ Update()

bool OutdoorPvPZM::Update ( uint32  diff)
overridevirtual

Reimplemented from OutdoorPvP.

138{
139 bool changed = OutdoorPvP::Update(diff);
140 if (changed)
141 {
146 else
148 }
149 return changed;
150}
@ ZM_NUM_BEACONS
Definition OutdoorPvPZM.h:86
@ TEAM_NEUTRAL
Definition SharedDefines.h:762
void SetBeaconState(TeamId controlling_teamId)
Definition OutdoorPvPZM.cpp:295
virtual bool Update(uint32 diff)
Definition OutdoorPvP.cpp:304

References m_AllianceTowersControlled, m_Graveyard, m_HordeTowersControlled, OPvPCapturePointZM_Graveyard::SetBeaconState(), TEAM_ALLIANCE, TEAM_HORDE, TEAM_NEUTRAL, OutdoorPvP::Update(), and ZM_NUM_BEACONS.

Member Data Documentation

◆ m_AllianceTowersControlled

uint32 OutdoorPvPZM::m_AllianceTowersControlled
private

◆ m_Graveyard

OPvPCapturePointZM_Graveyard* OutdoorPvPZM::m_Graveyard
private

◆ m_HordeTowersControlled

uint32 OutdoorPvPZM::m_HordeTowersControlled
private

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