Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
BattlegroundBE.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 "BattlegroundBE.h"
7#include "Language.h"
8#include "Object.h"
9#include "ObjectMgr.h"
10#include "Player.h"
11#include "WorldPacket.h"
12
27
36
45
52
53void BattlegroundBE::RemovePlayer(Player* /*player*/, uint64 /*guid*/, uint32 /*team*/)
54{
56 return;
57
60}
61
63{
65 return;
66
67 if (!killer)
68 {
69 SF_LOG_ERROR("bg.battleground", "Killer player not found");
70 return;
71 }
72
73 Battleground::HandleKillPlayer(player, killer);
74
77}
78
80{
82 return;
83
84 switch (trigger)
85 {
86 case 4538: // buff trigger?
87 case 4539: // buff trigger?
88 break;
89 default:
90 Battleground::HandleAreaTrigger(player, trigger);
91 break;
92 }
93}
94
96{
97 builder.AppendState(0x9f3, 1); // 9
99}
100
102{
103 //call parent's class reset
105}
106
108{
109 // gates
110 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)
111 || !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)
112 || !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)
113 || !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)
114 // buffs
115 || !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)
116 || !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))
117 {
118 SF_LOG_ERROR("sql.sql", "BatteGroundBE: Failed to spawn some object!");
119 return false;
120 }
121
122 return true;
123}
124
125void BattlegroundBE::UpdatePlayerScore(Player* Source, uint32 type, uint32 value, bool doAddHonor)
126{
127 BattlegroundScoreMap::iterator itr = PlayerScores.find(Source->GetGUID());
128 if (itr == PlayerScores.end()) // player not found...
129 return;
130
131 //there is nothing special in this score
132 Battleground::UpdatePlayerScore(Source, type, value, doAddHonor);
133}
@ RESPAWN_IMMEDIATELY
@ RESPAWN_ONE_DAY
@ 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_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_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
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
void RemovePlayer(Player *player, uint64 guid, uint32 team) OVERRIDE
void Reset() OVERRIDE
void FillInitialWorldStates(WorldStateBuilder &builder) OVERRIDE
void StartingEventOpenDoors() OVERRIDE
void HandleAreaTrigger(Player *Source, uint32 Trigger) OVERRIDE
void AddPlayer(Player *player) OVERRIDE
void HandleKillPlayer(Player *player, Player *killer) OVERRIDE
void UpdatePlayerScore(Player *Source, uint32 type, uint32 value, bool doAddHonor=true) OVERRIDE
void StartingEventCloseDoors() OVERRIDE
bool SetupBattleground() OVERRIDE
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()
virtual void UpdatePlayerScore(Player *player, uint32 type, uint32 value, bool doAddHonor=true)
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]
uint64 GetGUID() const
Definition Object.h:119
void AppendState(uint32 worldstate, uint32 value)