TrinityCore
BattlegroundAB Class Reference

#include <BattlegroundAB.h>

+ Inheritance diagram for BattlegroundAB:

Public Member Functions

 BattlegroundAB (BattlegroundTemplate const *battlegroundTemplate)
 
 ~BattlegroundAB ()
 
void StartingEventOpenDoors () override
 
bool SetupBattleground () override
 
void Reset () override
 
void EndBattleground (Team winner) override
 
WorldSafeLocsEntry const * GetClosestGraveyard (Player *player) override
 
WorldSafeLocsEntry const * GetExploitTeleportLocation (Team team) override
 
Team GetPrematureWinner () override
 
void ProcessEvent (WorldObject *obj, uint32 eventId, WorldObject *invoker=nullptr) override
 
void OnCreatureCreate (Creature *creature) override
 
void OnGameObjectCreate (GameObject *gameObject) override
 
- Public Member Functions inherited from Battleground
 Battleground (BattlegroundTemplate const *battlegroundTemplate)
 
 Battleground (Battleground const &)
 
virtual ~Battleground ()
 
Battlegroundoperator= (Battleground const &)=delete
 
void Update (uint32 diff)
 
virtual bool SetupBattleground ()
 
virtual void Reset ()
 
virtual void StartingEventCloseDoors ()
 
virtual void StartingEventOpenDoors ()
 
virtual void DestroyGate (Player *, GameObject *)
 
void TriggerGameEvent (uint32 gameEventId, WorldObject *source=nullptr, WorldObject *target=nullptr) override
 
char const * GetName () const
 
BattlegroundTypeId GetTypeID () const
 
BattlegroundBracketId GetBracketId () const
 
uint32 GetInstanceID () const
 
BattlegroundStatus GetStatus () const
 
uint32 GetClientInstanceID () const
 
uint32 GetElapsedTime () const
 
uint32 GetRemainingTime () const
 
uint32 GetMaxPlayers () const
 
uint32 GetMinPlayers () const
 
uint32 GetMinLevel () const
 
uint32 GetMaxLevel () const
 
uint32 GetMaxPlayersPerTeam () const
 
uint32 GetMinPlayersPerTeam () const
 
int32 GetStartDelayTime () const
 
uint8 GetArenaType () const
 
PvPTeamId GetWinner () const
 
uint32 GetScriptId () const
 
uint32 GetBonusHonorFromKill (uint32 kills) const
 
void SetBracket (PVPDifficultyEntry const *bracketEntry)
 
void SetInstanceID (uint32 InstanceID)
 
void SetStatus (BattlegroundStatus Status)
 
void SetClientInstanceID (uint32 InstanceID)
 
void SetElapsedTime (uint32 Time)
 
void SetRemainingTime (uint32 Time)
 
void SetRated (bool state)
 
void SetArenaType (uint8 type)
 
void SetWinner (PvPTeamId winnerTeamId)
 
std::unordered_set< uint32 > const * GetPvpStatIds () const
 
void ModifyStartDelayTime (int diff)
 
void SetStartDelayTime (int Time)
 
void AddToBGFreeSlotQueue ()
 
void RemoveFromBGFreeSlotQueue ()
 
void DecreaseInvitedCount (Team team)
 
void IncreaseInvitedCount (Team team)
 
uint32 GetInvitedCount (Team team) const
 
bool HasFreeSlots () const
 
uint32 GetFreeSlotsForTeam (Team team) const
 
bool isArena () const
 
bool isBattleground () const
 
bool isRated () const
 
BattlegroundPlayerMap const & GetPlayers () const
 
uint32 GetPlayersSize () const
 
uint32 GetPlayerScoresSize () const
 
void StartBattleground ()
 
GameObjectGetBGObject (uint32 type, bool logError=true)
 
CreatureGetBGCreature (uint32 type, bool logError=true)
 
uint32 GetMapId () const
 
void SetBgMap (BattlegroundMap *map)
 
BattlegroundMapGetBgMap () const
 
BattlegroundMapFindBgMap () const
 
WorldSafeLocsEntry const * GetTeamStartPosition (TeamId teamId) const
 
float GetStartMaxDist () const
 
void SendPacketToTeam (Team team, WorldPacket const *packet, Player *except=nullptr) const
 
void SendPacketToAll (WorldPacket const *packet) const
 
void SendChatMessage (Creature *source, uint8 textId, WorldObject *target=nullptr)
 
void SendBroadcastText (uint32 id, ChatMsg msgType, WorldObject const *target=nullptr)
 
template<class Do >
void BroadcastWorker (Do &_do)
 
void PlaySoundToTeam (uint32 SoundID, Team team)
 
