AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
BattlegroundDS Class Reference

#include "BattlegroundDS.h"

Inheritance diagram for BattlegroundDS:
Arena Battleground

Public Member Functions

 BattlegroundDS ()
 
void StartingEventCloseDoors () override
 
void StartingEventOpenDoors () override
 
void HandleAreaTrigger (Player *player, uint32 trigger) override
 
bool SetupBattleground () override
 
void FillInitialWorldStates (WorldPacket &d) override
 
bool HandlePlayerUnderMap (Player *player) override
 
- Public Member Functions inherited from Battleground
 Battleground ()
 
virtual ~Battleground ()
 
void Update (uint32 diff)
 
virtual bool SetupBattleground ()
 
virtual void Init ()
 
virtual void StartingEventCloseDoors ()
 
virtual void StartingEventOpenDoors ()
 
virtual void ResetBGSubclass ()
 
virtual void DestroyGate (Player *, GameObject *)
 
virtual bool AllNodesConrolledByTeam (TeamId) const
 
void StartTimedAchievement (AchievementCriteriaTimedTypes type, uint32 entry)
 
std::string GetName () const
 
BattlegroundTypeId GetBgTypeID (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 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 ()
 
void SetName (std::string_view name)
 
void SetBgTypeID (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 SetLevelRange (uint32 min, uint32 max)
 
void SetRated (bool state)
 
void SetArenaType (uint8 type)
 
void SetArenaorBGType (bool _isArena)
 
void SetWinner (PvPTeamId winner)
 
void SetScriptId (uint32 scriptId)
 
void SetRandom (bool isRandom)
 
void ModifyStartDelayTime (int32 diff)
 
void SetStartDelayTime (int32 Time)
 
void SetMaxPlayersPerTeam (uint32 MaxPlayers)
 
void SetMinPlayersPerTeam (uint32 MinPlayers)
 
void AddToBGFreeSlotQueue ()
 
void RemoveFromBGFreeSlotQueue ()
 
void DecreaseInvitedCount (TeamId teamId)
 
void IncreaseInvitedCount (TeamId teamId)
 
uint32 GetInvitedCount (TeamId teamId) const
 
bool HasFreeSlots () const
 
uint32 GetFreeSlotsForTeam (TeamId teamId) const
 
uint32 GetMaxFreeSlots () const
 
void AddSpectator (Player *p)
 
void RemoveSpectator (Player *p)
 
bool HaveSpectators ()
 
const SpectatorListGetSpectators () const
 
void AddToBeTeleported (ObjectGuid spectator, ObjectGuid participant)
 
void RemoveToBeTeleported (ObjectGuid spectator)
 
void SpectatorsSendPacket (WorldPacket &data)
 
bool isArena () const
 
bool isBattleground () const
 
bool isRated () const
 
BattlegroundPlayerMap const & GetPlayers () const
 
uint32 GetPlayersSize () const
 
void ReadyMarkerClicked (Player *p)
 
BattlegroundScoreMap const * GetPlayerScores () const
 
std::size_t GetPlayerScoresSize () const
 
uint32 GetReviveQueueSize () const
 
void AddPlayerToResurrectQueue (ObjectGuid npc_guid, ObjectGuid player_guid)
 
void RemovePlayerFromResurrectQueue (Player *player)
 
void RelocateDeadPlayers (ObjectGuid queueIndex)
 Relocate all players in ReviveQueue to the closest graveyard.
 
void StartBattleground ()
 
GameObjectGetBGObject (uint32 type)
 
CreatureGetBGCreature (uint32 type)
 
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
 
virtual void FillInitialWorldStates (WorldPacket &)
 
void SendPacketToTeam (TeamId teamId, WorldPacket const *packet, Player *sender=nullptr, bool self=true)
 
void SendPacketToAll (WorldPacket const *packet)
 
void YellToAll (Creature *creature, const char *text, uint32 language)
 
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 PlaySoundToAll (uint32 soundId)
 
void CastSpellOnTeam (uint32 spellId, TeamId teamId)
 
void RemoveAuraOnTeam (uint32 spellId, TeamId teamId)
 
void RewardHonorToTeam (uint32 honor, TeamId teamId)
 
void RewardReputationToTeam (uint32 factionId, uint32 reputation, TeamId teamId)
 
uint32 GetRealRepFactionForPlayer (uint32 factionId, Player *player)
 
void UpdateWorldState (uint32 variable, uint32 value)
 
void EndBattleground (PvPTeamId winnerTeamId)
 
virtual void EndBattleground (TeamId winnerTeamId)
 
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,...)
 
void SendMessage2ToAll (uint32 entry, ChatMsg type, Player const *source, uint32 strId1=0, uint32 strId2=0)
 
GroupGetBgRaid (TeamId teamId) const
 
void SetBgRaid (TeamId teamId, Group *bg_raid)
 
void BuildPvPLogDataPacket (WorldPacket &data)
 
virtual bool UpdatePlayerScore (Player *player, uint32 type, uint32 value, bool doAddHonor=true)
 
uint32 GetPlayersCountByTeam (TeamId teamId) const
 
uint32 GetAlivePlayersCountByTeam (TeamId teamId) const
 
void UpdatePlayersCountByTeam (TeamId teamId, bool remove)
 
virtual void CheckWinConditions ()
 
void SetArenaTeamIdForTeam (TeamId teamId, uint32 ArenaTeamId)
 
uint32 GetArenaTeamIdForTeam (TeamId teamId) const
 
void SetArenaMatchmakerRating (TeamId teamId, uint32 MMR)
 
uint32 GetArenaMatchmakerRating (TeamId teamId) const
 
virtual void HandleAreaTrigger (Player *, uint32)
 
virtual void HandleKillPlayer (Player *player, Player *killer)
 
virtual void HandleKillUnit (Creature *, Player *)
 
virtual void EventPlayerDroppedFlag (Player *)
 
virtual void EventPlayerClickedOnFlag (Player *, GameObject *)
 
virtual void EventPlayerDamagedGO (Player *, GameObject *, uint32)
 
virtual void EventPlayerUsedGO (Player *, GameObject *)
 
virtual void DoAction (uint32, ObjectGuid)
 
virtual void HandlePlayerResurrect (Player *)
 
virtual GraveyardStruct const * GetClosestGraveyard (Player *player)
 
virtual void AddPlayer (Player *player)
 
void AddOrSetPlayerToCorrectBgGroup (Player *player, TeamId teamId)
 
virtual void RemovePlayerAtLeave (Player *player)
 
void HandleTriggerBuff (GameObject *gameObject)
 
void SetHoliday (bool is_holiday)
 
void SpawnBGObject (uint32 type, uint32 respawntime, uint32 forceRespawnDelay=0)
 
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)
 
