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

#include <BattlefieldWG.h>

+ Inheritance diagram for BattlefieldWG:

Public Member Functions

 ~BattlefieldWG ()
 
void OnBattleStart () override
 Called when the battle start.
 
void OnBattleEnd (bool endByTimer) override
 Called when battle end.
 
void OnStartGrouping () override
 Called when grouping starts (15 minutes before battlestart)
 
void OnPlayerJoinWar (Player *player) override
 Called when player accept invite to join battle.
 
void OnPlayerLeaveWar (Player *player) override
 Called when player left the battle.
 
void OnPlayerLeaveZone (Player *player) override
 Called when player left the WG zone.
 
void OnPlayerEnterZone (Player *player) override
 Called when player enters in WG zone.
 
bool Update (uint32 diff) override
 Called for update battlefield data.
 
void OnCreatureCreate (Creature *creature) override
 Called when a creature is created.
 
void OnCreatureRemove (Creature *creature) override
 Called when a creature is removed.
 
void OnGameObjectCreate (GameObject *go) override
 Called when a gameobject is created.
 
void BrokenWallOrTower (TeamId team, BfWGGameObjectBuilding *building)
 Called when a wall/tower is broken.
 
void UpdateDamagedTowerCount (TeamId team)
 Called when a tower is damaged.
 
void UpdatedDestroyedTowerCount (TeamId team)
 Called when tower is broken.
 
void DoCompleteOrIncrementAchievement (uint32 achievement, Player *player, uint8 incrementNumber=1) override
 
void RemoveAurasFromPlayer (Player *player)
 
bool SetupBattlefield () override
 Called when battlefield is setup, at server start.
 
GameObjectGetRelic ()
 Return pointer to relic object.
 
void SetRelic (ObjectGuid relicGUID)
 Define relic object.
 
bool CanInteractWithRelic ()
 Check if players can interact with the relic (Only if the last door has been broken)
 
void SetRelicInteractible (bool allow)
 Define if player can interact with the relic.
 
void UpdateVehicleCountWG ()
 
void UpdateCounterVehicle (bool init)
 
void SendInitWorldStatesToAll () override
 Send all worldstate data to all player in zone.
 
void FillInitialWorldStates (WorldPackets::WorldState::InitWorldStates &packet) override
 
void HandleKill (Player *killer, Unit *victim) override
 Called when a Unit is kill in battlefield zone.
 
void OnUnitDeath (Unit *unit) override
 
void HandlePromotion (Player *killer, Unit *killed)
 
void PromotePlayer (Player *killer)
 
void UpdateTenacity ()
 
void ProcessEvent (WorldObject *obj, uint32 eventId) override
 
bool FindAndRemoveVehicleFromList (Unit *vehicle)
 
uint8 GetSpiritGraveyardId (uint32 areaId) const
 
uint32 GetData (uint32 data) const override
 
- Public Member Functions inherited from Battlefield
 Battlefield ()
 Constructor.
 
 Battlefield (Battlefield const &)=delete
 
 Battlefield (Battlefield &&)=delete
 
Battlefieldoperator= (Battlefield const &)=delete
 
Battlefieldoperator= (Battlefield &&)=delete
 
virtual ~Battlefield ()
 Destructor.
 
void SendInitWorldStatesTo (Player *player)
 
void SendUpdateWorldState (uint32 variable, uint32 value)
 Update data of a worldstate to all players present in zone.
 
void InvitePlayersInZoneToQueue ()
 Invite all players in zone to join the queue, called x minutes before battle start in Update()
 
void InvitePlayersInQueueToWar ()
 Invite all players in queue to join battle on battle start.
 
void InvitePlayersInZoneToWar ()
 Invite all players in zone to join battle on battle start.
 
uint32 GetTypeId () const
 
uint32 GetZoneId () const
 
void TeamApplyBuff (TeamId team, uint32 spellId, uint32 spellId2=0)
 
bool IsWarTime () const
 Return true if battle is start, false if battle is not started.
 
void ToggleBattlefield (bool enable)
 Enable or Disable battlefield.
 
bool IsEnabled () const
 Return if battlefield is enable.
 