void PlaySoundToAll (uint32 SoundID)
 
void CastSpellOnTeam (uint32 SpellID, Team team)
 
void RemoveAuraOnTeam (uint32 SpellID, Team team)
 
void RewardHonorToTeam (uint32 Honor, Team team)
 
void RewardReputationToTeam (uint32 faction_id, uint32 Reputation, Team team)
 
void UpdateWorldState (int32 worldStateId, int32 value, bool hidden=false)
 
virtual void EndBattleground (Team winner)
 
void BlockMovement (Player *player)
 
void SendMessageToAll (uint32 entry, ChatMsg type, Player const *source=nullptr)
 
void PSendMessageToAll (uint32 entry, ChatMsg type, Player const *source,...)
 
GroupGetBgRaid (Team team) const
 
void SetBgRaid (Team team, Group *bg_raid)
 
virtual void BuildPvPLogDataPacket (WorldPackets::Battleground::PVPMatchStatistics &pvpLogData) const
 
BattlegroundScore const * GetBattlegroundScore (Player *player) const
 
virtual bool UpdatePlayerScore (Player *player, uint32 type, uint32 value, bool doAddHonor=true)
 
void UpdatePvpStat (Player *player, uint32 pvpStatId, uint32 value)
 
uint32 GetPlayersCountByTeam (Team team) const
 
uint32 GetAlivePlayersCountByTeam (Team team) const
 
void UpdatePlayersCountByTeam (Team team, bool remove)
 
virtual void CheckWinConditions ()
 
void SetArenaTeamIdForTeam (Team team, uint32 ArenaTeamId)
 
uint32 GetArenaTeamIdForTeam (Team team) const
 
uint32 GetArenaTeamIdByIndex (TeamId teamId) const
 
void SetArenaMatchmakerRating (Team team, uint32 MMR)
 
uint32 GetArenaMatchmakerRating (Team team) const
 
virtual void HandleAreaTrigger (Player *, uint32, bool)
 
virtual void HandleKillPlayer (Player *player, Player *killer)
 
virtual void HandleKillUnit (Creature *, Unit *)
 
virtual void EventPlayerDroppedFlag (Player *)
 
virtual void EventPlayerClickedOnFlag (Player *, GameObject *)
 
void EventPlayerLoggedIn (Player *player)
 
void EventPlayerLoggedOut (Player *player)
 
void ProcessEvent (WorldObject *, uint32, WorldObject *) override
 
virtual void HandlePlayerResurrect (Player *)
 
virtual WorldSafeLocsEntry const * GetClosestGraveyard (Player *player)
 
virtual WorldSafeLocsEntry const * GetExploitTeleportLocation (Team)
 
void TeleportPlayerToExploitLocation (Player *player)
 
virtual void AddPlayer (Player *player, BattlegroundQueueTypeId queueId)
 
void AddOrSetPlayerToCorrectBgGroup (Player *player, Team team)
 
virtual void RemovePlayerAtLeave (ObjectGuid guid, bool Transport, bool SendPacket)
 
void SpawnBGObject (uint32 type, uint32 respawntime)
 
virtual bool AddObject (uint32 type, uint32 entry, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime=0, GOState goState=GO_STATE_READY)
 
bool AddObject (uint32 type, uint32 entry, Position const &pos, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime=0, GOState goState=GO_STATE_READY)
 
virtual CreatureAddCreature (uint32 entry, uint32 type, float x, float y, float z, float o, TeamId teamId=TEAM_NEUTRAL, uint32 respawntime=0, Transport *transport=nullptr)
 
CreatureAddCreature (uint32 entry, uint32 type, Position const &pos, TeamId teamId=TEAM_NEUTRAL, uint32 respawntime=0, Transport *transport=nullptr)
 
bool DelCreature (uint32 type)
 
bool DelObject (uint32 type)
 
bool RemoveObjectFromWorld (uint32 type)
 
virtual bool AddSpiritGuide (uint32 type, float x, float y, float z, float o, TeamId teamId=TEAM_NEUTRAL)
 
bool AddSpiritGuide (uint32 type, Position const &pos, TeamId teamId=TEAM_NEUTRAL)
 
int32 GetObjectType (ObjectGuid guid)
 
void DoorOpen (uint32 type)
 
void DoorClose (uint32 type)
 
virtual bool HandlePlayerUnderMap (Player *)
 
Team GetPlayerTeam (ObjectGuid guid) const
 
Team GetOtherTeam (Team team) const
 
bool IsPlayerInBattleground (ObjectGuid guid) const
 
bool IsPlayerMercenaryInBattleground (ObjectGuid guid) const
 
bool ToBeDeleted () const
 
void SetDeleteThis ()
 