CreatureAddCreature (uint32 entry, uint32 type, float x, float y, float z, float o, uint32 respawntime=0, MotionTransport *transport=nullptr)
 
bool DelCreature (uint32 type)
 
bool DelObject (uint32 type)
 
bool AddSpiritGuide (uint32 type, float x, float y, float z, float o, TeamId teamId)
 
int32 GetObjectType (ObjectGuid guid)
 
void DoorOpen (uint32 type)
 
void DoorClose (uint32 type)
 
const char * GetAcoreString (int32 entry)
 
virtual bool HandlePlayerUnderMap (Player *)
 
bool IsPlayerInBattleground (ObjectGuid guid) const
 
bool ToBeDeleted () const
 
void RewardXPAtKill (Player *killer, Player *victim)
 
virtual ObjectGuid GetFlagPickerGUID (TeamId=TEAM_NEUTRAL) const
 
virtual void SetDroppedFlagGUID (ObjectGuid, TeamId=TEAM_NEUTRAL)
 
uint32 GetTeamScore (TeamId teamId) const
 
virtual TeamId GetPrematureWinner ()
 
uint8 GetUniqueBracketId () const
 
BattlegroundAVToBattlegroundAV ()
 
BattlegroundAV const * ToBattlegroundAV () const
 
BattlegroundWSToBattlegroundWS ()
 
BattlegroundWS const * ToBattlegroundWS () const
 
BattlegroundABToBattlegroundAB ()
 
BattlegroundAB const * ToBattlegroundAB () const
 
