TrinityCore
Loading...
Searching...
No Matches
BattlegroundAB Class Reference

#include <BattlegroundAB.h>

+ Inheritance diagram for BattlegroundAB:

Public Member Functions

 BattlegroundAB ()
 
 ~BattlegroundAB ()
 
void AddPlayer (Player *player) override
 
void StartingEventCloseDoors () override
 
void StartingEventOpenDoors () override
 
void RemovePlayer (Player *player, ObjectGuid guid, uint32 team) override
 
void HandleAreaTrigger (Player *Source, uint32 Trigger) override
 
bool SetupBattleground () override
 
void Reset () override
 
void EndBattleground (uint32 winner) override
 
WorldSafeLocsEntry const * GetClosestGraveyard (Player *player) override
 
bool UpdatePlayerScore (Player *player, uint32 type, uint32 value, bool doAddHonor=true) override
 
void FillInitialWorldStates (WorldPackets::WorldState::InitWorldStates &packet) override
 
void EventPlayerClickedOnFlag (Player *source, GameObject *target_obj) override
 
bool IsAllNodesControlledByTeam (uint32 team) const override
 
bool CheckAchievementCriteriaMeet (uint32, Player const *, Unit const *=nullptr, uint32=0) override
 
uint32 GetPrematureWinner () override
 
- Public Member Functions inherited from Battleground
 Battleground ()
 
virtual ~Battleground ()
 
void Update (uint32 diff)
 
virtual void ResetBGSubclass ()
 
virtual void DestroyGate (Player *, GameObject *)
 
void StartTimedAchievement (AchievementCriteriaTimedTypes type, uint32 entry)
 
std::string const & GetName () const
 
BattlegroundTypeId GetTypeID (bool GetRandom=false) const
 
BattlegroundBracketId GetBracketId () const
 
uint32 GetInstanceID () const
 
BattlegroundStatus GetStatus () const
 
uint32 GetClientInstanceID () const
 
uint32 GetStartTime () const
 
uint32 GetEndTime () const
 
uint32 GetLastResurrectTime () 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
 
bool IsRandom () const
 
void SetName (std::string const &name)
 
void SetTypeID (BattlegroundTypeId TypeID)
 
void SetRandomTypeID (BattlegroundTypeId TypeID)
 
void SetBracket (PvPDifficultyEntry const *bracketEntry)
 
void SetInstanceID (uint32 InstanceID)
 
void SetStatus (BattlegroundStatus Status)
 
void SetClientInstanceID (uint32 InstanceID)
 
void SetStartTime (uint32 Time)
 
void SetEndTime (uint32 Time)
 
void SetLastResurrectTime (uint32 Time)
 
void SetMaxPlayers (uint32 MaxPlayers)
 
void SetMinPlayers (uint32 MinPlayers)
 
void SetLevelRange (uint32 min, uint32 max)
 
void SetRated (bool state)
 
void SetArenaType (uint8 type)
 
void SetArenaorBGType (bool _isArena)
 
void SetWinner (PvPTeamId winnerTeamId)
 
void SetScriptId (uint32 scriptId)
 
void ModifyStartDelayTime (int diff)
 
void SetStartDelayTime (int Time)
 
void SetMaxPlayersPerTeam (uint32 MaxPlayers)
 
void SetMinPlayersPerTeam (uint32 MinPlayers)
 
void AddToBGFreeSlotQueue ()
 
void RemoveFromBGFreeSlotQueue ()
 
void RemoveFromBGFreeSlotQueueOnShutdown ()
 
void DecreaseInvitedCount (uint32 team)
 
void IncreaseInvitedCount (uint32 team)
 
void SetRandom (bool isRandom)
 
uint32 GetInvitedCount (uint32 team) const
 
bool HasFreeSlots () const
 
uint32 GetFreeSlotsForTeam (uint32 Team) const
 
bool isArena () const
 
bool isBattleground () const
 
bool isRated () const
 
BattlegroundPlayerMap const & GetPlayers () const
 
uint32 GetPlayersSize () const
 
uint32 GetPlayerScoresSize () const
 
uint32 GetReviveQueueSize () const
 
void AddPlayerToResurrectQueue (ObjectGuid npc_guid, ObjectGuid player_guid)
 