void KickPlayerFromBattlefield (ObjectGuid guid)
 Kick player from battlefield and teleport him to kick-point location.
 
void HandlePlayerEnterZone (Player *player, uint32 zone)
 Called when player (player) enter in zone.
 
void HandlePlayerLeaveZone (Player *player, uint32 zone)
 Called when player (player) leave the zone.
 
virtual uint64 GetData64 (uint32 dataId) const override
 
virtual void SetData64 (uint32 dataId, uint64 value) override
 
virtual void SetData (uint32 dataId, uint32 value) override
 
virtual void UpdateData (uint32 index, int32 pad)
 
TeamId GetDefenderTeam () const
 
TeamId GetAttackerTeam () const
 
TeamId GetOtherTeam (TeamId team) const
 
void SetDefenderTeam (TeamId team)
 
GroupGetFreeBfRaid (TeamId TeamId)
 Find a not full battlefield group, if there is no, create one.
 
GroupGetGroupPlayer (ObjectGuid guid, TeamId TeamId)
 Return battlefield group where player is.
 
bool AddOrSetPlayerToCorrectBfGroup (Player *player)
 Force player to join a battlefield group.
 
WorldSafeLocsEntry const * GetClosestGraveyard (Player *player)
 
virtual void AddPlayerToResurrectQueue (ObjectGuid npc_guid, ObjectGuid player_guid)
 
void RemovePlayerFromResurrectQueue (ObjectGuid player_guid)
 
void SetGraveyardNumber (uint32 number)
 
BfGraveyardGetGraveyardById (uint32 id) const
 
CreatureSpawnCreature (uint32 entry, Position const &pos)
 
GameObjectSpawnGameObject (uint32 entry, Position const &pos, QuaternionData const &rot)
 
CreatureGetCreature (ObjectGuid guid)
 
GameObjectGetGameObject (ObjectGuid guid)
 
void SendWarning (uint8 id, WorldObject const *target=nullptr)
 
void PlayerAcceptInviteToQueue (Player *player)
 
void PlayerAcceptInviteToWar (Player *player)
 
uint32 GetBattleId () const
 
void AskToLeaveQueue (Player *player)
 
void PlayerAskToLeave (Player *player)
 
bool CanFlyIn ()
 Return if we can use mount in battlefield.
 
void SendAreaSpiritHealerQueryOpcode (Player *player, ObjectGuid guid)
 
void StartBattle ()
 
void EndBattle (bool endByTimer)
 
void HideNpc (Creature *creature)
 
void ShowNpc (Creature *creature, bool aggressive)
 
GraveyardVect GetGraveyardVector () const
 
uint32 GetTimer () const
 
void SetTimer (uint32 timer)
 
void DoPlaySoundToAll (uint32 soundID)
 
void InvitePlayerToQueue (Player *player)
 
void InvitePlayerToWar (Player *player)
 
void InitStalker (uint32 entry, Position const &pos)
 
- Public Member Functions inherited from ZoneScript
 ZoneScript ()
 
virtual ~ZoneScript ()
 
virtual uint32 GetCreatureEntry (ObjectGuid::LowType, CreatureData const *data)
 
virtual uint32 GetGameObjectEntry (ObjectGuid::LowType, uint32 entry)
 
virtual void OnGameObjectRemove (GameObject *)
 
virtual ObjectGuid GetGuidData (uint32) const
 
virtual void SetGuidData (uint32, ObjectGuid)
 

Protected Attributes

bool m_isRelicInteractible
 
WorkshopVect Workshops
 
GuidVector DefenderPortalList [PVP_TEAMS_COUNT]
 
GameObjectBuildingVect BuildingsInZone
 
GuidUnorderedSet m_vehicles [PVP_TEAMS_COUNT]
 
GuidVector CanonList
 
TeamId m_tenacityTeam
 
uint32 m_tenacityStack
 
uint32 m_saveTimer
 
ObjectGuid m_titansRelicGUID
 
- Protected Attributes inherited from Battlefield
ObjectGuid StalkerGuid
 
uint32 m_Timer
 
bool m_IsEnabled
 
bool m_isActive
 
TeamId m_DefenderTeam
 