void RewardXPAtKill (Player *killer, Player *victim)
 
bool CanAwardArenaPoints () const
 
virtual ObjectGuid GetFlagPickerGUID (int32=-1) const
 
virtual void SetDroppedFlagGUID (ObjectGuid, int32=-1)
 
virtual void HandleQuestComplete (uint32, Player *)
 
virtual bool CanActivateGO (int32, uint32) const
 
virtual bool IsSpellAllowed (uint32, Player const *) const
 
uint32 GetTeamScore (TeamId teamId) const
 
virtual Team GetPrematureWinner ()
 
uint8 GetUniqueBracketId () const
 
void AddPlayerPosition (WorldPackets::Battleground::BattlegroundPlayerPosition const &position)
 
void RemovePlayerPosition (ObjectGuid guid)
 
BattlegroundPlayer const * GetBattlegroundPlayerData (ObjectGuid const &playerGuid) const
 
virtual void OnMapSet (BattlegroundMap *map)
 
Trinity::unique_weak_ptr< BattlegroundGetWeakPtr () const
 
void SetWeakPtr (Trinity::unique_weak_ptr< Battleground > weakRef)
 
- Public Member Functions inherited from ZoneScript
 ZoneScript ()
 
 ZoneScript (ZoneScript const &right)
 
 ZoneScript (ZoneScript &&right) noexcept
 
ZoneScriptoperator= (ZoneScript const &right)
 
ZoneScriptoperator= (ZoneScript &&right) noexcept
 
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 OnAreaTriggerCreate (AreaTrigger *areaTrigger)
 
virtual void OnAreaTriggerRemove (AreaTrigger *areaTrigger)
 
virtual void OnUnitDeath (Unit *unit)
 
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 TriggerGameEvent (uint32 gameEventId, WorldObject *source=nullptr, WorldObject *target=nullptr)
 
virtual void ProcessEvent (WorldObject *, uint32, WorldObject *)
 
virtual void DoAction (uint32 actionId, WorldObject *source=nullptr, WorldObject *target=nullptr)
 
virtual void OnFlagStateChange (GameObject *flagInBase, FlagState oldValue, FlagState newValue, Player *player)
 
virtual bool CanCaptureFlag (AreaTrigger *areaTrigger, Player *player)
 
virtual void OnCaptureFlag (AreaTrigger *areaTrigger, Player *player)
 

Private Member Functions

void PostUpdateImpl (uint32 diff) override
 Post-update hook. More...
 
void _CalculateTeamNodes (uint8 &alliance, uint8 &horde)
 

Private Attributes

uint32 m_lastTick
 
uint32 m_HonorScoreTics [PVP_TEAMS_COUNT]
 
uint32 m_ReputationScoreTics [PVP_TEAMS_COUNT]
 
bool m_IsInformedNearVictory
 
uint32 m_HonorTics
 
uint32 m_ReputationTics
 
GuidVector _gameobjectsToRemoveOnMatchStart
 
GuidVector _creaturesToRemoveOnMatchStart
 
GuidVector _doors
 
GuidVector _capturePoints
 

Additional Inherited Members

- Public Types inherited from Battleground
typedef std::map< ObjectGuid, BattlegroundPlayerBattlegroundPlayerMap
 
typedef std::map< ObjectGuid, BattlegroundScore * > BattlegroundScoreMap
 
- Static Public Member Functions inherited from Battleground
static TeamId GetTeamIndexByTeamId (Team team)
 
- Public Attributes inherited from Battleground
GuidVector BgObjects
 
GuidVector BgCreatures
 
- Protected Member Functions inherited from Battleground
void EndNow ()
 
void PlayerAddedToBGCheckIfBGIsRunning (Player *player)
 
Player_GetPlayer (ObjectGuid guid, bool offlineRemove, char const *context) const
 
Player_GetPlayer (BattlegroundPlayerMap::iterator itr, char const *context)
 
Player_GetPlayer (BattlegroundPlayerMap::const_iterator itr, char const *context) const
 
Player_GetPlayerForTeam (Team team, BattlegroundPlayerMap::const_iterator itr, char const *context) const
 
virtual bool PreUpdateImpl (uint32)
 Pre-update hook. More...
 
virtual void PostUpdateImpl (uint32)
 Post-update hook. More...
 
void _ProcessOfflineQueue ()
 
void _ProcessProgress (uint32 diff)
 
void _ProcessLeave (uint32 diff)
 
void _ProcessJoin (uint32 diff)
 
void _CheckSafePositions (uint32 diff)
 
void _ProcessPlayerPositionBroadcast (uint32 diff)
 
virtual void RemovePlayer (Player *, ObjectGuid, uint32)
 
