Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
BattlegroundSA.h
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#ifndef SF_BATTLEGROUNDSA_H
7#define SF_BATTLEGROUNDSA_H
8
9#include "Battleground.h"
10#include <string>
11
19
20#define BG_SA_FLAG_AMOUNT 3
21#define BG_SA_DEMOLISHER_AMOUNT 4
22
32
39
60
67
97
105
135
143
176
178{
179 // Cannons
180 { 1436.429f, 110.05f, 41.407f, 5.4f },
181 { 1404.9023f, 84.758f, 41.183f, 5.46f },
182 { 1068.693f, -86.951f, 93.81f, 0.02f },
183 { 1068.83f, -127.56f, 96.45f, 0.0912f },
184 { 1422.115f, -196.433f, 42.1825f, 1.0222f },
185 { 1454.887f, -220.454f, 41.956f, 0.9627f },
186 { 1232.345f, -187.517f, 66.945f, 0.45f },
187 { 1249.634f, -224.189f, 66.72f, 0.635f },
188 { 1236.213f, 92.287f, 64.965f, 5.751f },
189 { 1215.11f, 57.772f, 64.739f, 5.78f },
190 // Triggers
191 { 1453.49f, -250.453f, 30.896f, 4.2883f},
192 { 1377.05f, 97.036f, 30.8605f, 2.46539f},
193 { 1186.05f, 58.8048f, 56.5491f, 2.75992f},
194 { 1042.83f, -72.839f, 84.8145f, 3.58615f},
195 { 1233.62f, -250.49f, 55.4036f, 3.7016f},
196 // Demolishers
197 { 1611.597656f, -117.270073f, 8.719355f, 2.513274f},
198 { 1575.562500f, -158.421875f, 5.024450f, 2.129302f},
199 { 1618.047729f, 61.424641f, 7.248210f, 3.979351f},
200 { 1575.103149f, 98.873344f, 2.830360f, 3.752458f},
201 // Demolishers 2
202 { 1371.055786f, -317.071136f, 35.007359f, 1.947460f},
203 { 1424.034912f, -260.195190f, 31.084425f, 2.820013f},
204 { 1353.139893f, 223.745438f, 35.265411f, 4.343684f},
205 { 1404.809570f, 197.027237f, 32.046032f, 3.605401f},
206 // Npcs
207 { 1348.644165f, -298.786469f, 31.080130f, 1.710423f},
208 { 1358.191040f, 195.527786f, 31.018187f, 4.171337f}
209};
210
240
241const uint8 BG_SA_MAXOBJ = 93; // BG_SA_BOMB + 68
242
244{
245 { 1411.57f, 108.163f, 28.692f, 5.441f },
246 { 1055.452f, -108.1f, 82.134f, 0.034f },
247 { 1431.3413f, -219.437f, 30.893f, 0.9736f },
248 { 1227.667f, -212.555f, 55.372f, 0.5023f },
249 { 1214.681f, 81.21f, 53.413f, 5.745f },
250 { 878.555f, -108.2f, 117.845f, 0.0f },
251 { 836.5f, -108.8f, 120.219f, 0.0f },
252 // Portal
253 {1468.380005f, -225.798996f, 30.896200f, 0.0f}, //blue
254 {1394.270020f, 72.551399f, 31.054300f, 0.0f}, //green
255 {1065.260010f, -89.79501f, 81.073402f, 0.0f}, //yellow
256 {1216.069946f, 47.904301f, 54.278198f, 0.0f}, //purple
257 {1255.569946f, -233.548996f, 56.43699f, 0.0f}, //red
258 // Ships
259 { 2679.696777f, -826.891235f, 3.712860f, 5.78367f}, //rot2 1 rot3 0.0002f
260 { 2574.003662f, 981.261475f, 2.603424f, 0.807696f},
261 // Sigils
262 { 1414.054f, 106.72f, 41.442f, 5.441f },
263 { 1060.63f, -107.8f, 94.7f, 0.034f },
264 { 1433.383f, -216.4f, 43.642f, 0.9736f },
265 { 1230.75f, -210.724f, 67.611f, 0.5023f },
266 { 1217.8f, 79.532f, 66.58f, 5.745f },
267 // Flagpoles
268 { 1215.114258f, -65.711861f, 70.084267f, -3.124123f},
269 {1338.863892f, -153.336533f, 30.895121f, -2.530723f},
270 {1309.124268f, 9.410645f, 30.893402f, -1.623156f},
271 // Flags
272 { 1215.108032f, -65.715767f, 70.084267f, -3.124123f},
273 { 1338.859253f, -153.327316f, 30.895077f, -2.530723f},
274 { 1309.192017f, 9.416233f, 30.893402f, 1.518436f},
275 // Bombs
276 {1333.45f, 211.354f, 31.0538f, 5.03666f},
277 {1334.29f, 209.582f, 31.0532f, 1.28088f},
278 {1332.72f, 210.049f, 31.0532f, 1.28088f},
279 {1334.28f, 210.78f, 31.0538f, 3.85856f},
280 {1332.64f, 211.39f, 31.0532f, 1.29266f},
281 {1371.41f, 194.028f, 31.5107f, 0.753095f},
282 {1372.39f, 194.951f, 31.4679f, 0.753095f},
283 {1371.58f, 196.942f, 30.9349f, 1.01777f},
284 {1370.43f, 196.614f, 30.9349f, 0.957299f},
285 {1369.46f, 196.877f, 30.9351f, 2.45348f},
286 {1370.35f, 197.361f, 30.9349f, 1.08689f},
287 {1369.47f, 197.941f, 30.9349f, 0.984787f},
288 {1592.49f, 47.5969f, 7.52271f, 4.63218f},
289 {1593.91f, 47.8036f, 7.65856f, 4.63218f},
290 {1593.13f, 46.8106f, 7.54073f, 4.63218f},
291 {1589.22f, 36.3616f, 7.45975f, 4.64396f},
292 {1588.24f, 35.5842f, 7.55613f, 4.79564f},
293 {1588.14f, 36.7611f, 7.49675f, 4.79564f},
294 {1595.74f, 35.5278f, 7.46602f, 4.90246f},
295 {1596, 36.6475f, 7.47991f, 4.90246f},
296 {1597.03f, 36.2356f, 7.48631f, 4.90246f},
297 {1597.93f, 37.1214f, 7.51725f, 4.90246f},
298 {1598.16f, 35.888f, 7.50018f, 4.90246f},
299 {1579.6f, -98.0917f, 8.48478f, 1.37996f},
300 {1581.2f, -98.401f, 8.47483f, 1.37996f},
301 {1580.38f, -98.9556f, 8.4772f, 1.38781f},
302 {1585.68f, -104.966f, 8.88551f, 0.493246f},
303 {1586.15f, -106.033f, 9.10616f, 0.493246f},
304 {1584.88f, -105.394f, 8.82985f, 0.493246f},
305 {1581.87f, -100.899f, 8.46164f, 0.929142f},
306 {1581.48f, -99.4657f, 8.46926f, 0.929142f},
307 {1583.2f, -91.2291f, 8.49227f, 1.40038f},
308 {1581.94f, -91.0119f, 8.49977f, 1.40038f},
309 {1582.33f, -91.951f, 8.49353f, 1.1844f},
310 {1342.06f, -304.049f, 30.9532f, 5.59507f},
311 {1340.96f, -304.536f, 30.9458f, 1.28323f},
312 {1341.22f, -303.316f, 30.9413f, 0.486051f},
313 {1342.22f, -302.939f, 30.986f, 4.87643f},
314 {1382.16f, -287.466f, 32.3063f, 4.80968f},
315 {1381, -287.58f, 32.2805f, 4.80968f},
316 {1381.55f, -286.536f, 32.3929f, 2.84225f},
317 {1382.75f, -286.354f, 32.4099f, 1.00442f},
318 {1379.92f, -287.34f, 32.2872f, 3.81615f},
319 {1100.52f, -2.41391f, 70.2984f, 0.131054f},
320 {1099.35f, -2.13851f, 70.3375f, 4.4586f},
321 {1099.59f, -1.00329f, 70.238f, 2.49903f},
322 {1097.79f, 0.571316f, 70.159f, 4.00307f},
323 {1098.74f, -7.23252f, 70.7972f, 4.1523f},
324 {1098.46f, -5.91443f, 70.6715f, 4.1523f},
325 {1097.53f, -7.39704f, 70.7959f, 4.1523f},
326 {1097.32f, -6.64233f, 70.7424f, 4.1523f},
327 {1096.45f, -5.96664f, 70.7242f, 4.1523f},
328 {971.725f, 0.496763f, 86.8467f, 2.09233f},
329 {973.589f, 0.119518f, 86.7985f, 3.17225f},
330 {972.524f, 1.25333f, 86.8351f, 5.28497f},
331 {971.993f, 2.05668f, 86.8584f, 5.28497f},
332 {973.635f, 2.11805f, 86.8197f, 2.36722f},
333 {974.791f, 1.74679f, 86.7942f, 1.5936f},
334 {974.771f, 3.0445f, 86.8125f, 0.647199f},
335 {979.554f, 3.6037f, 86.7923f, 1.69178f},
336 {979.758f, 2.57519f, 86.7748f, 1.76639f},
337 {980.769f, 3.48904f, 86.7939f, 1.76639f},
338 {979.122f, 2.87109f, 86.7794f, 1.76639f},
339 {986.167f, 4.85363f, 86.8439f, 1.5779f},
340 {986.176f, 3.50367f, 86.8217f, 1.5779f},
341 {987.33f, 4.67389f, 86.8486f, 1.5779f},
342 {985.23f, 4.65898f, 86.8368f, 1.5779f},
343 {984.556f, 3.54097f, 86.8137f, 1.5779f},
344};
345
346/* Ships:
347 * 193182 - ally
348 * 193183 - horde
349 * 193184 - horde
350 * 193185 - ally
351 * Banners:
352 * 191308 - left one,
353 * 191306 - right one,
354 * 191310 - central,
355 * Ally ones, substract 1
356 * to get horde ones.
357 */
358
360{
361 190722,
362 190727,
363 190724,
364 190726,
365 190723,
366 192549,
367 192834,
368 192819,
369 192819,
370 192819,
371 192819,
372 192819,
373 0, // Boat
374 0, // Boat
375 192687,
376 192685,
377 192689,
378 192690,
379 192691,
380 191311,
381 191311,
382 191311,
383 191310,
384 191306,
385 191308,
386 190753
387};
388
390{
391 1732,
392 1735,
393};
394
404
406{
407 1350,
408 1349,
409 1347,
410 1346,
411 1348,
412};
413
415{
416 6.202f,
417 1.926f, // right capturable GY
418 3.917f, // left capturable GY
419 3.104f, // center, capturable
420 6.148f, // defender last GY
421};
422
428
431{
432public:
435
441 void PostUpdateImpl(uint32 diff) OVERRIDE;
443
444 /* inherited from BattlegroundClass */
446 void AddPlayer(Player* player) OVERRIDE;
452 void Reset() OVERRIDE;
456 void EventPlayerDamagedGO(Player* player, GameObject* go, uint32 eventType) OVERRIDE;
458 void HandleKillUnit(Creature* creature, Player* killer) OVERRIDE;
462 void EventPlayerClickedOnFlag(Player* Source, GameObject* target_obj) OVERRIDE;
464 void EventPlayerUsedGO(Player* Source, GameObject* object) OVERRIDE;
467 {
468 switch (id)
469 {
470 // Green gate
473 return BG_SA_GREEN_GATE;
474 // Blue gate
477 return BG_SA_BLUE_GATE;
478 // Red gate
481 return BG_SA_RED_GATE;
482 // Purple gate
485 return BG_SA_PURPLE_GATE;
486 // Yellow gate
489 return BG_SA_YELLOW_GATE;
490 // Ancient gate
493 return BG_SA_ANCIENT_GATE;
494 default:
495 break;
496 }
497 return 0;
498 }
499
501 {
502 switch (id)
503 {
504 case BG_SA_GREEN_GATE:
505 return BG_SA_GREEN_GATEWS;
507 return BG_SA_YELLOW_GATEWS;
508 case BG_SA_BLUE_GATE:
509 return BG_SA_BLUE_GATEWS;
510 case BG_SA_RED_GATE:
511 return BG_SA_RED_GATEWS;
513 return BG_SA_PURPLE_GATEWS;
516 default:
517 break;
518 }
519 return 0;
520 }
521
523 void EndBattleground(uint32 winner);
524
526 void RemovePlayer(Player* player, uint64 guid, uint32 team) OVERRIDE;
527 void HandleAreaTrigger(Player* Source, uint32 Trigger) OVERRIDE;
528
529 /* Scorekeeping */
531 void UpdatePlayerScore(Player* Source, uint32 type, uint32 value, bool doAddHonor = true) OVERRIDE;
532 bool DebugStartBoats(Player* player);
533 bool DebugStopBoats(Player* player);
534 std::string GetBoatDebugStatus();
535
536 // Achievement: Defense of the Ancients
538
539 // Achievement: Not Even a Scratch
540 bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const* source, Unit const* target = NULL, uint32 miscvalue1 = 0) OVERRIDE;
541
544
545private:
551 bool ResetObjs();
552 bool BoatLaunchWindowStarted() const;
554 void StartShips();
557 void LogBoatDebugMarker(Player* player, char const* action, uint32 elapsedMs = 0);
562 void TeleportPlayers();
567 void OverrideGunFaction();
569 void DemolisherStartState(bool start);
576 void DestroyGate(Player* player, GameObject* go) OVERRIDE;
578 void SendTime();
591 void ToggleTimer();
592
595
597 void SendTransportInit(Player* player);
599 void SendTransportsRemove(Player* player);
600
629 std::map<uint32/*id*/, uint32/*timer*/> DemoliserRespawnList;
630
631 // Achievement: Not Even a Scratch
633};
634#endif
#define BG_TEAMS_COUNT
const uint8 BG_SA_MAXNPC
BG_SA_Graveyards
@ BG_SA_DEFENDER_LAST_GY
@ BG_SA_CENTRAL_CAPTURABLE_GY
@ BG_SA_BEACH_GY
@ BG_SA_LEFT_CAPTURABLE_GY
@ BG_SA_RIGHT_CAPTURABLE_GY
BG_SA_Timers
@ BG_SA_BOAT_START
@ BG_SA_WARMUPLENGTH
@ BG_SA_ROUNDLENGTH
BG_SA_GateState
@ BG_SA_GATE_DESTROYED
@ BG_SA_GATE_OK
@ BG_SA_GATE_DAMAGED
BG_SA_Status
@ BG_SA_ROUND_ONE
@ BG_SA_ROUND_TWO
@ BG_SA_NOTSTARTED
@ BG_SA_SECOND_WARMUP
@ BG_SA_BONUS_ROUND
@ BG_SA_WARMUP
BG_SA_Boat
@ BG_SA_BOAT_ONE_H
@ BG_SA_BOAT_TWO_H
@ BG_SA_BOAT_ONE_A
@ BG_SA_BOAT_TWO_A
BG_SA_WorldStates
@ BG_SA_TIMER
@ BG_SA_ENABLE_TIMER
@ BG_SA_ANCIENT_GATEWS
@ BG_SA_LEFT_ATT_TOKEN_ALL
@ BG_SA_PURPLE_GATEWS
@ BG_SA_TIMER_SEC_TENS
@ BG_SA_RED_GATEWS
@ BG_SA_BLUE_GATEWS
@ BG_SA_CENTER_GY_ALLIANCE
@ BG_SA_RIGHT_ATT_TOKEN_HRD
@ BG_SA_LEFT_GY_ALLIANCE
@ BG_SA_RIGHT_ATT_TOKEN_ALL
@ BG_SA_YELLOW_GATEWS
@ BG_SA_LEFT_GY_HORDE
@ BG_SA_ALLIANCE_DEFENCE_TOKEN
@ BG_SA_RIGHT_GY_ALLIANCE
@ BG_SA_HORDE_DEFENCE_TOKEN
@ BG_SA_LEFT_ATT_TOKEN_HRD
@ BG_SA_CENTER_GY_HORDE
@ BG_SA_GREEN_GATEWS
@ BG_SA_RIGHT_GY_HORDE
@ BG_SA_ALLY_ATTACKS
@ BG_SA_HORDE_ATTACKS
@ BG_SA_TIMER_SEC_DECS
@ BG_SA_BONUS_TIMER
@ BG_SA_TIMER_MINS
const uint32 BG_SA_GYEntries[BG_SA_MAX_GY]
#define BG_SA_FLAG_AMOUNT
uint32 const BG_SA_ObjEntries[BG_SA_MAXOBJ+BG_SA_FLAG_AMOUNT]
float const BG_SA_GYOrientation[BG_SA_MAX_GY]
float const BG_SA_NpcSpawnlocs[BG_SA_MAXNPC+BG_SA_DEMOLISHER_AMOUNT][4]
uint32 const BG_SA_Factions[2]
BG_SA_EventIdGate
@ BG_SA_EVENT_RED_GATE_DESTROYED
@ BG_SA_EVENT_RED_GATE_DAMAGED
@ BG_SA_EVENT_BLUE_GATE_DESTROYED
@ BG_SA_EVENT_YELLOW_GATE_DAMAGED
@ BG_SA_EVENT_YELLOW_GATE_DESTROYED
@ BG_SA_EVENT_PURPLE_GATE_DAMAGED
@ BG_SA_EVENT_ANCIENT_GATE_DESTROYED
@ BG_SA_EVENT_GREEN_GATE_DESTROYED
@ BG_SA_EVENT_BLUE_GATE_DAMAGED
@ BG_SA_EVENT_GREEN_GATE_DAMAGED
@ BG_SA_EVENT_ANCIENT_GATE_DAMAGED
@ BG_SA_EVENT_PURPLE_GATE_DESTROYED
@ NPC_RIGGER_SPARKLIGHT
@ NPC_GORGRIL_RIGSPARK
@ NPC_DEMOLISHER_SA
@ NPC_ANTI_PERSONNAL_CANNON
#define BG_SA_DEMOLISHER_AMOUNT
BG_SA_Objects
@ BG_SA_CENTRAL_FLAGPOLE
@ BG_SA_YELLOW_GATE
@ BG_SA_BOAT_ONE
@ BG_SA_SIGIL_2
@ BG_SA_GREEN_GATE
@ BG_SA_PORTAL_DEFFENDER_PURPLE
@ BG_SA_CENTRAL_FLAG
@ BG_SA_SIGIL_1
@ BG_SA_PORTAL_DEFFENDER_GREEN
@ BG_SA_SIGIL_5
@ BG_SA_RED_GATE
@ BG_SA_LEFT_FLAGPOLE
@ BG_SA_PURPLE_GATE
@ BG_SA_RIGHT_FLAG
@ BG_SA_RIGHT_FLAGPOLE
@ BG_SA_PORTAL_DEFFENDER_BLUE
@ BG_SA_BLUE_GATE
@ BG_SA_PORTAL_DEFFENDER_RED
@ BG_SA_BOAT_TWO
@ BG_SA_SIGIL_4
@ BG_SA_ANCIENT_GATE
@ BG_SA_LEFT_FLAG
@ BG_SA_TITAN_RELIC
@ BG_SA_BOMB
@ BG_SA_PORTAL_DEFFENDER_YELLOW
@ BG_SA_SIGIL_3
float const BG_SA_ObjSpawnlocs[BG_SA_MAXOBJ][4]
const uint8 BG_SA_MAXOBJ
const uint8 BG_SA_MAX_GY
BG_SA_NPCs
@ BG_SA_DEMOLISHER_3
@ BG_SA_GUN_3
@ BG_SA_NPC_TRIGGER_3
@ BG_SA_GUN_10
@ BG_SA_GUN_4
@ BG_SA_DEMOLISHER_1
@ BG_SA_DEMOLISHER_4
@ BG_SA_NPC_TRIGGER_5
@ BG_SA_GUN_2
@ BG_SA_DEMOLISHER_6
@ BG_SA_NPC_TRIGGER_2
@ BG_SA_DEMOLISHER_7
@ BG_SA_NPC_TRIGGER_4
@ BG_SA_DEMOLISHER_5
@ BG_SA_NPC_RIGSPARK
@ BG_SA_DEMOLISHER_2
@ BG_SA_NPC_SPARKLIGHT
@ BG_SA_GUN_7
@ BG_SA_GUN_1
@ BG_SA_GUN_8
@ BG_SA_GUN_5
@ BG_SA_GUN_9
@ BG_SA_GUN_6
@ BG_SA_DEMOLISHER_8
@ BG_SA_NPC_TRIGGER_1
uint32 const BG_SA_NpcEntries[BG_SA_MAXNPC]
@ IN_MILLISECONDS
Definition Common.h:125
std::uint8_t uint8
Definition Define.h:79
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
std::uint64_t uint64
Definition Define.h:76
TeamId
bool TimerEnabled
used for know we are in timer phase or not (used for worldstate update)
void SendTransportInit(Player *player)
Send packet to player for create boats (client part).
void ToggleTimer()
Switch on/off timer worldstate.
BG_SA_Status Status
Statu of battle (Start or not, and what round).
TeamId Attackers
Id of attacker team.
void EndBattleground(uint32 winner)
Called on battleground ending.
void AddPlayer(Player *player) OVERRIDE
Called when a player join battle.
void EventPlayerClickedOnFlag(Player *Source, GameObject *target_obj) OVERRIDE
Called when a player click on flag (graveyard flag).
void EventPlayerUsedGO(Player *Source, GameObject *object) OVERRIDE
Called when a player use a gamobject (relic).
uint32 EndRoundTimer
Max time of round.
bool SignaledRoundTwo
for know if warning about second round start has been sent
void SendBoatDebugTimerUpdate()
bool DebugStartBoats(Player *player)
uint32 BoatDebugStartTime
bool SetupBattleground() OVERRIDE
Called for ini battleground, after that the first player be entered.
void DemolisherStartState(bool start)
Set selectable or not demolisher, called on battle start, when boats arrive to dock.
uint32 getGateIdFromDamagedOrDestroyEventId(uint32 id)
Return gate id, relative to bg data, according to gameobject id.
void OverrideGunFaction()
Called on start and between the two round -Update faction of all vehicle.
void EventPlayerDamagedGO(Player *player, GameObject *go, uint32 eventType) OVERRIDE
Called when a player deal damage to building (door).
bool BoatLaunchWindowStarted() const
bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const *source, Unit const *target=NULL, uint32 miscvalue1=0) OVERRIDE
void HandleAreaTrigger(Player *Source, uint32 Trigger) OVERRIDE
bool SignaledRoundTwoHalfMin
for know if warning about second round start has been sent
void TeleportPlayers()
Called between the two round -Teleport all players to good location.
void SendTime()
Update timer worldstate.
void HandleKillUnit(Creature *creature, Player *killer) OVERRIDE
Called when a player kill a unit in bg.
BG_SA_RoundScore RoundScores[2]
Score of each round.
void CaptureGraveyard(BG_SA_Graveyards i, Player *Source)
Called when a graveyard is capture -Update spiritguide -Update gameobject (flag) -Update Worldstate -...
uint32 UpdateWaitTimer
5secs before starting the 1min countdown for second round
void SendBoatTransportUpdates()
void UpdateDemolisherSpawns()
Respawn dead demolisher.
uint32 BoatDebugUpdateTimer
bool DebugStopBoats(Player *player)
void LogBoatDebugMarker(Player *player, char const *action, uint32 elapsedMs=0)
BG_SA_GateState GateStatus[6]
Status of each gate (Destroy/Damage/Intact).
uint64 BoatDebugPlayerGuid
void UpdatePlayerScore(Player *Source, uint32 type, uint32 value, bool doAddHonor=true) OVERRIDE
Update score board.
uint32 GetTimerWorldState() const
void PostUpdateImpl(uint32 diff) OVERRIDE
Called every time for update battle data -Update timer -Round switch.
void FillInitialWorldStates(WorldStateBuilder &builder) OVERRIDE
Called for generate packet contain worldstate data.
std::string GetBoatDebugStatus()
bool ShipsStarted
For know if boats has start moving or not yet.
bool InitSecondRound
for know if second round has been init
bool ResetObjs()
Called on setup and between the two round -Delete all gameobject / creature -Respawn all gameobject /...
std::map< uint32, uint32 > DemoliserRespawnList
bool _allVehiclesAlive[BG_TEAMS_COUNT]
void DestroyGate(Player *player, GameObject *go) OVERRIDE
Called when a gate is destroy -Give honor to player witch destroy it -Update worldstate -Delete gameo...
void StartingEventCloseDoors() OVERRIDE
Called when battle start.
WorldSafeLocsEntry const * GetClosestGraveYard(Player *player) OVERRIDE
Return the nearest graveyard where player can respawn.
uint32 getWorldStateFromGateId(uint32 id)
Return worldstate id, according to door id.
void StartingEventOpenDoors() OVERRIDE
bool ShouldDelayStartForDebug() const OVERRIDE
void StartShips()
Called for start ship movement.
void RemovePlayer(Player *player, uint64 guid, uint32 team) OVERRIDE
CAlled when a player leave battleground.
void SendTransportsRemove(Player *player)
Send packet to player for destroy boats (client part).
TeamId GraveyardStatus[BG_SA_MAX_GY]
Team witch conntrol each graveyard.
void Reset() OVERRIDE
uint32 TotalTime
Totale elapsed time of current round.
Definition Unit.h:1367