BattlegroundNAToBattlegroundNA ()
 
BattlegroundNA const * ToBattlegroundNA () const
 
BattlegroundBEToBattlegroundBE ()
 
BattlegroundBE const * ToBattlegroundBE () const
 
BattlegroundEYToBattlegroundEY ()
 
BattlegroundEY const * ToBattlegroundEY () const
 
BattlegroundRLToBattlegroundRL ()
 
BattlegroundRL const * ToBattlegroundRL () const
 
BattlegroundSAToBattlegroundSA ()
 
BattlegroundSA const * ToBattlegroundSA () const
 
BattlegroundDSToBattlegroundDS ()
 
BattlegroundDS const * ToBattlegroundDS () const
 
BattlegroundRVToBattlegroundRV ()
 
BattlegroundRV const * ToBattlegroundRV () const
 
BattlegroundICToBattlegroundIC ()
 
BattlegroundIC const * ToBattlegroundIC () const
 

Private Member Functions

void PostUpdateImpl (uint32 diff) override
 Post-update hook.
 

Private Attributes

uint32 _pipeKnockBackTimer
 
uint8 _pipeKnockBackCount
 
EventMap _events
 

Additional Inherited Members

- Public Types inherited from Battleground
typedef std::set< Player * > SpectatorList
 
typedef std::map< ObjectGuid, ObjectGuidToBeTeleportedMap
 
typedef std::map< ObjectGuid, Player * > BattlegroundPlayerMap
 
typedef std::unordered_map< ObjectGuid::LowType, BattlegroundScore * > BattlegroundScoreMap
 
typedef std::unordered_map< ObjectGuid, ArenaLogEntryDataArenaLogEntryDataMap
 
typedef GuidVector BGObjects
 
typedef GuidVector BGCreatures
 
- Static Public Member Functions inherited from Battleground
static TeamId GetOtherTeamId (TeamId teamId)
 
- Public Attributes inherited from Battleground
GuidSet readyMarkerClickedSet
 
ArenaLogEntryDataMap ArenaLogEntries
 
BGObjects BgObjects
 
BGCreatures BgCreatures
 
- Protected Member Functions inherited from Arena
 Arena ()
 
void AddPlayer (Player *player) override
 
void RemovePlayer (Player *) override
 
void FillInitialWorldStates (WorldPacket &data) override
 
void UpdateArenaWorldState ()
 
void HandleKillPlayer (Player *player, Player *killer) override
 
- Protected Member Functions inherited from Battleground
void EndNow ()
 
void PlayerAddedToBGCheckIfBGIsRunning (Player *player)
 
void _ProcessResurrect (uint32 diff)
 
void _ProcessProgress (uint32 diff)
 
void _ProcessLeave (uint32 diff)
 
void _ProcessJoin (uint32 diff)
 
void _CheckSafePositions (uint32 diff)
 
virtual void RemovePlayer (Player *)
 
- 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]
 
uint32 m_UpdateTimer
 
EventProcessor _reviveEvents
 

Detailed Description

Constructor & Destructor Documentation

◆ BattlegroundDS()

BattlegroundDS::BattlegroundDS ( )
30{
33
36}
@ BG_DS_OBJECT_MAX
Definition: BattlegroundDS.h:35
@ BG_DS_NPC_MAX
Definition: BattlegroundDS.h:53
BGObjects BgObjects
Definition: Battleground.h:531
BGCreatures BgCreatures
Definition: Battleground.h:532
uint8 _pipeKnockBackCount
Definition: BattlegroundDS.h:111
uint32 _pipeKnockBackTimer
Definition: BattlegroundDS.h:110

References _pipeKnockBackCount, _pipeKnockBackTimer, BG_DS_NPC_MAX, BG_DS_OBJECT_MAX, Battleground::BgCreatures, and Battleground::BgObjects.

Member Function Documentation

◆ FillInitialWorldStates()

void BattlegroundDS::FillInitialWorldStates ( WorldPacket d)
overridevirtual

Reimplemented from Arena.

180{
181 data << uint32(3610) << uint32(1); // 9 show
183}
std::uint32_t uint32
Definition: Define.h:108
void FillInitialWorldStates(WorldPacket &data) override
Definition: Arena.cpp:107

