115 void GiveControlTo(
TeamId team);
119 float GetDistance(
Player* player);
171 void InvitePlayersInZoneToQueue();
173 void InvitePlayersInQueueToWar();
175 void InvitePlayersInZoneToWar();
184 uint64 GetQueueId()
const;
202 void KickPlayerFromBattlefield(
ObjectGuid guid);
233 bool AddOrSetPlayerToCorrectBfGroup(
Player* player);
268 void PlayerAcceptInviteToQueue(
Player* player);
269 void PlayerAcceptInviteToWar(
Player* player);
271 void AskToLeaveQueue(
Player* player);
272 void PlayerAskToLeave(
Player* player);
280 void EndBattle(
bool endByTimer);
283 void ShowNpc(
Creature* creature,
bool aggressive);
290 void DoPlaySoundToAll(
uint32 SoundID);
292 void InvitePlayerToQueue(
Player* player);
293 void InvitePlayerToWar(
Player* player);
344 void KickAfkPlayers();
350 void BroadcastPacketToZone(
WorldPacket const* data)
const;
351 void BroadcastPacketToQueue(
WorldPacket const* data)
const;
352 void BroadcastPacketToWar(
WorldPacket const* data)
const;
354 void RegisterZone(
uint32 zoneid);
355 bool HasPlayer(
Player* player)
const;
std::map< ObjectGuid, time_t > PlayerTimerMap
std::vector< BfGraveyard * > GraveyardVect
@ BATTLEFIELD_OBJECTIVE_UPDATE_INTERVAL
@ BATTLEFIELD_IN_PROGRESS
BattlefieldObjectiveStates
@ BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE
@ BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE
@ BF_CAPTUREPOINT_OBJECTIVESTATE_HORDE
@ BF_CAPTUREPOINT_OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE
@ BF_CAPTUREPOINT_OBJECTIVESTATE_ALLIANCE
@ BF_CAPTUREPOINT_OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE
@ BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL
@ BATTLEFIELD_BATTLEID_WG
@ BATTLEFIELD_BATTLEID_TB
@ BATTLEFIELD_BATTLEID_ASHRAN
std::unordered_set< ObjectGuid > GuidUnorderedSet
uint8 constexpr PVP_TEAMS_COUNT
Battlefield * _battlefield
virtual ~BattlefieldControlZoneHandler()=default
void HandlePlayerLeaveZone(Player *player, uint32 zoneId)
void HandlePlayerEnterZone(Player *player, uint32 zoneId)
GraveyardVect m_GraveyardList
uint32 GetBattleId() const
virtual uint64 GetData64(uint32 dataId) const override
std::vector< uint32 > m_Data32
void SetTimer(uint32 timer)
virtual void OnBattleEnd(bool)
Called at the end of battle.
virtual void SetData(uint32 dataId, uint32 value) override
bool IsWarTime() const
Return true if battle is start, false if battle is not started.
virtual void UpdateData(uint32 index, int32 pad)
GraveyardVect GetGraveyardVector() const
virtual void DoCompleteOrIncrementAchievement(uint32, Player *, uint8)
virtual bool SetupBattlefield()
Call this to init the Battlefield.
virtual void SendRemoveWorldStates(Player *)
uint32 m_StartGroupingTimer
void SetDefenderTeam(TeamId team)
Battlefield(Battlefield const &right)=delete
uint32 m_uiKickAfkPlayersTimer
virtual void OnPlayerJoinWar(Player *)
Called when a player accept to join the battle.
uint32 m_TimeForAcceptInvite
std::vector< uint64 > m_Data64
virtual void OnBattleStart()
Called on start.
virtual void SetData64(uint32 dataId, uint64 value) override
std::unordered_map< uint32, std::unique_ptr< BattlefieldControlZoneHandler > > ControlZoneHandlerMap
typedef of map witch store capturepoint and the associate gameobject entry
uint32 m_RestartAfterCrash
Battlefield & operator=(Battlefield &&right)=delete
TeamId GetAttackerTeam() const
Battlefield & operator=(Battlefield const &right)=delete
virtual void HandleKill(Player *, Unit *)
Called when a Unit is kill in battlefield zone.
bool CanFlyIn()
Return if we can use mount in battlefield.
TeamId GetDefenderTeam() const
virtual uint32 GetData(uint32 dataId) const override
virtual void OnPlayerLeaveZone(Player *)
Called when a player leave battlefield zone.
uint32 m_uiKickDontAcceptTimer
void ToggleBattlefield(bool enable)
Enable or Disable battlefield.
ControlZoneHandlerMap ControlZoneHandlers
Battlefield(Battlefield &&right)=delete
virtual void OnStartGrouping()
Called x minutes before battle start when player in zone are invite to join queue.
WorldLocation KickPosition
virtual void OnPlayerLeaveWar(Player *)
Called when a player leave the battle.
void SetGraveyardNumber(uint32 number)
void TeamApplyBuff(TeamId team, uint32 spellId, uint32 spellId2=0)
TeamId GetOtherTeam(TeamId team) const
bool IsEnabled() const
Return if battlefield is enable.
virtual void OnPlayerEnterZone(Player *)
Called when a player enter in battlefield zone.
virtual ~BfGraveyard()=default
TeamId GetControlTeamId() const
uint32 GetGraveyardId() const
TC_GAME_API GameObject * GetGameObject(WorldObject const &u, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void Update(VignetteData &vignette, WorldObject const *owner)