Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
BattlegroundRL.cpp
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#include "BattlegroundRL.h"
7#include "Language.h"
8#include "Object.h"
9#include "ObjectMgr.h"
10#include "Player.h"
11#include "WorldPacket.h"
12
27
33
42
49
50void BattlegroundRL::RemovePlayer(Player* /*player*/, uint64 /*guid*/, uint32 /*team*/)
51{
53 return;
54
57}
58
60{
62 return;
63
64 if (!killer)
65 {
66 SF_LOG_ERROR("bg.battleground", "Killer player not found");
67 return;
68 }
69
70 Battleground::HandleKillPlayer(player, killer);
71
74}
75
77{
79 return;
80
81 switch (trigger)
82 {
83 case 4696: // buff trigger?
84 case 4697: // buff trigger?
85 break;
86 default:
87 Battleground::HandleAreaTrigger(player, trigger);
88 break;
89 }
90}
91
93{
94 builder.AppendState(0xbba, 1); // 9
96}
97
99{
100 //call parent's reset
102}
103
105{
106 // gates
107 if (!AddObject(BG_RL_OBJECT_DOOR_1, BG_RL_OBJECT_TYPE_DOOR_1, 1293.561f, 1601.938f, 31.60557f, -1.457349f, 0, 0, -0.6658813f, 0.7460576f, RESPAWN_IMMEDIATELY)
108 || !AddObject(BG_RL_OBJECT_DOOR_2, BG_RL_OBJECT_TYPE_DOOR_2, 1278.648f, 1730.557f, 31.60557f, 1.684245f, 0, 0, 0.7460582f, 0.6658807f, RESPAWN_IMMEDIATELY)
109 // buffs
110 || !AddObject(BG_RL_OBJECT_BUFF_1, BG_RL_OBJECT_TYPE_BUFF_1, 1328.719971f, 1632.719971f, 36.730400f, -1.448624f, 0, 0, 0.6626201f, -0.7489557f, 120)
111 || !AddObject(BG_RL_OBJECT_BUFF_2, BG_RL_OBJECT_TYPE_BUFF_2, 1243.300049f, 1699.170044f, 34.872601f, -0.06981307f, 0, 0, 0.03489945f, -0.9993908f, 120))
112 {
113 SF_LOG_ERROR("sql.sql", "BatteGroundRL: Failed to spawn some object!");
114 return false;
115 }
116
117 return true;
118}
@ RESPAWN_IMMEDIATELY
@ BG_START_DELAY_1M
@ BG_START_DELAY_30S
@ BG_START_DELAY_NONE
@ BG_START_DELAY_15S
@ STATUS_WAIT_LEAVE
@ STATUS_IN_PROGRESS
@ BG_STARTING_EVENT_THIRD
@ BG_STARTING_EVENT_SECOND
@ BG_STARTING_EVENT_FIRST
@ BG_STARTING_EVENT_FOURTH
@ BG_RL_OBJECT_TYPE_DOOR_2
@ BG_RL_OBJECT_TYPE_DOOR_1
@ BG_RL_OBJECT_TYPE_BUFF_2
@ BG_RL_OBJECT_TYPE_BUFF_1
@ BG_RL_OBJECT_BUFF_2
@ BG_RL_OBJECT_BUFF_1
@ BG_RL_OBJECT_MAX
@ BG_RL_OBJECT_DOOR_2
@ BG_RL_OBJECT_DOOR_1
std::uint32_t uint32
Definition Define.h:77
std::uint64_t uint64
Definition Define.h:76
@ LANG_ARENA_FIFTEEN_SECONDS
Definition Language.h:681
@ LANG_ARENA_HAS_BEGUN
Definition Language.h:682
@ LANG_ARENA_THIRTY_SECONDS
Definition Language.h:680
@ LANG_ARENA_ONE_MINUTE
Definition Language.h:679
#define SF_LOG_ERROR(filterType__,...)
Definition Log.h:143
virtual void AddPlayer(Player *player)
virtual void HandleKillPlayer(Player *player, Player *killer)
void DoorOpen(uint32 type)
void SpawnBGObject(uint32 type, uint32 respawntime)
virtual void Reset()
void CheckArenaWinConditions()
BGObjects BgObjects
BattlegroundStartTimeIntervals StartDelayTimes[BG_STARTING_EVENT_COUNT]
BattlegroundScoreMap PlayerScores
BattlegroundStatus GetStatus() const
virtual void HandleAreaTrigger(Player *, uint32)
void UpdateArenaWorldState()
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)
uint32 StartMessageIds[BG_STARTING_EVENT_COUNT]
void HandleKillPlayer(Player *player, Player *killer) OVERRIDE
void FillInitialWorldStates(WorldStateBuilder &builder) OVERRIDE
void StartingEventOpenDoors() OVERRIDE
void RemovePlayer(Player *player, uint64 guid, uint32 team) OVERRIDE
void HandleAreaTrigger(Player *Source, uint32 Trigger) OVERRIDE
void Reset() OVERRIDE
void AddPlayer(Player *player) OVERRIDE
bool SetupBattleground() OVERRIDE
void StartingEventCloseDoors() OVERRIDE
uint64 GetGUID() const
Definition Object.h:119
void AppendState(uint32 worldstate, uint32 value)