References Arena::FillInitialWorldStates().

◆ HandleAreaTrigger()

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

Reimplemented from Battleground.

132{
134 return;
135
136 switch (trigger)
137 {
138 case 5347:
139 case 5348:
140 // Remove effects of Demonic Circle Summon
143
144 // Someone has get back into the pipes and the knockback has already been performed,
145 // so we reset the knockback count for kicking the player again into the arena.
148 break;
149 // OUTSIDE OF ARENA, TELEPORT!
150 case 5328:
151 player->NearTeleportTo(1290.44f, 744.96f, 3.16f, 1.6f);
152 break;
153 case 5329:
154 player->NearTeleportTo(1292.6f, 837.07f, 3.161f, 4.7f);
155 break;
156 case 5330:
157 player->NearTeleportTo(1250.68f, 790.86f, 3.16f, 0.0f);
158 break;
159 case 5331:
160 player->NearTeleportTo(1332.50f, 790.9f, 3.16f, 3.14f);
161 break;
162 case 5326: // -10
163 case 5343: // -40
164 case 5344: // -60
165 player->NearTeleportTo(1330.0f, 800.0f, 3.16f, player->GetOrientation());
166 break;
167 /*default:
168 Battleground::HandleAreaTrigger(player, trigger);
169 break;*/
170 }
171}
@ STATUS_IN_PROGRESS
Definition: Battleground.h:197
@ SPELL_WARL_DEMONIC_CIRCLE
Definition: BattlegroundDS.h:66
@ BG_DS_PIPE_KNOCKBACK_TOTAL_COUNT
Definition: BattlegroundDS.h:73
BattlegroundStatus GetStatus() const
Definition: Battleground.h:322
float GetOrientation() const
Definition: Position.h:120
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
Definition: Unit.cpp:5610
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition: Unit.cpp:4835
void NearTeleportTo(Position &pos, bool casting=false, bool vehicleTeleport=false, bool withPet=false, bool removeTransport=false)
Definition: Unit.cpp:20148

References _pipeKnockBackCount, BG_DS_PIPE_KNOCKBACK_TOTAL_COUNT, Position::GetOrientation(), Battleground::GetStatus(), Unit::HasAura(), Unit::NearTeleportTo(), Unit::RemoveAurasDueToSpell(), SPELL_WARL_DEMONIC_CIRCLE, and STATUS_IN_PROGRESS.

◆ HandlePlayerUnderMap()

bool BattlegroundDS::HandlePlayerUnderMap ( Player player)
overridevirtual

Reimplemented from Battleground.

174{
175 player->NearTeleportTo(1299.046f, 784.825f, 9.338f, 2.422f);
176 return true;
177}

References Unit::NearTeleportTo().

◆ PostUpdateImpl()

void BattlegroundDS::PostUpdateImpl ( uint32  )
overrideprivatevirtual

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.

