TrinityCore
BattlegroundEY Class Reference

#include <BattlegroundEY.h>

+ Inheritance diagram for BattlegroundEY:

Public Member Functions

 BattlegroundEY (BattlegroundTemplate const *battlegroundTemplate)
 
 ~BattlegroundEY ()
 
void StartingEventOpenDoors () override
 
void HandleKillPlayer (Player *player, Player *killer) override
 
WorldSafeLocsEntry const * GetExploitTeleportLocation (Team team) override
 
bool SetupBattleground () override
 
void Reset () override
 
void UpdateTeamScore (TeamId Team)
 
void EndBattleground (Team winner) override
 
Team GetPrematureWinner () override
 
void ProcessEvent (WorldObject *target, uint32 eventId, WorldObject *invoker) override
 
void PostUpdateImpl (uint32 diff) override
 Post-update hook. More...
 
void EventTeamCapturedPoint (TeamId teamId, uint32 point, GameObject *controlZone)
 
void EventTeamLostPoint (TeamId teamId, uint32 point, GameObject *controlZone)
 
void UpdatePointsCount (TeamId teamId)
 
void OnGameObjectCreate (GameObject *gameObject) override
 
bool CanCaptureFlag (AreaTrigger *areaTrigger, Player *player) override
 
void OnCaptureFlag (AreaTrigger *areaTrigger, Player *player) override
 
void OnFlagStateChange (GameObject *flagInBase, FlagState oldValue, FlagState newValue, Player *player) 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 AddPoints (Team team, uint32 Points)
 
void RemovePoint (Team team, uint32 Points=1)
 
void SetTeamPoint (Team team, uint32 Points=0)
 
uint8 GetControlledBaseCount (TeamId teamId) const
 
void DoForFlagKeepers (std::function< void(Player *)> action) const
 
void ResetAssaultDebuff ()
 
void ApplyAssaultDebuffToPlayer (Player *player)
 
void RemoveAssaultDebuffFromPlayer (Player *player)
 

Private Attributes

std::array< uint32, PVP_TEAMS_COUNTm_HonorScoreTics
 
uint32 m_FlagCapturedBgObjectType
 
TimeTracker _pointsTimer
 
uint32 m_HonorTics
 
std::unordered_map< uint32, std::unique_ptr< BattlegroundEYControlZoneHandler > > _controlZoneHandlers
 
GuidUnorderedSet _doorGUIDs
 
ObjectGuid _flagGUID
 
bool _assaultEnabled
 
TimeTracker _flagAssaultTimer
 
uint16 _assaultStackCount
 

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 258 of file BattlegroundEY.h.

Constructor & Destructor Documentation

◆ BattlegroundEY()

BattlegroundEY::BattlegroundEY ( BattlegroundTemplate const *  battlegroundTemplate)

Definition at line 39 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ ~BattlegroundEY()

BattlegroundEY::~BattlegroundEY ( )

Definition at line 52 of file BattlegroundEY.cpp.

Member Function Documentation

◆ AddPoints()

void BattlegroundEY::AddPoints ( Team  team,
uint32  Points 
)
private

Definition at line 104 of file BattlegroundEY.cpp.

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

◆ ApplyAssaultDebuffToPlayer()

void BattlegroundEY::ApplyAssaultDebuffToPlayer ( Player player)
private

Definition at line 160 of file BattlegroundEY.cpp.

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

◆ CanCaptureFlag()

bool BattlegroundEY::CanCaptureFlag ( AreaTrigger areaTrigger,
Player player 
)
overridevirtual

Reimplemented from ZoneScript.

Definition at line 247 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ DoForFlagKeepers()

void BattlegroundEY::DoForFlagKeepers ( std::function< void(Player *)>  action) const
private

Definition at line 140 of file BattlegroundEY.cpp.

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

◆ EndBattleground()

void BattlegroundEY::EndBattleground ( Team  winner)
overridevirtual

Reimplemented from Battleground.

Definition at line 208 of file BattlegroundEY.cpp.

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

◆ EventTeamCapturedPoint()

void BattlegroundEY::EventTeamCapturedPoint ( TeamId  teamId,
uint32  point,
GameObject controlZone 
)

Definition at line 408 of file BattlegroundEY.cpp.

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

◆ EventTeamLostPoint()

void BattlegroundEY::EventTeamLostPoint ( TeamId  teamId,
uint32  point,
GameObject controlZone 
)

Definition at line 391 of file BattlegroundEY.cpp.

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

◆ GetControlledBaseCount()

uint8 BattlegroundEY::GetControlledBaseCount ( TeamId  teamId) const
private

Definition at line 117 of file BattlegroundEY.cpp.

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

