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

#include <BattlegroundIC.h>

+ Inheritance diagram for BattlegroundIC:

Public Member Functions

 BattlegroundIC ()
 
 ~BattlegroundIC ()
 
void AddPlayer (Player *player) override
 
void StartingEventCloseDoors () override
 
void StartingEventOpenDoors () override
 
void PostUpdateImpl (uint32 diff) override
 Post-update hook.
 
void RemovePlayer (Player *player, ObjectGuid guid, uint32 team) override
 
void HandleAreaTrigger (Player *player, uint32 trigger) override
 
bool SetupBattleground () override
 
void SpawnLeader (uint32 teamid)
 
void HandleKillUnit (Creature *unit, Player *killer) override
 
void HandleKillPlayer (Player *player, Player *killer) override
 
void EventPlayerClickedOnFlag (Player *source, GameObject *) override
 
void DestroyGate (Player *player, GameObject *go) override
 
WorldSafeLocsEntry const * GetClosestGraveyard (Player *player) override
 
void FillInitialWorldStates (WorldPackets::WorldState::InitWorldStates &packet) override
 
void HandlePlayerResurrect (Player *player) override
 
uint32 GetNodeState (uint8 nodeType) const
 
bool IsAllNodesControlledByTeam (uint32 team) const override
 
bool IsSpellAllowed (uint32 spellId, Player const *player) const override
 
- Public Member Functions inherited from Battleground
 Battleground ()
 
virtual ~Battleground ()
 
void Update (uint32 diff)
 
virtual void Reset ()
 
virtual void ResetBGSubclass ()
 
void StartTimedAchievement (AchievementCriteriaTimedTypes type, uint32 entry)
 
virtual bool CheckAchievementCriteriaMeet (uint32, Player const *, Unit const *=nullptr, uint32=0)
 
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)
 
virtual void EndBattleground (uint32 winner)
 
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)
 
virtual bool UpdatePlayerScore (Player *player, uint32 type, uint32 value, bool doAddHonor=true)
 
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 EventPlayerDroppedFlag (Player *)
 
void EventPlayerLoggedIn (Player *player)
 
void EventPlayerLoggedOut (Player *player)
 
virtual void ProcessEvent (WorldObject *, uint32, WorldObject *=nullptr)
 
virtual void DoAction (uint32, ObjectGuid)
 
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
 
uint32 GetTeamScore (uint32 TeamID) const
 
virtual uint32 GetPrematureWinner ()
 
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

uint32 GetNextBanner (ICNodePoint *node, uint32 team, bool returnDefinitve)
 
uint32 GetGateIDFromEntry (uint32 id)
 
uint32 GetWorldStateFromGateEntry (uint32 id, bool open)
 
void UpdateNodeWorldState (ICNodePoint *node)
 
void HandleCapturedNodes (ICNodePoint *node, bool recapture)
 
void HandleContestedNodes (ICNodePoint *node)
 

Private Attributes

uint32 closeFortressDoorsTimer
 
bool doorsClosed
 
uint32 docksTimer
 
uint32 resourceTimer
 
uint32 siegeEngineWorkshopTimer
 
uint16 factionReinforcements [2]
 
BG_IC_GateState GateStatus [6]
 
ICNodePoint nodePoint [7]
 
TransportgunshipAlliance
 
TransportgunshipHorde
 

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 942 of file BattlegroundIC.h.

Constructor & Destructor Documentation

◆ BattlegroundIC()

BattlegroundIC::BattlegroundIC ( )

Definition at line 34 of file BattlegroundIC.cpp.

◆ ~BattlegroundIC()

BattlegroundIC::~BattlegroundIC ( )

Definition at line 59 of file BattlegroundIC.cpp.

Member Function Documentation

◆ AddPlayer()

void BattlegroundIC::AddPlayer ( Player player)
overridevirtual

Reimplemented from Battleground.

Definition at line 247 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ DestroyGate()

void BattlegroundIC::DestroyGate ( Player player,
GameObject go 
)
overridevirtual

Reimplemented from Battleground.

Definition at line 797 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ EventPlayerClickedOnFlag()

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

Reimplemented from Battleground.

Definition at line 421 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ FillInitialWorldStates()

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

Reimplemented from Battleground.

Definition at line 293 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ GetClosestGraveyard()

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

Reimplemented from Battleground.

Definition at line 864 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ GetGateIDFromEntry()

uint32 BattlegroundIC::GetGateIDFromEntry ( uint32  id)
inlineprivate

Definition at line 992 of file BattlegroundIC.h.

+ Here is the caller graph for this function:

◆ GetNextBanner()

