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

#include "OutdoorPvPNA.h"

Inheritance diagram for OutdoorPvPNA:
OutdoorPvP ZoneScript

Public Member Functions

 OutdoorPvPNA ()
 
bool SetupOutdoorPvP () override
 
void HandlePlayerEnterZone (Player *player, uint32 zone) override
 
void HandlePlayerLeaveZone (Player *player, uint32 zone) override
 
bool Update (uint32 diff) override
 
void FillInitialWorldStates (WorldPacket &data) override
 
void SendRemoveWorldStates (Player *player) override
 
void HandleKillImpl (Player *player, Unit *killed) override
 
OPvPCapturePointNAGetCapturePoint ()
 
- Public Member Functions inherited from OutdoorPvP
 OutdoorPvP ()
 
 ~OutdoorPvP () override
 
void DeleteSpawns ()
 
virtual void FillInitialWorldStates (WorldPacket &)
 
virtual bool HandleAreaTrigger (Player *player, uint32 trigger)
 
virtual bool HandleCustomSpell (Player *player, uint32 spellId, GameObject *go)
 
virtual bool HandleOpenGo (Player *player, GameObject *go)
 
virtual bool SetupOutdoorPvP ()
 
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 bool Update (uint32 diff)
 
virtual void HandleKill (Player *killer, Unit *killed)
 
virtual void HandleKillImpl (Player *, Unit *)
 
bool IsInsideObjective (Player *player) const
 
virtual void AwardKillBonus (Player *)
 
uint32 GetTypeId ()
 
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 OnCreatureCreate (Creature *)
 
virtual void OnCreatureRemove (Creature *)
 
virtual void OnGameObjectCreate (GameObject *)
 
virtual void OnGameObjectRemove (GameObject *)
 
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

OPvPCapturePointNAm_obj
 

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
virtual void SendRemoveWorldStates (Player *)
 
void BroadcastPacket (WorldPacket &data) const
 
virtual void HandlePlayerEnterZone (Player *player, uint32 zone)
 
virtual void HandlePlayerLeaveZone (Player *player, uint32 zone)
 
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 m_capturePoints
 
PlayerSet m_players [2]
 
uint32 m_TypeId
 
bool m_sendUpdate
 
std::map< ObjectGuid::LowType, GameObject * > m_GoScriptStore
 
std::map< ObjectGuid::LowType, Creature * > m_CreatureScriptStore
 
Mapm_map
 

Detailed Description

Constructor & Destructor Documentation

◆ OutdoorPvPNA()

OutdoorPvPNA::OutdoorPvPNA ( )
30{
32 m_obj = nullptr;
33}
@ OUTDOOR_PVP_NA
Definition: OutdoorPvP.h:30
uint32 m_TypeId
Definition: OutdoorPvP.h:267
OPvPCapturePointNA * m_obj
Definition: OutdoorPvPNA.h:330

References m_obj, OutdoorPvP::m_TypeId, and OUTDOOR_PVP_NA.

Member Function Documentation

◆ FillInitialWorldStates()

void OutdoorPvPNA::FillInitialWorldStates ( WorldPacket data)
overridevirtual

Reimplemented from OutdoorPvP.

244{
246}
void FillInitialWorldStates(WorldPacket &data) override
Definition: OutdoorPvPNA.cpp:248

References OPvPCapturePointNA::FillInitialWorldStates(), and m_obj.

◆ GetCapturePoint()

OPvPCapturePointNA * OutdoorPvPNA::GetCapturePoint ( )
inline
327{ return m_obj; }

References m_obj.

◆ HandleKillImpl()

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

Reimplemented from OutdoorPvP.

36{
37 if (killed->GetTypeId() == TYPEID_PLAYER && player->GetTeamId() != killed->ToPlayer()->GetTeamId())
38 {
40 player->CastSpell(player, player->GetTeamId() == TEAM_ALLIANCE ? NA_KILL_TOKEN_ALLIANCE : NA_KILL_TOKEN_HORDE, true);
41 }
42}
@ TYPEID_PLAYER
Definition: ObjectGuid.h:38
const uint32 NA_CREDIT_MARKER
Definition: OutdoorPvPNA.h:33
@ NA_KILL_TOKEN_HORDE
Definition: OutdoorPvPNA.h:28
@ NA_KILL_TOKEN_ALLIANCE
Definition: OutdoorPvPNA.h:27
@ TEAM_ALLIANCE
Definition: SharedDefines.h:732
Player * ToPlayer()
Definition: Object.h:195
TypeID GetTypeId() const
Definition: Object.h:121
void KilledMonsterCredit(uint32 entry, ObjectGuid guid=ObjectGuid::Empty)
Definition: PlayerQuest.cpp:1911
TeamId GetTeamId(bool original=false) const
Definition: Player.h:2059
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:1169