BfCapturePointMap m_capturePoints
 
GuidUnorderedSet m_players [PVP_TEAMS_COUNT]
 
GuidUnorderedSet m_PlayersInQueue [PVP_TEAMS_COUNT]
 
GuidUnorderedSet m_PlayersInWar [PVP_TEAMS_COUNT]
 
PlayerTimerMap m_InvitedPlayers [PVP_TEAMS_COUNT]
 
PlayerTimerMap m_PlayersWillBeKick [PVP_TEAMS_COUNT]
 
uint32 m_TypeId
 
uint32 m_BattleId
 
uint32 m_ZoneId
 
uint32 m_MapId
 
Mapm_Map
 
uint32 m_MaxPlayer
 
uint32 m_MinPlayer
 
uint32 m_MinLevel
 
uint32 m_BattleTime
 
uint32 m_NoWarBattleTime
 
uint32 m_RestartAfterCrash
 
uint32 m_TimeForAcceptInvite
 
uint32 m_uiKickDontAcceptTimer
 
WorldLocation KickPosition
 
uint32 m_uiKickAfkPlayersTimer
 
GraveyardVect m_GraveyardList
 
uint32 m_LastResurrectTimer
 
uint32 m_StartGroupingTimer
 
bool m_StartGrouping
 
GuidUnorderedSet m_Groups [PVP_TEAMS_COUNT]
 
std::vector< uint64m_Data64
 
std::vector< uint32m_Data32
 

Additional Inherited Members

- Public Types inherited from Battlefield
typedef std::map< ObjectGuid::LowType, BfCapturePoint * > BfCapturePointMap
 typedef of map witch store capturepoint and the associate gameobject entry
 
- Protected Member Functions inherited from Battlefield
void KickAfkPlayers ()
 
virtual void SendRemoveWorldStates (Player *)
 
void BroadcastPacketToZone (WorldPacket const *data) const
 
void BroadcastPacketToQueue (WorldPacket const *data) const
 
void BroadcastPacketToWar (WorldPacket const *data) const
 
void AddCapturePoint (BfCapturePoint *cp)
 
BfCapturePointGetCapturePoint (ObjectGuid::LowType lowguid) const
 
void RegisterZone (uint32 zoneid)
 
bool HasPlayer (Player *player) const
 
void TeamCastSpell (TeamId team, int32 spellId)
 

Detailed Description

Definition at line 212 of file BattlefieldWG.h.

Constructor & Destructor Documentation

◆ ~BattlefieldWG()

BattlefieldWG::~BattlefieldWG ( )

Definition at line 402 of file BattlefieldWG.cpp.

Member Function Documentation

◆ BrokenWallOrTower()

void BattlefieldWG::BrokenWallOrTower ( TeamId  team,
BfWGGameObjectBuilding building 
)

Called when a wall/tower is broken.

  • Update quest

Definition at line 1190 of file BattlefieldWG.cpp.

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

◆ CanInteractWithRelic()

bool BattlefieldWG::CanInteractWithRelic ( )
inline

Check if players can interact with the relic (Only if the last door has been broken)

Definition at line 332 of file BattlefieldWG.h.

+ Here is the caller graph for this function:

◆ DoCompleteOrIncrementAchievement()

void BattlefieldWG::DoCompleteOrIncrementAchievement ( uint32  achievement,
Player player,
uint8  incrementNumber = 1 
)
overridevirtual

Reimplemented from Battlefield.

Definition at line 764 of file BattlefieldWG.cpp.

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

◆ FillInitialWorldStates()

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

Implements Battlefield.

Definition at line 1154 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ FindAndRemoveVehicleFromList()

bool BattlefieldWG::FindAndRemoveVehicleFromList ( Unit vehicle)

Definition at line 978 of file BattlefieldWG.cpp.

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

◆ GetData()

uint32 BattlefieldWG::GetData ( uint32  data) const
overridevirtual

Reimplemented from Battlefield.

Definition at line 1133 of file BattlefieldWG.cpp.

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

◆ GetRelic()

GameObject * BattlefieldWG::GetRelic ( )
inline

Return pointer to relic object.

Definition at line 326 of file BattlefieldWG.h.

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