void RemovePlayerFromResurrectQueue (ObjectGuid player_guid)
 
void RelocateDeadPlayers (ObjectGuid guideGuid)
 Relocate all players in ReviveQueue to the closest graveyard.
 
void StartBattleground ()
 
GameObjectGetBGObject (uint32 type, bool logError=true)
 
CreatureGetBGCreature (uint32 type, bool logError=true)
 
void SetMapId (uint32 MapID)
 
uint32 GetMapId () const
 
void SetBgMap (BattlegroundMap *map)
 
BattlegroundMapGetBgMap () const
 
BattlegroundMapFindBgMap () const
 
void SetTeamStartPosition (TeamId teamId, Position const &pos)
 
Position const * GetTeamStartPosition (TeamId teamId) const
 
void SetStartMaxDist (float startMaxDist)
 
float GetStartMaxDist () const
 
void SendPacketToTeam (uint32 TeamID, WorldPacket const *packet, Player *sender=nullptr, bool self=true) 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, uint32 teamID)
 
void PlaySoundToAll (uint32 soundID)
 
void CastSpellOnTeam (uint32 SpellID, uint32 TeamID)
 
void RemoveAuraOnTeam (uint32 SpellID, uint32 TeamID)
 
void RewardHonorToTeam (uint32 Honor, uint32 TeamID)
 
void RewardReputationToTeam (uint32 faction_id, uint32 Reputation, uint32 TeamID)
 
void UpdateWorldState (uint32 variable, uint32 value)
 
void BlockMovement (Player *player)
 
void SendWarningToAll (uint32 entry,...)
 
void SendMessageToAll (uint32 entry, ChatMsg type, Player const *source=nullptr)
 
void PSendMessageToAll (uint32 entry, ChatMsg type, Player const *source,...)
 
GroupGetBgRaid (uint32 TeamID) const
 
void SetBgRaid (uint32 TeamID, Group *bg_raid)
 
void BuildPvPLogDataPacket (WorldPackets::Battleground::PVPMatchStatistics &pvpLogData)
 
uint32 GetPlayersCountByTeam (uint32 Team) const
 
uint32 GetAlivePlayersCountByTeam (uint32 Team) const
 
void UpdatePlayersCountByTeam (uint32 Team, bool remove)
 
virtual void CheckWinConditions ()
 
void SetArenaTeamIdForTeam (uint32 Team, uint32 ArenaTeamId)
 
uint32 GetArenaTeamIdForTeam (uint32 Team) const
 
uint32 GetArenaTeamIdByIndex (uint32 index) const
 
void SetArenaMatchmakerRating (uint32 Team, uint32 MMR)
 
uint32 GetArenaMatchmakerRating (uint32 Team) const
 
virtual void HandleKillPlayer (Player *player, Player *killer)
 
virtual void HandleKillUnit (Creature *, Player *)
 
virtual void EventPlayerDroppedFlag (Player *)
 
void EventPlayerLoggedIn (Player *player)
 
void EventPlayerLoggedOut (Player *player)
 
virtual void ProcessEvent (WorldObject *, uint32, WorldObject *=nullptr)
 
virtual void DoAction (uint32, ObjectGuid)
 
virtual void HandlePlayerResurrect (Player *)
 
void AddOrSetPlayerToCorrectBgGroup (Player *player, uint32 team)
 
virtual void RemovePlayerAtLeave (ObjectGuid guid, bool Transport, bool SendPacket)
 
void HandleTriggerBuff (ObjectGuid go_guid)
 
void SetHoliday (bool is_holiday)
 
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 *)
 
uint32 GetPlayerTeam (ObjectGuid guid) const
 
uint32 GetOtherTeam (uint32 teamId) const
 
