125 void GiveControlTo(
TeamId team);
129 float GetDistance(
Player* player);
179 virtual bool Update(
uint32 diff);
182 void InvitePlayersInZoneToQueue();
184 void InvitePlayersInQueueToWar();
186 void InvitePlayersInZoneToWar();
195 uint64 GetQueueId()
const;
213 void KickPlayerFromBattlefield(
ObjectGuid guid);
216 void HandlePlayerEnterZone(
Player* player,
uint32 zone);
218 void HandlePlayerLeaveZone(
Player* player,
uint32 zone);
243 bool AddOrSetPlayerToCorrectBfGroup(
Player* player);
249 void SetGraveyardNumber(
uint32 number);
278 void PlayerAcceptInviteToQueue(
Player* player);
279 void PlayerAcceptInviteToWar(
Player* player);
281 void AskToLeaveQueue(
Player* player);
282 void PlayerAskToLeave(
Player* player);
290 void EndBattle(
bool endByTimer);
293 void ShowNpc(
Creature* creature,
bool aggressive);
300 void DoPlaySoundToAll(
uint32 SoundID);
302 void InvitePlayerToQueue(
Player* player);
303 void InvitePlayerToWar(
Player* player);
354 void KickAfkPlayers();
360 void BroadcastPacketToZone(
WorldPacket const* data)
const;
361 void BroadcastPacketToQueue(
WorldPacket const* data)
const;
362 void BroadcastPacketToWar(
WorldPacket const* data)
const;
364 void RegisterZone(
uint32 zoneid);
365 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
BattlefieldControlZoneHandler(BattlefieldControlZoneHandler &&)=delete
Battlefield * _battlefield
BattlefieldControlZoneHandler & operator=(BattlefieldControlZoneHandler const &)=delete
BattlefieldControlZoneHandler(BattlefieldControlZoneHandler const &)=delete
virtual ~BattlefieldControlZoneHandler()
BattlefieldControlZoneHandler & operator=(BattlefieldControlZoneHandler &&)=delete
GraveyardVect m_GraveyardList
Battlefield(Battlefield const &)=delete
uint32 GetBattleId() const
virtual uint64 GetData64(uint32 dataId) const override
Battlefield & operator=(Battlefield &&)=delete
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
Battlefield(Battlefield &&)=delete
bool IsWarTime() const
Return true if battle is start, false if battle is not started.
virtual void UpdateData(uint32 index, int32 pad)
virtual void DoCompleteOrIncrementAchievement(uint32, Player *, uint8)
virtual bool SetupBattlefield()
Call this to init the Battlefield.
virtual void SendRemoveWorldStates(Player *)
uint32 m_StartGroupingTimer
GraveyardVect const & GetGraveyardVector() const
void SetDefenderTeam(TeamId team)
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
Battlefield & operator=(Battlefield const &)=delete
std::unordered_map< uint32, std::unique_ptr< BattlefieldControlZoneHandler > > ControlZoneHandlerMap
typedef of map witch store capturepoint and the associate gameobject entry
uint32 m_RestartAfterCrash
TeamId GetAttackerTeam() const
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
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 TeamApplyBuff(TeamId team, uint32 spellId, uint32 spellId2=0)
bool IsEnabled() const
Return if battlefield is enable.
virtual void OnPlayerEnterZone(Player *)
Called when a player enter in battlefield zone.
BfGraveyard(BfGraveyard const &)=delete
BfGraveyard(BfGraveyard &&)=delete
BfGraveyard & operator=(BfGraveyard const &)=delete
BfGraveyard & operator=(BfGraveyard &&)=delete
TeamId GetControlTeamId() const
uint32 GetGraveyardId() const