◆ GetSpiritGraveyardId()

uint8 BattlefieldWG::GetSpiritGraveyardId ( uint32  areaId) const

Definition at line 793 of file BattlefieldWG.cpp.

+ Here is the caller graph for this function:

◆ HandleKill()

void BattlefieldWG::HandleKill ( Player ,
Unit  
)
overridevirtual

Called when a Unit is kill in battlefield zone.

@todoRecent PvP activity worldstate

Reimplemented from Battlefield.

Definition at line 962 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ HandlePromotion()

void BattlefieldWG::HandlePromotion ( Player killer,
Unit killed 
)

Definition at line 1006 of file BattlefieldWG.cpp.

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

◆ OnBattleEnd()

void BattlefieldWG::OnBattleEnd ( bool  endByTimer)
overridevirtual

Called when battle end.

  • Remove relic and turret
  • Change banner/npc in keep if it needed
  • Saving battlestate
  • Reward honor/mark to player
  • Remove vehicle
    Parameters
    endByTimer: true if battle ended when timer is at 00:00, false if battle ended by clicking on relic

Reimplemented from Battlefield.

Definition at line 650 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ OnBattleStart()

void BattlefieldWG::OnBattleStart ( )
overridevirtual

Called when the battle start.

  • Spawn relic and turret
  • Rebuild tower and wall
  • Invite player to war

Reimplemented from Battlefield.

Definition at line 567 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ OnCreatureCreate()

void BattlefieldWG::OnCreatureCreate ( Creature creature)
overridevirtual

Called when a creature is created.

  • Update vehicle count

Reimplemented from ZoneScript.

Definition at line 819 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ OnCreatureRemove()

void BattlefieldWG::OnCreatureRemove ( Creature creature)
overridevirtual

Called when a creature is removed.

  • Update vehicle count

Reimplemented from ZoneScript.

Definition at line 892 of file BattlefieldWG.cpp.

◆ OnGameObjectCreate()

void BattlefieldWG::OnGameObjectCreate ( GameObject go)
overridevirtual

Called when a gameobject is created.

Reimplemented from ZoneScript.

Definition at line 925 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ OnPlayerEnterZone()

void BattlefieldWG::OnPlayerEnterZone ( Player player)
overridevirtual

Called when player enters in WG zone.

  • Update aura
  • Update worldstate
    Parameters
    player: Player who enters the zone

Reimplemented from Battlefield.

Definition at line 1123 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ OnPlayerJoinWar()

void BattlefieldWG::OnPlayerJoinWar ( Player player)
overridevirtual

Called when player accept invite to join battle.

  • Update aura
  • Teleport if it needed
  • Update worldstate
  • Update tenacity
    Parameters
    playerPlayer who accepted invite

Reimplemented from Battlefield.

Definition at line 1060 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ OnPlayerLeaveWar()

void BattlefieldWG::OnPlayerLeaveWar ( Player player)
overridevirtual

Called when player left the battle.

  • Update player aura
    Parameters
    player: Player who left the battle

Reimplemented from Battlefield.

Definition at line 1094 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ OnPlayerLeaveZone()

void BattlefieldWG::OnPlayerLeaveZone ( Player player)
overridevirtual

Called when player left the WG zone.

Parameters
player: Player who left the zone

Reimplemented from Battlefield.

Definition at line 1112 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ OnStartGrouping()

void BattlefieldWG::OnStartGrouping ( )
overridevirtual

Called when grouping starts (15 minutes before battlestart)

  • Invite all player in zone to join queue

Reimplemented from Battlefield.

Definition at line 788 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ OnUnitDeath()

void BattlefieldWG::OnUnitDeath ( Unit unit)
overridevirtual

Reimplemented from ZoneScript.

Definition at line 998 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ ProcessEvent()

void BattlefieldWG::ProcessEvent ( WorldObject obj,
uint32  eventId 
)
overridevirtual

Reimplemented from ZoneScript.

Definition at line 1246 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ PromotePlayer()

void BattlefieldWG::PromotePlayer ( Player killer)

Definition at line 1017 of file BattlefieldWG.cpp.

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

◆ RemoveAurasFromPlayer()