◆ GetExploitTeleportLocation()

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

Reimplemented from Battleground.

Definition at line 425 of file BattlegroundEY.cpp.

◆ GetPrematureWinner()

Team BattlegroundEY::GetPrematureWinner ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 430 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ HandleKillPlayer()

void BattlegroundEY::HandleKillPlayer ( Player player,
Player killer 
)
overridevirtual

Reimplemented from Battleground.

Definition at line 382 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ OnCaptureFlag()

void BattlegroundEY::OnCaptureFlag ( AreaTrigger areaTrigger,
Player player 
)
overridevirtual

Reimplemented from ZoneScript.

Definition at line 275 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ OnFlagStateChange()

void BattlegroundEY::OnFlagStateChange ( GameObject flagInBase,
FlagState  oldValue,
FlagState  newValue,
Player player 
)
overridevirtual

Reimplemented from ZoneScript.

Definition at line 309 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ OnGameObjectCreate()

void BattlegroundEY::OnGameObjectCreate ( GameObject gameObject)
overridevirtual

Reimplemented from ZoneScript.

Definition at line 231 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ PostUpdateImpl()

void BattlegroundEY::PostUpdateImpl ( uint32  )
overridevirtual

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 54 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ ProcessEvent()

void BattlegroundEY::ProcessEvent ( WorldObject target,
uint32  eventId,
WorldObject invoker 
)
overridevirtual

Reimplemented from Battleground.

Definition at line 440 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ RemoveAssaultDebuffFromPlayer()

void BattlegroundEY::RemoveAssaultDebuffFromPlayer ( Player player)
private

Definition at line 183 of file BattlegroundEY.cpp.

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

◆ RemovePoint()

void BattlegroundEY::RemovePoint ( Team  team,
uint32  Points = 1 
)
inlineprivate

Definition at line 293 of file BattlegroundEY.h.

+ Here is the call graph for this function:

◆ Reset()

void BattlegroundEY::Reset ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 369 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ ResetAssaultDebuff()

void BattlegroundEY::ResetAssaultDebuff ( )
private

Definition at line 149 of file BattlegroundEY.cpp.

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

◆ SetTeamPoint()

void BattlegroundEY::SetTeamPoint ( Team  team,
uint32  Points = 0 
)
inlineprivate

Definition at line 294 of file BattlegroundEY.h.

+ Here is the call graph for this function:

◆ SetupBattleground()

bool BattlegroundEY::SetupBattleground ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 357 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ StartingEventOpenDoors()

void BattlegroundEY::StartingEventOpenDoors ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 89 of file BattlegroundEY.cpp.

+ Here is the call graph for this function:

◆ UpdatePointsCount()

void BattlegroundEY::UpdatePointsCount ( TeamId  teamId)

Definition at line 223 of file BattlegroundEY.cpp.

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

◆ UpdateTeamScore()

void BattlegroundEY::UpdateTeamScore ( TeamId  Team)

Definition at line 189 of file BattlegroundEY.cpp.

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

Member Data Documentation

◆ _assaultEnabled

bool BattlegroundEY::_assaultEnabled
private

Definition at line 310 of file BattlegroundEY.h.

◆ _assaultStackCount

uint16 BattlegroundEY::_assaultStackCount
private

Definition at line 312 of file BattlegroundEY.h.

◆ _controlZoneHandlers

std::unordered_map<uint32, std::unique_ptr<BattlegroundEYControlZoneHandler> > BattlegroundEY::_controlZoneHandlers
private

Definition at line 305 of file BattlegroundEY.h.

◆ _doorGUIDs

GuidUnorderedSet BattlegroundEY::_doorGUIDs
private

Definition at line 306 of file BattlegroundEY.h.

◆ _flagAssaultTimer

TimeTracker BattlegroundEY::_flagAssaultTimer
private

Definition at line 311 of file BattlegroundEY.h.

◆ _flagGUID

ObjectGuid BattlegroundEY::_flagGUID
private

Definition at line 307 of file BattlegroundEY.h.

◆ _pointsTimer

TimeTracker BattlegroundEY::_pointsTimer
private

Definition at line 302 of file BattlegroundEY.h.

◆ m_FlagCapturedBgObjectType

uint32 BattlegroundEY::m_FlagCapturedBgObjectType
private

Definition at line 300 of file BattlegroundEY.h.

◆ m_HonorScoreTics

std::array<uint32, PVP_TEAMS_COUNT> BattlegroundEY::m_HonorScoreTics
private

Definition at line 298 of file BattlegroundEY.h.

◆ m_HonorTics

uint32 BattlegroundEY::m_HonorTics
private

Definition at line 303 of file BattlegroundEY.h.


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