TrinityCore
BattlegroundDS Class Reference

#include <BattlegroundDS.h>

+ Inheritance diagram for BattlegroundDS:

Public Member Functions

 BattlegroundDS (BattlegroundTemplate const *battlegroundTemplate)
 
void StartingEventCloseDoors () override
 
void StartingEventOpenDoors () override
 
bool SetupBattleground () override
 
void SetData (uint32 dataId, uint32 value) override
 
uint32 GetData (uint32 dataId) const 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...
 

Private Attributes

EventMap _events
 
uint32 _pipeKnockBackTimer
 
uint8 _pipeKnockBackCount
 

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 Arena
 Arena (BattlegroundTemplate const *battlegroundTemplate)
 
void AddPlayer (Player *player, BattlegroundQueueTypeId queueId) override
 
void RemovePlayer (Player *, ObjectGuid, uint32) override
 
void UpdateArenaWorldState ()
 
void HandleKillPlayer (Player *player, Player *killer) override
 
void BuildPvPLogDataPacket (WorldPackets::Battleground::PVPMatchStatistics &pvpLogData) const override
 
- 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 93 of file BattlegroundDS.h.

Constructor & Destructor Documentation

◆ BattlegroundDS()

BattlegroundDS::BattlegroundDS ( BattlegroundTemplate const *  battlegroundTemplate)

Definition at line 23 of file BattlegroundDS.cpp.

Member Function Documentation

◆ GetData()

uint32 BattlegroundDS::GetData ( uint32  dataId) const
overridevirtual

Reimplemented from ZoneScript.

Definition at line 153 of file BattlegroundDS.cpp.

+ Here is the call graph for this function:

◆ PostUpdateImpl()

void BattlegroundDS::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 32 of file BattlegroundDS.cpp.

+ Here is the call graph for this function:

◆ SetData()

void BattlegroundDS::SetData ( uint32  dataId,
uint32  value 
)
overridevirtual

Reimplemented from ZoneScript.

Definition at line 146 of file BattlegroundDS.cpp.

+ Here is the call graph for this function:

◆ SetupBattleground()

bool BattlegroundDS::SetupBattleground ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 123 of file BattlegroundDS.cpp.

+ Here is the call graph for this function:

◆ StartingEventCloseDoors()

void BattlegroundDS::StartingEventCloseDoors ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 91 of file BattlegroundDS.cpp.

+ Here is the call graph for this function:

◆ StartingEventOpenDoors()

void BattlegroundDS::StartingEventOpenDoors ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 97 of file BattlegroundDS.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ _events

EventMap BattlegroundDS::_events
private

Definition at line 109 of file BattlegroundDS.h.

◆ _pipeKnockBackCount

uint8 BattlegroundDS::_pipeKnockBackCount
private

Definition at line 112 of file BattlegroundDS.h.

◆ _pipeKnockBackTimer

uint32 BattlegroundDS::_pipeKnockBackTimer
private

Definition at line 111 of file BattlegroundDS.h.


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