void BattlefieldWG::RemoveAurasFromPlayer ( Player player)

Definition at line 1048 of file BattlefieldWG.cpp.

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

◆ SendInitWorldStatesToAll()

void BattlefieldWG::SendInitWorldStatesToAll ( )
overridevirtual

Send all worldstate data to all player in zone.

Implements Battlefield.

Definition at line 1182 of file BattlefieldWG.cpp.

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

◆ SetRelic()

void BattlefieldWG::SetRelic ( ObjectGuid  relicGUID)
inline

Define relic object.

Definition at line 329 of file BattlefieldWG.h.

◆ SetRelicInteractible()

void BattlefieldWG::SetRelicInteractible ( bool  allow)
inline

Define if player can interact with the relic.

Definition at line 335 of file BattlefieldWG.h.

+ Here is the caller graph for this function:

◆ SetupBattlefield()

bool BattlefieldWG::SetupBattlefield ( )
overridevirtual

Called when battlefield is setup, at server start.

Reimplemented from Battlefield.

Definition at line 411 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ Update()

bool BattlefieldWG::Update ( uint32  diff)
overridevirtual

Called for update battlefield data.

  • Save battle timer in database every minutes
  • Update imunity aura from graveyard
    Parameters
    diff: time elapsed since the last call (in ms)

Reimplemented from Battlefield.

Definition at line 547 of file BattlefieldWG.cpp.

+ Here is the call graph for this function:

◆ UpdateCounterVehicle()

void BattlefieldWG::UpdateCounterVehicle ( bool  init)

Definition at line 629 of file BattlefieldWG.cpp.

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

◆ UpdateDamagedTowerCount()

void BattlefieldWG::UpdateDamagedTowerCount ( TeamId  team)

Called when a tower is damaged.

  • Update tower count (for reward calcul)

Definition at line 1283 of file BattlefieldWG.cpp.

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

◆ UpdatedDestroyedTowerCount()

void BattlefieldWG::UpdatedDestroyedTowerCount ( TeamId  team)

Called when tower is broken.

  • Update tower buff
  • check if three south tower is down for remove 10 minutes to wg

Definition at line 1204 of file BattlefieldWG.cpp.

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

◆ UpdateTenacity()

void BattlefieldWG::UpdateTenacity ( )

Definition at line 1300 of file BattlefieldWG.cpp.

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

◆ UpdateVehicleCountWG()

void BattlefieldWG::UpdateVehicleCountWG ( )

Definition at line 1292 of file BattlefieldWG.cpp.

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

Member Data Documentation

◆ BuildingsInZone

GameObjectBuildingVect BattlefieldWG::BuildingsInZone
protected

Definition at line 364 of file BattlefieldWG.h.

◆ CanonList

GuidVector BattlefieldWG::CanonList
protected

Definition at line 367 of file BattlefieldWG.h.

◆ DefenderPortalList

GuidVector BattlefieldWG::DefenderPortalList[PVP_TEAMS_COUNT]
protected

Definition at line 363 of file BattlefieldWG.h.

◆ m_isRelicInteractible

bool BattlefieldWG::m_isRelicInteractible
protected

Definition at line 359 of file BattlefieldWG.h.

◆ m_saveTimer

uint32 BattlefieldWG::m_saveTimer
protected

Definition at line 371 of file BattlefieldWG.h.

◆ m_tenacityStack

uint32 BattlefieldWG::m_tenacityStack
protected

Definition at line 370 of file BattlefieldWG.h.

◆ m_tenacityTeam

TeamId BattlefieldWG::m_tenacityTeam
protected

Definition at line 369 of file BattlefieldWG.h.

◆ m_titansRelicGUID

ObjectGuid BattlefieldWG::m_titansRelicGUID
protected

Definition at line 373 of file BattlefieldWG.h.

◆ m_vehicles

GuidUnorderedSet BattlefieldWG::m_vehicles[PVP_TEAMS_COUNT]
protected

Definition at line 366 of file BattlefieldWG.h.

◆ Workshops

WorkshopVect BattlefieldWG::Workshops
protected

Definition at line 361 of file BattlefieldWG.h.


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