bool IsPlayerInBattleground (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 (uint32 TeamID) const
 
uint8 GetUniqueBracketId () const
 
BattlegroundPlayer const * GetBattlegroundPlayerData (ObjectGuid const &playerGuid) const
 
Trinity::unique_weak_ptr< BattlegroundGetWeakPtr () const
 
void SetWeakPtr (Trinity::unique_weak_ptr< Battleground > weakRef)
 

Private Member Functions

void PostUpdateImpl (uint32 diff) override
 Post-update hook.
 
void _CreateBanner (uint8 node, uint8 type, uint8 teamIndex, bool delay)
 
void _DelBanner (uint8 node, uint8 type, uint8 teamIndex)
 
void _SendNodeUpdate (uint8 node)
 
void _NodeOccupied (uint8 node, Team team)
 
void _NodeDeOccupied (uint8 node)
 

Private Attributes

uint8 m_Nodes [BG_AB_DYNAMIC_NODES_COUNT]
 
uint8 m_prevNodes [BG_AB_DYNAMIC_NODES_COUNT]
 
BG_AB_BannerTimer m_BannerTimers [BG_AB_DYNAMIC_NODES_COUNT]
 
uint32 m_NodeTimers [BG_AB_DYNAMIC_NODES_COUNT]
 
uint32 m_lastTick [PVP_TEAMS_COUNT]
 
uint32 m_HonorScoreTics [PVP_TEAMS_COUNT]
 
uint32 m_ReputationScoreTics [PVP_TEAMS_COUNT]
 
bool m_IsInformedNearVictory
 
uint32 m_HonorTics
 
uint32 m_ReputationTics
 
bool m_TeamScores500Disadvantage [PVP_TEAMS_COUNT]
 

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 (uint32 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 (uint32 teamId, BattlegroundPlayerMap::const_iterator itr, char const *context) const
 
void _ProcessOfflineQueue ()
 
void _ProcessResurrect (uint32 diff)
 
void _ProcessProgress (uint32 diff)
 
void _ProcessLeave (uint32 diff)
 
void _ProcessJoin (uint32 diff)
 
void _CheckSafePositions (uint32 diff)
 
- Protected Attributes inherited from Battleground
BattlegroundScoreMap PlayerScores
 
BattlegroundPlayerMap m_Players
 
std::map< ObjectGuid, GuidVectorm_ReviveQueue
 
uint8 m_Events
 
BattlegroundStartTimeIntervals StartDelayTimes [BG_STARTING_EVENT_COUNT]
 
uint32 StartMessageIds [BG_STARTING_EVENT_COUNT]
 
bool m_BuffChange
 
bool m_IsRandom
 
BGHonorMode m_HonorMode
 
int32 m_TeamScores [PVP_TEAMS_COUNT]
 
ArenaTeamScore _arenaTeamScores [PVP_TEAMS_COUNT]
 

Detailed Description

Definition at line 300 of file BattlegroundAB.h.

Constructor & Destructor Documentation

◆ BattlegroundAB()

BattlegroundAB::BattlegroundAB ( )

Definition at line 37 of file BattlegroundAB.cpp.

◆ ~BattlegroundAB()

BattlegroundAB::~BattlegroundAB ( )

Definition at line 66 of file BattlegroundAB.cpp.

Member Function Documentation

◆ _CreateBanner()

void BattlegroundAB::_CreateBanner ( uint8  node,
uint8  type,
uint8  teamIndex,
bool  delay 
)
private

Definition at line 277 of file BattlegroundAB.cpp.

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

◆ _DelBanner()

void BattlegroundAB::_DelBanner ( uint8  node,
uint8  type,
uint8  teamIndex 
)
private

Definition at line 299 of file BattlegroundAB.cpp.

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

◆ _NodeDeOccupied()

void BattlegroundAB::_NodeDeOccupied ( uint8  node)
private

Definition at line 401 of file BattlegroundAB.cpp.

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

◆ _NodeOccupied()

void BattlegroundAB::_NodeOccupied ( uint8  node,
Team  team 
)
private
Todo:
working, scripted peons spawning

Definition at line 369 of file BattlegroundAB.cpp.

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

◆ _SendNodeUpdate()

void BattlegroundAB::_SendNodeUpdate ( uint8  node)
private

Definition at line 345 of file BattlegroundAB.cpp.

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

◆ AddPlayer()

void BattlegroundAB::AddPlayer ( Player player)
overridevirtual

Reimplemented from Battleground.

Definition at line 229 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ CheckAchievementCriteriaMeet()

bool BattlegroundAB::CheckAchievementCriteriaMeet ( uint32  criteriaId,
Player const *  player,
Unit const *  target = nullptr,
uint32  miscvalue = 0 
)
overridevirtual

Reimplemented from Battleground.

Definition at line 712 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ EndBattleground()

void BattlegroundAB::EndBattleground ( uint32  winner)
overridevirtual

Reimplemented from Battleground.

Definition at line 629 of file BattlegroundAB.cpp.

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

◆ EventPlayerClickedOnFlag()

void BattlegroundAB::EventPlayerClickedOnFlag ( Player source,
GameObject target_obj 
)
overridevirtual

Reimplemented from Battleground.

Definition at line 418 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ FillInitialWorldStates()

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

Reimplemented from Battleground.

Definition at line 311 of file BattlegroundAB.cpp.

◆ GetClosestGraveyard()

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

Reimplemented from Battleground.

Definition at line 643 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ GetPrematureWinner()

uint32 BattlegroundAB::GetPrematureWinner ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 540 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ HandleAreaTrigger()

void BattlegroundAB::HandleAreaTrigger ( Player Source,
uint32  Trigger 
)
overridevirtual

Reimplemented from Battleground.

Definition at line 241 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ IsAllNodesControlledByTeam()

bool BattlegroundAB::IsAllNodesControlledByTeam ( uint32  team) const
overridevirtual

Reimplemented from Battleground.

Definition at line 701 of file BattlegroundAB.cpp.

◆ 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 68 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ RemovePlayer()

void BattlegroundAB::RemovePlayer ( Player player,
ObjectGuid  guid,
uint32  team 
)
overridevirtual

Reimplemented from Battleground.

Definition at line 237 of file BattlegroundAB.cpp.

◆ Reset()

void BattlegroundAB::Reset ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 596 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ SetupBattleground()

bool BattlegroundAB::SetupBattleground ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 559 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ StartingEventCloseDoors()

void BattlegroundAB::StartingEventCloseDoors ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 192 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ StartingEventOpenDoors()

void BattlegroundAB::StartingEventOpenDoors ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 211 of file BattlegroundAB.cpp.

+ Here is the call graph for this function:

◆ UpdatePlayerScore()

bool BattlegroundAB::UpdatePlayerScore ( Player player,
uint32  type,
uint32  value,
bool  doAddHonor = true 
)
overridevirtual

Reimplemented from Battleground.

Definition at line 682 of file BattlegroundAB.cpp.

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

Member Data Documentation

◆ m_BannerTimers

BG_AB_BannerTimer BattlegroundAB::m_BannerTimers[BG_AB_DYNAMIC_NODES_COUNT]
private

Definition at line 349 of file BattlegroundAB.h.

◆ m_HonorScoreTics

uint32 BattlegroundAB::m_HonorScoreTics[PVP_TEAMS_COUNT]
private

Definition at line 352 of file BattlegroundAB.h.

◆ m_HonorTics

uint32 BattlegroundAB::m_HonorTics
private

Definition at line 355 of file BattlegroundAB.h.

◆ m_IsInformedNearVictory

bool BattlegroundAB::m_IsInformedNearVictory
private

Definition at line 354 of file BattlegroundAB.h.

◆ m_lastTick

uint32 BattlegroundAB::m_lastTick[PVP_TEAMS_COUNT]
private

Definition at line 351 of file BattlegroundAB.h.

◆ m_Nodes

uint8 BattlegroundAB::m_Nodes[BG_AB_DYNAMIC_NODES_COUNT]
private

Definition at line 347 of file BattlegroundAB.h.

◆ m_NodeTimers

uint32 BattlegroundAB::m_NodeTimers[BG_AB_DYNAMIC_NODES_COUNT]
private

Definition at line 350 of file BattlegroundAB.h.

◆ m_prevNodes

uint8 BattlegroundAB::m_prevNodes[BG_AB_DYNAMIC_NODES_COUNT]
private

Definition at line 348 of file BattlegroundAB.h.

◆ m_ReputationScoreTics

uint32 BattlegroundAB::m_ReputationScoreTics[PVP_TEAMS_COUNT]
private

Definition at line 353 of file BattlegroundAB.h.

◆ m_ReputationTics

uint32 BattlegroundAB::m_ReputationTics
private

Definition at line 356 of file BattlegroundAB.h.

◆ m_TeamScores500Disadvantage

bool BattlegroundAB::m_TeamScores500Disadvantage[PVP_TEAMS_COUNT]
private

Definition at line 358 of file BattlegroundAB.h.


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