References Unit::CastSpell(), Player::GetTeamId(), Object::GetTypeId(), Player::KilledMonsterCredit(), NA_CREDIT_MARKER, NA_KILL_TOKEN_ALLIANCE, NA_KILL_TOKEN_HORDE, TEAM_ALLIANCE, Object::ToPlayer(), and TYPEID_PLAYER.

◆ HandlePlayerEnterZone()

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

Reimplemented from OutdoorPvP.

229{
230 // add buffs
231 if (player->GetTeamId() == m_obj->GetControllingFaction())
232 player->CastSpell(player, NA_CAPTURE_BUFF, true);
234}
@ NA_CAPTURE_BUFF
Definition: OutdoorPvPNA.h:29
virtual void HandlePlayerEnterZone(Player *player, uint32 zone)
Definition: OutdoorPvP.cpp:255
TeamId GetControllingFaction() const
Definition: OutdoorPvPNA.cpp:80

References Unit::CastSpell(), OPvPCapturePointNA::GetControllingFaction(), Player::GetTeamId(), OutdoorPvP::HandlePlayerEnterZone(), m_obj, and NA_CAPTURE_BUFF.

◆ HandlePlayerLeaveZone()

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

Reimplemented from OutdoorPvP.

237{
238 // remove buffs
241}
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition: Unit.cpp:4835
virtual void HandlePlayerLeaveZone(Player *player, uint32 zone)
Definition: OutdoorPvP.cpp:260

References OutdoorPvP::HandlePlayerLeaveZone(), NA_CAPTURE_BUFF, and Unit::RemoveAurasDueToSpell().

◆ SendRemoveWorldStates()

void OutdoorPvPNA::SendRemoveWorldStates ( Player player)
overridevirtual

Reimplemented from OutdoorPvP.

301{
330}
@ NA_MAP_HALAA_NEU_A
Definition: OutdoorPvPNA.h:79
@ NA_MAP_WYVERN_SOUTH_NEU_H
Definition: OutdoorPvPNA.h:63
@ NA_MAP_HALAA_HORDE
Definition: OutdoorPvPNA.h:81
@ NA_UI_ALLIANCE_GUARDS_SHOW
Definition: OutdoorPvPNA.h:50
@ NA_MAP_WYVERN_NORTH_NEU_A
Definition: OutdoorPvPNA.h:59
@ NA_UI_TOWER_SLIDER_DISPLAY
Definition: OutdoorPvPNA.h:54
@ NA_MAP_HALAA_NEUTRAL
Definition: OutdoorPvPNA.h:78
@ NA_MAP_WYVERN_WEST_NEU_A
Definition: OutdoorPvPNA.h:69
@ NA_MAP_WYVERN_SOUTH_NEU_A
Definition: OutdoorPvPNA.h:64
@ NA_MAP_WYVERN_WEST_H
Definition: OutdoorPvPNA.h:70
@ NA_MAP_WYVERN_NORTH_NEU_H
Definition: OutdoorPvPNA.h:58
@ NA_UI_HORDE_GUARDS_SHOW
Definition: OutdoorPvPNA.h:49
@ NA_MAP_HALAA_ALLIANCE
Definition: OutdoorPvPNA.h:82
@ NA_MAP_WYVERN_EAST_H
Definition: OutdoorPvPNA.h:75
@ NA_MAP_WYVERN_SOUTH_A
Definition: OutdoorPvPNA.h:66
@ NA_UI_TOWER_SLIDER_N
Definition: OutdoorPvPNA.h:56
@ NA_UI_GUARDS_MAX
Definition: OutdoorPvPNA.h:51
@ NA_MAP_WYVERN_EAST_A
Definition: OutdoorPvPNA.h:76
@ NA_UI_TOWER_SLIDER_POS
Definition: OutdoorPvPNA.h:55
@ NA_MAP_WYVERN_NORTH_H
Definition: OutdoorPvPNA.h:60
@ NA_UI_GUARDS_LEFT
Definition: OutdoorPvPNA.h:52
@ NA_MAP_WYVERN_WEST_A
Definition: OutdoorPvPNA.h:71
@ NA_MAP_WYVERN_EAST_NEU_A
Definition: OutdoorPvPNA.h:74
@ NA_MAP_WYVERN_EAST_NEU_H
Definition: OutdoorPvPNA.h:73
@ NA_MAP_HALAA_NEU_H
Definition: OutdoorPvPNA.h:80
@ NA_MAP_WYVERN_WEST_NEU_H
Definition: OutdoorPvPNA.h:68
@ NA_MAP_WYVERN_NORTH_A
Definition: OutdoorPvPNA.h:61
@ NA_MAP_WYVERN_SOUTH_H
Definition: OutdoorPvPNA.h:65
void SendUpdateWorldState(uint32 variable, uint32 value) const
Definition: PlayerUpdates.cpp:2194

