TrinityCore
Loading...
Searching...
No Matches
BattlegroundBE.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include "BattlegroundBE.h"
19#include "Log.h"
20#include "Player.h"
21#include "WorldPacket.h"
22#include "WorldStatePackets.h"
23
28
30{
32 return;
33
34 _events.Update(diff);
35
36 while (uint32 eventId = _events.ExecuteEvent())
37 {
38 switch (eventId)
39 {
42 DelObject(i);
43 break;
44 default:
45 break;
46 }
47 }
48}
49
58
68
70{
72 return;
73
74 switch (trigger)
75 {
76 case 4538: // buff trigger?
77 case 4539: // buff trigger?
78 break;
79 default:
80 Battleground::HandleAreaTrigger(player, trigger);
81 break;
82 }
83}
84
86{
87 packet.Worldstates.emplace_back(2547, 1); // BATTLEGROUND_BLADES_EDGE_ARENA_SHOW
88
90}
91
93{
94 // gates
95 if (!AddObject(BG_BE_OBJECT_DOOR_1, BG_BE_OBJECT_TYPE_DOOR_1, 6287.277f, 282.1877f, 3.810925f, -2.260201f, 0, 0, 0.9044551f, -0.4265689f, RESPAWN_IMMEDIATELY)
96 || !AddObject(BG_BE_OBJECT_DOOR_2, BG_BE_OBJECT_TYPE_DOOR_2, 6189.546f, 241.7099f, 3.101481f, 0.8813917f, 0, 0, 0.4265689f, 0.9044551f, RESPAWN_IMMEDIATELY)
97 || !AddObject(BG_BE_OBJECT_DOOR_3, BG_BE_OBJECT_TYPE_DOOR_3, 6299.116f, 296.5494f, 3.308032f, 0.8813917f, 0, 0, 0.4265689f, 0.9044551f, RESPAWN_IMMEDIATELY)
98 || !AddObject(BG_BE_OBJECT_DOOR_4, BG_BE_OBJECT_TYPE_DOOR_4, 6177.708f, 227.3481f, 3.604374f, -2.260201f, 0, 0, 0.9044551f, -0.4265689f, RESPAWN_IMMEDIATELY)
99 // buffs
100 || !AddObject(BG_BE_OBJECT_BUFF_1, BG_BE_OBJECT_TYPE_BUFF_1, 6249.042f, 275.3239f, 11.22033f, -1.448624f, 0, 0, 0.6626201f, -0.7489557f, 120)
101 || !AddObject(BG_BE_OBJECT_BUFF_2, BG_BE_OBJECT_TYPE_BUFF_2, 6228.26f, 249.566f, 11.21812f, -0.06981307f, 0, 0, 0.03489945f, -0.9993908f, 120))
102 {
103 TC_LOG_ERROR("sql.sql", "BatteGroundBE: Failed to spawn some object!");
104 return false;
105 }
106
107 return true;
108}
@ BG_BE_OBJECT_TYPE_DOOR_3
@ BG_BE_OBJECT_TYPE_DOOR_2
@ BG_BE_OBJECT_TYPE_DOOR_1
@ BG_BE_OBJECT_TYPE_BUFF_1
@ BG_BE_OBJECT_TYPE_DOOR_4
@ BG_BE_OBJECT_TYPE_BUFF_2
@ BG_BE_EVENT_REMOVE_DOORS
@ BG_BE_OBJECT_DOOR_1
@ BG_BE_OBJECT_DOOR_2
@ BG_BE_OBJECT_MAX
@ BG_BE_OBJECT_DOOR_3
@ BG_BE_OBJECT_BUFF_1
@ BG_BE_OBJECT_BUFF_2
@ BG_BE_OBJECT_DOOR_4
constexpr Seconds BG_BE_REMOVE_DOORS_TIMER
@ RESPAWN_IMMEDIATELY
@ RESPAWN_ONE_DAY
@ STATUS_IN_PROGRESS
uint32_t uint32
Definition Define.h:133
#define TC_LOG_ERROR(filterType__,...)
Definition Log.h:165
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates &packet) override
Definition Arena.cpp:92
void StartingEventOpenDoors() override
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates &packet) override
void StartingEventCloseDoors() override
bool SetupBattleground() override
void PostUpdateImpl(uint32 diff) override
Post-update hook.
void HandleAreaTrigger(Player *Source, uint32 Trigger) override
void DoorOpen(uint32 type)
void SpawnBGObject(uint32 type, uint32 respawntime)
virtual 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)
GuidVector BgObjects
bool DelObject(uint32 type)
BattlegroundStatus GetStatus() const
virtual void HandleAreaTrigger(Player *, uint32)
void Update(uint32 time)
Definition EventMap.h:67
EventId ExecuteEvent()
Definition EventMap.cpp:73
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
Definition EventMap.cpp:36
std::vector< WorldStateInfo > Worldstates