39{
41 return;
42
43 _events.Update(diff);
44
45 while (uint32 eventId = _events.ExecuteEvent())
46 {
47 switch (eventId)
48 {
50 // Add the water
53 break;
55 // Active collision and start knockback timer
59 break;
61 // Remove collision and water
66 break;
68 // Repeat knockback while the waterfall still active
70 waterSpout->CastSpell(waterSpout, BG_DS_SPELL_WATER_SPOUT, true);
72 break;
75 if (Creature* waterSpout = GetBGCreature(i))
76 waterSpout->CastSpell(waterSpout, BG_DS_SPELL_FLUSH, true);
77 break;
78 }
79 }
80
82 {
83 if (_pipeKnockBackTimer < diff)
84 {
86 if (Creature* waterSpout = GetBGCreature(i))
87 waterSpout->CastSpell(waterSpout, BG_DS_SPELL_FLUSH, true);
88
91 }
92 else
93 _pipeKnockBackTimer -= diff;
94 }
95}
constexpr Milliseconds BG_DS_WATERFALL_KNOCKBACK_TIMER
Definition: BattlegroundDS.h:81
@ BG_DS_EVENT_WATERFALL_ON
Definition: BattlegroundDS.h:86
@ BG_DS_EVENT_WATERFALL_WARNING
Definition: BattlegroundDS.h:85
@ BG_DS_EVENT_PIPE_KNOCKBACK
Definition: BattlegroundDS.h:90
@ BG_DS_EVENT_WATERFALL_KNOCKBACK
Definition: BattlegroundDS.h:88
@ BG_DS_EVENT_WATERFALL_OFF
Definition: BattlegroundDS.h:87
@ BG_DS_SPELL_FLUSH
Definition: BattlegroundDS.h:63
@ BG_DS_SPELL_WATER_SPOUT
Definition: BattlegroundDS.h:65
constexpr Seconds BG_DS_WATERFALL_TIMER_MIN
Definition: BattlegroundDS.h:77
constexpr Seconds BG_DS_WATERFALL_DURATION
Definition: BattlegroundDS.h:80
@ BG_DS_OBJECT_WATER_2
Definition: BattlegroundDS.h:30
@ BG_DS_OBJECT_WATER_1
Definition: BattlegroundDS.h:29
@ BG_DS_PIPE_KNOCKBACK_DELAY
Definition: BattlegroundDS.h:72
constexpr Seconds BG_DS_WATERFALL_TIMER_MAX
Definition: BattlegroundDS.h:78
@ BG_DS_NPC_PIPE_KNOCKBACK_2
Definition: BattlegroundDS.h:52
@ BG_DS_NPC_PIPE_KNOCKBACK_1
Definition: BattlegroundDS.h:51
@ BG_DS_NPC_WATERFALL_KNOCKBACK
Definition: BattlegroundDS.h:50
constexpr Seconds BG_DS_WATERFALL_WARNING_DURATION
Definition: BattlegroundDS.h:79
uint32 ExecuteEvent()
Definition: EventMap.cpp:114
void Update(uint32 time)
Definition: EventMap.h:54
void ScheduleEvent(uint32 eventId, uint32 time, uint32 group=0, uint32 phase=0)
Definition: EventMap.cpp:56
void CancelEvent(uint32 eventId)
Definition: EventMap.cpp:190
void DoorOpen(uint32 type)
Definition: Battleground.cpp:1441
void DoorClose(uint32 type)
Definition: Battleground.cpp:1425
Creature * GetBGCreature(uint32 type)
Definition: Battleground.cpp:1462
EventMap _events
Definition: BattlegroundDS.h:113
Definition: Creature.h:46

References _events, _pipeKnockBackCount, _pipeKnockBackTimer, BG_DS_EVENT_PIPE_KNOCKBACK, BG_DS_EVENT_WATERFALL_KNOCKBACK, BG_DS_EVENT_WATERFALL_OFF, BG_DS_EVENT_WATERFALL_ON, BG_DS_EVENT_WATERFALL_WARNING, BG_DS_NPC_PIPE_KNOCKBACK_1, BG_DS_NPC_PIPE_KNOCKBACK_2, BG_DS_NPC_WATERFALL_KNOCKBACK, BG_DS_OBJECT_WATER_1, BG_DS_OBJECT_WATER_2, BG_DS_PIPE_KNOCKBACK_DELAY, BG_DS_PIPE_KNOCKBACK_TOTAL_COUNT, BG_DS_SPELL_FLUSH, BG_DS_SPELL_WATER_SPOUT, BG_DS_WATERFALL_DURATION, BG_DS_WATERFALL_KNOCKBACK_TIMER, BG_DS_WATERFALL_TIMER_MAX, BG_DS_WATERFALL_TIMER_MIN, BG_DS_WATERFALL_WARNING_DURATION, EventMap::CancelEvent(), Battleground::DoorClose(), Battleground::DoorOpen(), EventMap::ExecuteEvent(), Battleground::GetBGCreature(), Battleground::GetStatus(), EventMap::ScheduleEvent(), STATUS_IN_PROGRESS, and EventMap::Update().

◆ SetupBattleground()

bool BattlegroundDS::SetupBattleground ( )
overridevirtual

Reimplemented from Battleground.