References NA_MAP_HALAA_ALLIANCE, NA_MAP_HALAA_HORDE, NA_MAP_HALAA_NEU_A, NA_MAP_HALAA_NEU_H, NA_MAP_HALAA_NEUTRAL, NA_MAP_WYVERN_EAST_A, NA_MAP_WYVERN_EAST_H, NA_MAP_WYVERN_EAST_NEU_A, NA_MAP_WYVERN_EAST_NEU_H, NA_MAP_WYVERN_NORTH_A, NA_MAP_WYVERN_NORTH_H, NA_MAP_WYVERN_NORTH_NEU_A, NA_MAP_WYVERN_NORTH_NEU_H, NA_MAP_WYVERN_SOUTH_A, NA_MAP_WYVERN_SOUTH_H, NA_MAP_WYVERN_SOUTH_NEU_A, NA_MAP_WYVERN_SOUTH_NEU_H, NA_MAP_WYVERN_WEST_A, NA_MAP_WYVERN_WEST_H, NA_MAP_WYVERN_WEST_NEU_A, NA_MAP_WYVERN_WEST_NEU_H, NA_UI_ALLIANCE_GUARDS_SHOW, NA_UI_GUARDS_LEFT, NA_UI_GUARDS_MAX, NA_UI_HORDE_GUARDS_SHOW, NA_UI_TOWER_SLIDER_DISPLAY, NA_UI_TOWER_SLIDER_N, NA_UI_TOWER_SLIDER_POS, and Player::SendUpdateWorldState().

◆ SetupOutdoorPvP()

bool OutdoorPvPNA::SetupOutdoorPvP ( )
overridevirtual

Reimplemented from OutdoorPvP.

213{
214 // m_TypeId = OUTDOOR_PVP_NA; _MUST_ be set in ctor, because of spawns cleanup
215 // add the zones affected by the pvp buff
218
219 // halaa
220 m_obj = new OPvPCapturePointNA(this);
221 if (!m_obj)
222 return false;
224
225 return true;
226}
const uint32 NA_BUFF_ZONE
Definition: OutdoorPvPNA.h:37
void RegisterZone(uint32 zoneid)
Definition: OutdoorPvP.cpp:591
void SetMapFromZone(uint32 zone)
Definition: OutdoorPvP.cpp:660
void AddCapturePoint(OPvPCapturePoint *cp)
Definition: OutdoorPvP.h:281
Definition: OutdoorPvPNA.h:254

References OutdoorPvP::AddCapturePoint(), m_obj, NA_BUFF_ZONE, OutdoorPvP::RegisterZone(), and OutdoorPvP::SetMapFromZone().

◆ Update()

bool OutdoorPvPNA::Update ( uint32  diff)
overridevirtual

Reimplemented from OutdoorPvP.

333{
334 return m_obj->Update(diff);
335}
bool Update(uint32 diff) override
Definition: OutdoorPvPNA.cpp:534

References m_obj, and OPvPCapturePointNA::Update().

Member Data Documentation

◆ m_obj