- Protected Attributes inherited from Battleground
BattlegroundScoreMap PlayerScores
 
BattlegroundPlayerMap m_Players
 
uint8 m_Events
 
BattlegroundStartTimeIntervals StartDelayTimes [BG_STARTING_EVENT_COUNT]
 
uint32 StartMessageIds [BG_STARTING_EVENT_COUNT]
 
int32 m_TeamScores [PVP_TEAMS_COUNT]
 

Detailed Description

Definition at line 218 of file BattlegroundAB.h.

Constructor & Destructor Documentation

◆ BattlegroundAB()

BattlegroundAB::BattlegroundAB ( BattlegroundTemplate const *  battlegroundTemplate)

Definition at line 36 of file BattlegroundAB.cpp.

◆ ~BattlegroundAB()

BattlegroundAB::~BattlegroundAB ( )

Definition at line 53 of file BattlegroundAB.cpp.

Member Function Documentation

◆ _CalculateTeamNodes()

void BattlegroundAB::_CalculateTeamNodes ( uint8 alliance,
uint8 horde 
)
private

Definition at line 142 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EndBattleground()

void BattlegroundAB::EndBattleground ( Team  winner)
overridevirtual

Reimplemented from Battleground.

Definition at line 458 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetClosestGraveyard()

WorldSafeLocsEntry const * BattlegroundAB::GetClosestGraveyard ( Player player)
overridevirtual

Reimplemented from Battleground.

Definition at line 472 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ GetExploitTeleportLocation()

WorldSafeLocsEntry const * BattlegroundAB::GetExploitTeleportLocation ( Team  team)
overridevirtual

Reimplemented from Battleground.

Definition at line 477 of file BattlegroundAB.cpp.

◆ GetPrematureWinner()

Team BattlegroundAB::GetPrematureWinner ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 170 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ OnCreatureCreate()

void BattlegroundAB::OnCreatureCreate ( Creature creature)
overridevirtual

Reimplemented from ZoneScript.

Definition at line 395 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ OnGameObjectCreate()

void BattlegroundAB::OnGameObjectCreate ( GameObject gameObject)
overridevirtual

Reimplemented from ZoneScript.

Definition at line 408 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ PostUpdateImpl()

void BattlegroundAB::PostUpdateImpl ( uint32  )
overrideprivatevirtual

Post-update hook.

Will be called after battleground update has passed. May be used to implement custom update effects in subclasses.

Parameters
diffa time difference between two worldserver update loops in milliseconds.
See also
Update(), PreUpdateImpl().

Reimplemented from Battleground.

Definition at line 55 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ ProcessEvent()

void BattlegroundAB::ProcessEvent ( WorldObject obj,
uint32  eventId,
WorldObject invoker = nullptr 
)
overridevirtual

Reimplemented from Battleground.

Definition at line 185 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ Reset()

void BattlegroundAB::Reset ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 435 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ SetupBattleground()

bool BattlegroundAB::SetupBattleground ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 427 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ StartingEventOpenDoors()

void BattlegroundAB::StartingEventOpenDoors ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 136 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ _capturePoints

GuidVector BattlegroundAB::_capturePoints
private

Definition at line 252 of file BattlegroundAB.h.

◆ _creaturesToRemoveOnMatchStart

GuidVector BattlegroundAB::_creaturesToRemoveOnMatchStart
private

Definition at line 250 of file BattlegroundAB.h.

◆ _doors

GuidVector BattlegroundAB::_doors
private

Definition at line 251 of file BattlegroundAB.h.

◆ _gameobjectsToRemoveOnMatchStart

GuidVector BattlegroundAB::_gameobjectsToRemoveOnMatchStart
private

Definition at line 249 of file BattlegroundAB.h.

◆ m_HonorScoreTics

uint32 BattlegroundAB::m_HonorScoreTics[PVP_TEAMS_COUNT]
private

Definition at line 243 of file BattlegroundAB.h.

◆ m_HonorTics

uint32 BattlegroundAB::m_HonorTics
private

Definition at line 246 of file BattlegroundAB.h.

◆ m_IsInformedNearVictory

bool BattlegroundAB::m_IsInformedNearVictory
private

Definition at line 245 of file BattlegroundAB.h.

◆ m_lastTick

uint32 BattlegroundAB::m_lastTick
private

Definition at line 242 of file BattlegroundAB.h.

◆ m_ReputationScoreTics

uint32 BattlegroundAB::m_ReputationScoreTics[PVP_TEAMS_COUNT]
private

Definition at line 244 of file BattlegroundAB.h.

◆ m_ReputationTics

uint32 BattlegroundAB::m_ReputationTics
private

Definition at line 247 of file BattlegroundAB.h.


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