186{
187 // gates
188 if (!AddObject(BG_DS_OBJECT_DOOR_1, BG_DS_OBJECT_TYPE_DOOR_1, 1350.95f, 817.2f, 20.8096f, 3.15f, 0, 0, 0.99627f, 0.0862864f, RESPAWN_IMMEDIATELY)
189 || !AddObject(BG_DS_OBJECT_DOOR_2, BG_DS_OBJECT_TYPE_DOOR_2, 1232.65f, 764.913f, 20.0729f, 6.3f, 0, 0, 0.0310211f, -0.999519f, RESPAWN_IMMEDIATELY)
190 // water
191 || !AddObject(BG_DS_OBJECT_WATER_1, BG_DS_OBJECT_TYPE_WATER_1, 1291.56f, 790.837f, 7.1f, 3.14238f, 0, 0, 0.694215f, -0.719768f, 120)
192 || !AddObject(BG_DS_OBJECT_WATER_2, BG_DS_OBJECT_TYPE_WATER_2, 1291.56f, 790.837f, 7.1f, 3.14238f, 0, 0, 0.694215f, -0.719768f, 120)
193 // buffs
194 || !AddObject(BG_DS_OBJECT_BUFF_1, BG_DS_OBJECT_TYPE_BUFF_1, 1291.7f, 813.424f, 7.11472f, 4.64562f, 0, 0, 0.730314f, -0.683111f, 120)
195 || !AddObject(BG_DS_OBJECT_BUFF_2, BG_DS_OBJECT_TYPE_BUFF_2, 1291.7f, 768.911f, 7.11472f, 1.55194f, 0, 0, 0.700409f, 0.713742f, 120)
196 // knockback creatures
198 || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_PIPE_KNOCKBACK_1, 1369.977f, 817.2882f, 16.08718f, 3.106686f, RESPAWN_IMMEDIATELY)
200 // Arena Ready Marker
201 || !AddObject(BG_DS_OBJECT_READY_MARKER_1, ARENA_READY_MARKER_ENTRY, 1229.44f, 759.35f, 17.89f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 300)
202 || !AddObject(BG_DS_OBJECT_READY_MARKER_2, ARENA_READY_MARKER_ENTRY, 1352.90f, 822.77f, 17.96f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 300))
203 {
204 LOG_ERROR("sql.sql", "BatteGroundDS: Failed to spawn some object!");
205 return false;
206 }
207
208 return true;
209}
#define LOG_ERROR(filterType__,...)
Definition: Log.h:159
@ RESPAWN_IMMEDIATELY
Definition: Battleground.h:164
#define ARENA_READY_MARKER_ENTRY
Definition: Battleground.h:275
@ BG_DS_NPC_TYPE_WATER_SPOUT
Definition: BattlegroundDS.h:58
@ BG_DS_OBJECT_TYPE_BUFF_1
Definition: BattlegroundDS.h:44
@ BG_DS_OBJECT_TYPE_DOOR_2
Definition: BattlegroundDS.h:41
@ BG_DS_OBJECT_TYPE_DOOR_1
Definition: BattlegroundDS.h:40
@ BG_DS_OBJECT_TYPE_WATER_2
Definition: BattlegroundDS.h:43
@ BG_DS_OBJECT_TYPE_WATER_1
Definition: BattlegroundDS.h:42
@ BG_DS_OBJECT_TYPE_BUFF_2
Definition: BattlegroundDS.h:45
@ BG_DS_OBJECT_READY_MARKER_1
Definition: BattlegroundDS.h:33
@ BG_DS_OBJECT_DOOR_2
Definition: BattlegroundDS.h:28
@ BG_DS_OBJECT_DOOR_1
Definition: BattlegroundDS.h:27
@ BG_DS_OBJECT_READY_MARKER_2
Definition: BattlegroundDS.h:34
@ BG_DS_OBJECT_BUFF_1
Definition: BattlegroundDS.h:31
@ BG_DS_OBJECT_BUFF_2
Definition: BattlegroundDS.h:32
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)
Definition: Battleground.cpp:1369
Creature * AddCreature(uint32 entry, uint32 type, float x, float y, float z, float o, uint32 respawntime=0, MotionTransport *transport=nullptr)
Definition: Battleground.cpp:1491

