18#ifndef __BATTLEGROUNDWS_H
19#define __BATTLEGROUNDWS_H
154 void Reset()
override;
BG_WS_ExploitTeleportLocations
@ WS_EXPLOIT_TELEPORT_LOCATION_HORDE
@ WS_EXPLOIT_TELEPORT_LOCATION_ALLIANCE
static constexpr uint32 WS_EVENT_START_BATTLE
@ BG_WS_SPELL_WARSONG_FLAG
@ BG_WS_SPELL_BRUTAL_ASSAULT
@ BG_WS_SPELL_SILVERWING_FLAG_DROPPED
@ BG_WS_SPELL_FOCUSED_ASSAULT
@ BG_WS_SPELL_WARSONG_FLAG_DROPPED
@ BG_WS_SPELL_SILVERWING_FLAG
@ BG_WS_SPELL_QUICK_CAP_TIMER
@ BG_WS_SOUND_FLAG_PLACED
@ BG_WS_SOUND_FLAG_CAPTURED_HORDE
@ BG_WS_SOUND_FLAGS_RESPAWNED
@ BG_WS_SOUND_FLAG_CAPTURED_ALLIANCE
@ BG_WS_SOUND_HORDE_FLAG_PICKED_UP
@ BG_WS_SOUND_ALLIANCE_FLAG_PICKED_UP
@ BG_WS_SOUND_FLAG_RETURNED
static constexpr uint16 FLAG_BRUTAL_ASSAULT_STACK_COUNT
@ WS_SPELL_BRUTAL_ASSAULT
@ SPELL_CAPTURED_HORDE_COSMETIC_FX
@ SPELL_CAPTURED_ALLIANCE_COSMETIC_FX
@ WS_SPELL_FOCUSED_ASSAULT
@ BG_WS_TEXT_START_HALF_MINUTE
@ BG_WS_TEXT_HORDE_FLAG_PICKED_UP
@ BG_WS_TEXT_ALLIANCE_FLAG_DROPPED
@ BG_WS_TEXT_ALLIANCE_FLAG_RETURNED
@ BG_WS_TEXT_ALLIANCE_FLAG_PICKED_UP
@ BG_WS_TEXT_CAPTURED_HORDE_FLAG
@ BG_WS_TEXT_BATTLE_HAS_BEGUN
@ BG_WS_TEXT_CAPTURED_ALLIANCE_FLAG
@ BG_WS_TEXT_HORDE_FLAG_DROPPED
@ BG_WS_TEXT_START_ONE_MINUTE
@ BG_WS_TEXT_HORDE_FLAG_RETURNED
@ BG_WS_TEXT_FLAGS_PLACED
static constexpr Seconds FLAG_ASSAULT_TIMER
@ BG_WS_OBJECT_HORDE_FLAG_IN_BASE
@ BG_WS_OBJECT_PORTCULLIS_002
@ BG_WS_OBJECT_HORDE_GATE_1
@ BG_WS_OBJECT_HORDE_GATE_2
@ BG_WS_OBJECT_COLLISION_PC_SIZE
@ BG_WS_OBJECT_ALLIANCE_FLAG_IN_BASE
@ BG_WS_OBJECT_PORTCULLIS_009
@ BG_WS_OBJECT_ALLIANCE_DOOR
@ BG_WS_FLAG_RESPAWN_TIME
@ BG_WS_SPELL_BRUTAL_TIME
@ AT_CAPTURE_POINT_ALLIANCE
@ BG_WS_HORDE_FLAG_COUNT_PICKED_UP
@ BG_WS_FLAG_CAPTURES_MAX
@ BG_WS_ALLIANCE_FLAG_COUNT_PICKED_UP
@ BG_WS_FLAG_STATE_ALLIANCE
@ BG_WS_FLAG_CAPTURES_HORDE
@ BG_WS_FLAG_STATE_NEUTRAL
@ BG_WS_STATE_TIMER_ACTIVE
@ BG_WS_FLAG_CONTROL_HORDE
@ BG_WS_FLAG_CONTROL_ALLIANCE
@ BG_WS_FLAG_CAPTURES_MAX_NEW
@ BG_WS_FLAG_CAPTURES_ALLIANCE
std::chrono::seconds Seconds
Seconds shorthand typedef.
std::set< ObjectGuid > GuidSet
TimeTracker _flagAssaultTimer
Team _lastFlagCaptureTeam
WorldSafeLocsEntry const * GetClosestGraveyard(Player *player) override
void EndBattleground(Team winner) override
void RemovePoint(Team team, uint32 Points=1)
uint32 m_ReputationCapture
void HandleKillPlayer(Player *player, Player *killer) override
std::array< ObjectGuid, 2 > _flags
void OnFlagStateChange(GameObject *flagInBase, FlagState oldValue, FlagState newValue, Player *player) override
BattlegroundWS(BattlegroundTemplate const *battlegroundTemplate)
FlagState GetFlagState(TeamId team) const
void UpdateFlagState(uint32 team, FlagState value)
void ResetAssaultDebuff()
void HandleFlagRoomCapturePoint()
void SetLastFlagCapture(Team team)
void RemoveAssaultDebuffFromPlayer(Player *player)
std::array< ObjectGuid, 2 > _capturePointAreaTriggers
Team GetPrematureWinner() override
void UpdateTeamScore(TeamId team)
bool SetupBattleground() override
void OnGameObjectCreate(GameObject *gameObject) override
void OnAreaTriggerCreate(AreaTrigger *areaTrigger) override
void ApplyAssaultDebuffToPlayer(Player *player)
WorldSafeLocsEntry const * GetExploitTeleportLocation(Team team) override
void SetTeamPoint(Team team, uint32 Points=0)
ObjectGuid const & GetFlagCarrierGUID(TeamId team) const
void OnCaptureFlag(AreaTrigger *areatrigger, Player *player) override
void PostUpdateImpl(uint32 diff) override
Post-update hook.
void AddPoint(Team team, uint32 Points=1)
void DoForFlagKeepers(std::function< void(Player *)> action) const
uint16 _assaultStackCount
void StartingEventOpenDoors() override
bool CanCaptureFlag(AreaTrigger *areatrigger, Player *player) override
int32 m_TeamScores[PVP_TEAMS_COUNT]
static TeamId GetTeamIndexByTeamId(Team team)