uint32 BattlegroundIC::GetNextBanner ( ICNodePoint node,
uint32  team,
bool  returnDefinitve 
)
private

Definition at line 528 of file BattlegroundIC.cpp.

+ Here is the caller graph for this function:

◆ GetNodeState()

uint32 BattlegroundIC::GetNodeState ( uint8  nodeType) const
inline

Definition at line 971 of file BattlegroundIC.h.

+ Here is the caller graph for this function:

◆ GetWorldStateFromGateEntry()

uint32 BattlegroundIC::GetWorldStateFromGateEntry ( uint32  id,
bool  open 
)
inlineprivate

Definition at line 1007 of file BattlegroundIC.h.

+ Here is the caller graph for this function:

◆ HandleAreaTrigger()

void BattlegroundIC::HandleAreaTrigger ( Player player,
uint32  trigger 
)
overridevirtual

@hack: this spell should be cast by npc 22515 (World Trigger) and not by the player

Reimplemented from Battleground.

Definition at line 270 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ HandleCapturedNodes()

void BattlegroundIC::HandleCapturedNodes ( ICNodePoint node,
bool  recapture 
)
private

Definition at line 593 of file BattlegroundIC.cpp.

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

◆ HandleContestedNodes()

void BattlegroundIC::HandleContestedNodes ( ICNodePoint node)
private

Definition at line 553 of file BattlegroundIC.cpp.

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

◆ HandleKillPlayer()

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

Reimplemented from Battleground.

Definition at line 405 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ HandleKillUnit()

void BattlegroundIC::HandleKillUnit ( Creature unit,
Player killer 
)
overridevirtual

Reimplemented from Battleground.

Definition at line 382 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ HandlePlayerResurrect()

void BattlegroundIC::HandlePlayerResurrect ( Player player)
overridevirtual

Reimplemented from Battleground.

Definition at line 61 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ IsAllNodesControlledByTeam()

bool BattlegroundIC::IsAllNodesControlledByTeam ( uint32  team) const
overridevirtual

Reimplemented from Battleground.

Definition at line 903 of file BattlegroundIC.cpp.

◆ IsSpellAllowed()

bool BattlegroundIC::IsSpellAllowed ( uint32  spellId,
Player const *  player 
) const
overridevirtual

Reimplemented from Battleground.

Definition at line 916 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ PostUpdateImpl()

void BattlegroundIC::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 70 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ RemovePlayer()

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

Reimplemented from Battleground.

Definition at line 261 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ SetupBattleground()

bool BattlegroundIC::SetupBattleground ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 310 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ SpawnLeader()

void BattlegroundIC::SpawnLeader ( uint32  teamid)

◆ StartingEventCloseDoors()

void BattlegroundIC::StartingEventCloseDoors ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 221 of file BattlegroundIC.cpp.

◆ StartingEventOpenDoors()

void BattlegroundIC::StartingEventOpenDoors ( )
overridevirtual

Reimplemented from Battleground.

Definition at line 225 of file BattlegroundIC.cpp.

+ Here is the call graph for this function:

◆ UpdateNodeWorldState()

void BattlegroundIC::UpdateNodeWorldState ( ICNodePoint node)
private

Definition at line 503 of file BattlegroundIC.cpp.

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

Member Data Documentation

◆ closeFortressDoorsTimer

uint32 BattlegroundIC::closeFortressDoorsTimer
private

Definition at line 978 of file BattlegroundIC.h.

◆ docksTimer

uint32 BattlegroundIC::docksTimer
private

Definition at line 980 of file BattlegroundIC.h.

◆ doorsClosed

bool BattlegroundIC::doorsClosed
private

Definition at line 979 of file BattlegroundIC.h.

◆ factionReinforcements

uint16 BattlegroundIC::factionReinforcements[2]
private

Definition at line 983 of file BattlegroundIC.h.

◆ GateStatus

BG_IC_GateState BattlegroundIC::GateStatus[6]
private

Definition at line 984 of file BattlegroundIC.h.

◆ gunshipAlliance

Transport* BattlegroundIC::gunshipAlliance
private

Definition at line 987 of file BattlegroundIC.h.

◆ gunshipHorde

Transport* BattlegroundIC::gunshipHorde
private

Definition at line 988 of file BattlegroundIC.h.

◆ nodePoint

ICNodePoint BattlegroundIC::nodePoint[7]
private

Definition at line 985 of file BattlegroundIC.h.

◆ resourceTimer

uint32 BattlegroundIC::resourceTimer
private

Definition at line 981 of file BattlegroundIC.h.

◆ siegeEngineWorkshopTimer

uint32 BattlegroundIC::siegeEngineWorkshopTimer
private

Definition at line 982 of file BattlegroundIC.h.


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