References Battleground::AddCreature(), Battleground::AddObject(), ARENA_READY_MARKER_ENTRY, BG_DS_NPC_PIPE_KNOCKBACK_1, BG_DS_NPC_PIPE_KNOCKBACK_2, BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_WATERFALL_KNOCKBACK, BG_DS_OBJECT_BUFF_1, BG_DS_OBJECT_BUFF_2, BG_DS_OBJECT_DOOR_1, BG_DS_OBJECT_DOOR_2, BG_DS_OBJECT_READY_MARKER_1, BG_DS_OBJECT_READY_MARKER_2, BG_DS_OBJECT_TYPE_BUFF_1, BG_DS_OBJECT_TYPE_BUFF_2, BG_DS_OBJECT_TYPE_DOOR_1, BG_DS_OBJECT_TYPE_DOOR_2, BG_DS_OBJECT_TYPE_WATER_1, BG_DS_OBJECT_TYPE_WATER_2, BG_DS_OBJECT_WATER_1, BG_DS_OBJECT_WATER_2, LOG_ERROR, and RESPAWN_IMMEDIATELY.

◆ StartingEventCloseDoors()

void BattlegroundDS::StartingEventCloseDoors ( )
overridevirtual

Reimplemented from Battleground.

98{
101}
void SpawnBGObject(uint32 type, uint32 respawntime, uint32 forceRespawnDelay=0)
Definition: Battleground.cpp:1471

References BG_DS_OBJECT_DOOR_1, BG_DS_OBJECT_DOOR_2, RESPAWN_IMMEDIATELY, and Battleground::SpawnBGObject().

◆ StartingEventOpenDoors()

void BattlegroundDS::StartingEventOpenDoors ( )
overridevirtual

Reimplemented from Battleground.

104{
106 DoorOpen(i);
107
109 SpawnBGObject(i, 60);
110
112 //for (uint8 i = 0; i < BG_DS_PIPE_KNOCKBACK_TOTAL_COUNT; ++i)
113 // _events.ScheduleEvent(BG_DS_EVENT_PIPE_KNOCKBACK, BG_DS_PIPE_KNOCKBACK_FIRST_DELAY + i * BG_DS_PIPE_KNOCKBACK_DELAY);
114
117
120
121 // Turn off collision
123 gob->SetGoState(GO_STATE_ACTIVE);
124
125 // Remove effects of Demonic Circle Summon
126 for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)
127 if (itr->second->HasAura(48018))
128 itr->second->RemoveAurasDueToSpell(48018);
129}
@ BG_DS_PIPE_KNOCKBACK_FIRST_DELAY
Definition: BattlegroundDS.h:71
@ GO_STATE_ACTIVE
Definition: GameObjectData.h:690
GameObject * GetGameObject(WorldObject const &u, ObjectGuid const guid)
Definition: ObjectAccessor.cpp:189
BattlegroundMap * GetBgMap() const
Definition: Battleground.h:424
BattlegroundPlayerMap const & GetPlayers() const
Definition: Battleground.h:393
Definition: GameObject.h:122

References _events, _pipeKnockBackCount, _pipeKnockBackTimer, BG_DS_EVENT_WATERFALL_WARNING, BG_DS_OBJECT_BUFF_1, BG_DS_OBJECT_BUFF_2, BG_DS_OBJECT_DOOR_1, BG_DS_OBJECT_DOOR_2, BG_DS_OBJECT_WATER_1, BG_DS_OBJECT_WATER_2, BG_DS_PIPE_KNOCKBACK_FIRST_DELAY, BG_DS_WATERFALL_TIMER_MAX, BG_DS_WATERFALL_TIMER_MIN, Battleground::BgObjects, Battleground::DoorOpen(), Battleground::GetBgMap(), Battleground::GetPlayers(), GO_STATE_ACTIVE, RESPAWN_IMMEDIATELY, EventMap::ScheduleEvent(), and Battleground::SpawnBGObject().

Member Data Documentation

◆ _events

EventMap BattlegroundDS::_events
private

◆ _pipeKnockBackCount

uint8 BattlegroundDS::_pipeKnockBackCount
private

◆ _pipeKnockBackTimer

uint32 BattlegroundDS::_pipeKnockBackTimer
private