TrinityCore
BattlefieldTB.h
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#ifndef BATTLEFIELD_TB_
19#define BATTLEFIELD_TB_
20
21#include "Battlefield.h"
22
23class BattlefieldTB;
25
27{
28 BATTLEFIELD_TB_MAPID = 732, // Tol Barad
29 BATTLEFIELD_TB_ZONEID = 5095, // Tol Barad
30};
31
33{
36};
37
39{
40 // Quest completion
43
44 // Rewards
48
52
53 // Player buffs
58
59 // Vehicle
63 SPELL_SIEGE_CANNON_AURA = 85167, // aura, periodically triggers spell 85122
64// SPELL_SIEGE_CANNON_EFFECT = 85122, // targets random
65// SPELL_SIEGE_CANNON_DAMAGE = 85125,
67
70
71 // Teleportation spells
75};
76
78{
79 // Cursed Depths area
84
85 // D-Block area
91
92 // The Hole area
97
98 // Other
100 NPC_PROBLIM = 47593,
101
102 // Graveyard spirits
117
118 // Stalker, dummies
123};
124
126{
127 // Towers
131
138
139 // Entrance gates and instance door
142
143 // Other
145
150};
151
153{
157};
158
160{
161 // DEBUG Announcer
188};
189
191{
193};
194
195const uint32 TBFactions[PVP_TEAMS_COUNT] = { 1610, 1732 };
196
197// Stalker
198Position const TolBaradDebugAnnouncerPos = { -1234.25f, 961.903f, 159.4913f, 0.0f };
199
200// Quest Infantry NPCs
202{
207
212};
213
215{
218};
219
222{
223 { -930.4685f, 1020.178f, 121.5658f, 0.1537642f },
224 { -831.5157f, 975.816f, 121.5255f, 5.022717f },
225 { -837.0773f, 943.9008f, 121.5055f, 5.461119f },
226 { -839.1646f, 1024.046f, 121.5505f, 4.782219f },
227 { -881.283f, 1033.25f, 121.5243f, 0.0f },
228 { -883.038f, 924.955f, 121.5243f, 0.0f },
229 { -883.913f, 978.059f, 121.5243f, 3.388291f },
230 { -883.6224f, 950.8459f, 121.5122f, 0.8307042f },
231 { -895.181f, 1015.2f, 121.5505f, 2.652318f },
232 { -943.4023f, 961.7462f, 121.5658f, 5.258394f },
233 { -958.649f, 926.877f, 121.5243f, 0.0f },
234 { -959.743f, 1029.09f, 121.5243f, 0.0f },
235 { -964.6652f, 978.5373f, 121.5257f, 0.02025719f },
236 { -1407.14f, 721.42f, 123.5033f, 0.0f },
237 { -1414.46f, 671.66f, 123.5043f, 0.0f },
238 { -1431.7f, 623.073f, 123.5043f, 0.0f },
239 { -1434.162f, 655.8566f, 123.5051f, 4.84886f },
240 { -1445.19f, 739.729f, 123.5457f, 5.767949f },
241 { -1460.954f, 718.418f, 123.6453f, 5.178094f },
242 { -1462.48f, 694.378f, 123.5463f, 0.3441857f },
243 { -1372.23f, 683.707f, 123.5043f, 0.0f },
244 { -1479.46f, 635.799f, 123.5043f, 0.0f },
245 { -1491.259f, 734.5692f, 123.4525f, 1.529741f },
246 { -1509.024f, 688.8625f, 123.5463f, 6.243045f },
247 { -1419.311f, 1310.25f, 133.8389f, 0.0f },
248 { -1444.24f, 1266.439f, 133.8229f, 0.0f },
249 { -1450.569f, 1337.351f, 133.914f, 0.0f },
250 { -1479.819f, 1331.34f, 153.2f, 0.0f },
251 { -1497.62f, 1276.429f, 133.6676f, 3.147845f },
252 { -1498.37f, 1379.689f, 133.827f, 0.0f },
253 { -1499.97f, 1232.87f, 133.8239f, 0.0f },
254 { -1505.7f, 1261.99f, 133.7089f, 0.6167698f },
255 { -1531.84f, 1316.569f, 153.2f, 0.0f },
256 { -1533.141f, 1267.66f, 133.836f, 0.0f },
257 { -1547.59f, 1300.21f, 133.7094f, 1.908187f },
258 { -1563.3f, 1325.79f, 133.6673f, 0.0f },
259};
260
261// Guard NPCs
263{
266};
267
270{
271// { -837.3768f, 1196.082f, 114.2994f, 3.036873f },
272// { -762.118f, 1195.259f, 107.2007f, 3.036873f },
273// { -837.809f, 1179.842f, 114.1356f, 3.159046f },
274// { -762.5504f, 1179.019f, 107.2137f, 3.159046f },
275 { -1272.951f, 964.8854f, 119.5782f, 3.193953f },
276 { -1274.394f, 997.6511f, 119.5743f, 3.193953f },
277 { -1248.226f, 1018.476f, 119.8113f, 1.605703f },
278 { -1218.948f, 943.5695f, 119.5994f, 4.625123f },
279 { -1195.417f, 965.5364f, 119.8113f, 0.0f },
280 { -1220.832f, 1018.497f, 119.8113f, 1.605703f },
281 { -1196.151f, 999.5121f, 119.5966f, 0.0f },
282 { -1249.304f, 942.9063f, 119.5782f, 4.625123f },
283};
284
286{
287 // Guards
292
293 // Questgivers
294 NPC_SERGEANT_PARKER = 48066, // Everytime
295 NPC_COMMANDER_STEVENS = 48039, // One of these three
298
299 NPC_COMMANDER_ZANOTH = 48069, // Everytime!
300 NPC_STAFF_SERGEANT_LAZGAR = 48062, // One of these three
303
304 // Portal summoners
306 NPC_RHAGHA = 50167,
307};
308
310{
314};
315
318{
319 { { -1259.356f, 1057.108f, 107.0786f, 4.956735f }, NPC_BARADIN_GUARD_1, NPC_BARADIN_GRUNT_1 },
320 { { -1254.174f, 1061.094f, 107.0772f, 5.445427f }, NPC_BARADIN_GUARD_2, NPC_BARADIN_GRUNT_2 },
321 { { -1256.365f, 1058.47f, 107.0776f, 2.216568f }, NPC_MAVEN_ZARA, NPC_RHAGHA },
322 { { -1231.38f, 985.681f, 121.2403f, 0.6108652f }, NPC_SERGEANT_PARKER, NPC_COMMANDER_ZANOTH },
323};
324
325// Questing
327{
328 CELLBLOCK_THE_HOLE = 0, // The Hole area
329 CELLBLOCK_D_BLOCK = 1, // D-Block area
330 CELLBLOCK_CURSED_DEPTHS = 2, // Cursed Depths area
333
337
341
345};
346
347Position const RandomQuestgiverPos = { -1228.93f, 975.038f, 121.7153f, 5.969026f };
348
350{
353};
355{
359};
361{
364};
365
366// Capture Points
368{
373};
374
376{
385};
386
388{
392};
393
394// Towers
396{
401};
402
404{
412};
413
415{
419};
420
421// Vehicles
423{
425};
426
429{
430 { -1106.57f, 1196.34f, 121.8023f, 0.4014257f },
431 { -1108.52f, 1111.33f, 121.2783f, 1.37881f },
432 { -1213.01f, 782.236f, 121.4473f, 1.675516f },
433 { -1258.26f, 780.497f, 122.4413f, 1.48353f },
434 { -1438.3f, 1095.24f, 121.1363f, 5.288348f },
435 { -1442.3f, 1141.07f, 123.6323f, 4.24115f },
436};
437
438// Banners
440{
441 GO_BARADINS_WARDEN_BANNER = 207391, // Alliance banner
442 GO_HELLSCREAM_REACH_BANNER = 207400, // Horde banner
443};
444
446
449{
450 { -987.6129f, 963.9861f, 121.4506f, 2.617989f },
451 { -988.118f, 993.0087f, 121.6746f, 3.612838f },
452 { -1195.941f, 964.342f, 119.728f, 0.8901166f },
453 { -1196.892f, 1000.957f, 119.8211f, 5.445428f },
454 { -1198.236f, 1081.898f, 120.2007f, 1.06465f },
455 { -1089.337f, 1157.161f, 120.2749f, 3.036838f },
456 { -1090.033f, 1143.476f, 120.2656f, 3.036838f },
457 { -1217.495f, 944.0261f, 119.4949f, 1.989672f },
458 { -1219.226f, 1018.168f, 119.728f, 2.251473f },
459 { -1210.319f, 1081.885f, 120.2396f, 2.007128f },
460 { -1226.903f, 786.7656f, 119.4592f, 1.553341f },
461 { -1228.464f, 979.7379f, 119.3814f, 0.03490625f },
462 { -1239.668f, 786.7899f, 119.4271f, 1.553341f },
463 { -1250.262f, 1017.887f, 119.728f, 0.8377575f },
464 { -1250.693f, 943.4496f, 119.4949f, 5.305802f },
465 { -1272.29f, 963.5208f, 119.4949f, 2.617989f },
466 { -1273.997f, 998.7934f, 119.4884f, 3.665196f },
467 { -1378.363f, 725.0087f, 124.2978f, 1.326448f },
468 { -1401.97f, 747.0972f, 123.2302f, 0.2443456f },
469 { -1421.953f, 1263.559f, 133.6141f, 5.009095f },
470 { -1446.497f, 1238.964f, 133.7601f, 5.969027f },
471 { -1488.908f, 1118.747f, 124.9255f, 6.248279f },
472 { -1488.533f, 1131.608f, 124.6363f, 6.248279f },
473};
474
475// Portals
477{
478 TB_PORTAL_ALLIANCE = 208227, // Portal to Stormwind
479 TB_PORTAL_HORDE = 208226, // Portal to Orgrimmar
480};
481
483
486{
487 { -598.7656f, 1377.974f, 21.91898f, 0.0f },
488 { -1257.729f, 1060.365f, 106.9938f, 5.462882f },
489};
490
491/* ################### *
492 * Tol Barad graveyard *
493 * ################### */
494
496{
497 // Tol Barad
506
507 // Tol Barad Peninsula
510};
511
513{
519};
520
522{
523 { { -1247.42f, 981.25f, 155.35f, 6.28f }, 128, TB_GY_BARADIN_HOLD, { NPC_TB_GY_SPIRIT_BARADIN_HOLD_A, NPC_TB_GY_SPIRIT_BARADIN_HOLD_H }, true },
524 { { -974.28f, 1089.47f, 132.99f, 5.90f }, 64, TB_GY_IRONCLAD_GARRISON, { NPC_TB_GY_SPIRIT_IRONCLAD_GARRISON_A, NPC_TB_GY_SPIRIT_IRONCLAD_GARRISON_H }, false },
525 { { -1570.44f, 1167.57f, 159.50f, 2.20f }, 64, TB_GY_WARDENS_VIGIL, { NPC_TB_GY_SPIRIT_WARDENS_VIGIL_A, NPC_TB_GY_SPIRIT_WARDENS_VIGIL_H }, false },
526 { { -1343.32f, 565.24f, 139.04f, 1.66f }, 64, TB_GY_SLAGWORKS, { NPC_TB_GY_SPIRIT_SLAGWORKS_A, NPC_TB_GY_SPIRIT_SLAGWORKS_H }, false },
527 { { -1052.02f, 1494.05f, 191.41f, 4.13f }, 64, TB_GY_WEST_SPIRE, { NPC_TB_GY_SPIRIT_WEST_SPIRE_A, NPC_TB_GY_SPIRIT_WEST_SPIRE_H }, false },
528 { { -1603.34f, 874.29f, 193.69f, 5.27f }, 64, TB_GY_SOUTH_SPIRE, { NPC_TB_GY_SPIRIT_SOUTH_SPIRE_A, NPC_TB_GY_SPIRIT_SOUTH_SPIRE_H }, false },
529 { { -943.66f, 572.36f, 157.54f, 1.74f }, 64, TB_GY_EAST_SPIRE, { NPC_TB_GY_SPIRIT_EAST_SPIRE_A, NPC_TB_GY_SPIRIT_EAST_SPIRE_H }, false },
530};
531
532/* ####################### *
533 * Tol Barad capture point *
534 * ####################### */
535
537{
538 public:
540
541 void HandleContestedEventHorde([[maybe_unused]] GameObject* controlZone) override;
542 void HandleContestedEventAlliance([[maybe_unused]] GameObject* controlZone) override;
543 void HandleProgressEventHorde([[maybe_unused]] GameObject* controlZone) override;
544 void HandleProgressEventAlliance([[maybe_unused]] GameObject* controlZone) override;
545 void HandleNeutralEventHorde([[maybe_unused]] GameObject* controlZone) override;
546 void HandleNeutralEventAlliance([[maybe_unused]] GameObject* controlZone) override;
547 void HandleNeutralEvent([[maybe_unused]] GameObject* controlZone) override;
548
551
552 private:
562};
563
564/* ##################### *
565 * Tol Barad battlefield *
566 * ##################### */
567
569{
570 public:
573
574 void OnStartGrouping() override;
575 void OnBattleStart() override;
576 void OnBattleEnd(bool endByTimer) override;
577
578 void OnPlayerEnterZone(Player* player) override;
579 void OnPlayerLeaveZone(Player* player) override;
580
581 void OnPlayerJoinWar(Player* player) override;
582 void OnPlayerLeaveWar(Player* player) override;
583
584 bool Update(uint32 diff) override;
585
586 void OnCreatureCreate(Creature* creature) override;
587 //void OnCreatureRemove(Creature* creature) override;
588
589 void OnGameObjectCreate(GameObject* go) override;
590
592 //void UpdatedDestroyedTowerCount(TeamId team);
593
594 //void DoCompleteOrIncrementAchievement(uint32 achievement, Player* player, uint8 incrementNumber = 1) override;
595
596 bool SetupBattlefield() override;
597
598 void HandleKill(Player* killer, Unit* victim) override;
599 //void OnUnitDeath(Unit* unit) override;
600 void PromotePlayer(Player* killer);
601 void RemoveAurasFromPlayer(Player* player);
602
603 void ProcessEvent(WorldObject* obj, uint32 eventId, WorldObject* invoker) override;
604
605 void TowerDamaged(TBTowerId tbTowerId);
606 void TowerDestroyed(TBTowerId tbTowerId);
607
608 // returns the graveyardId in the specified area.
609 //uint8 GetSpiritGraveyardId(uint32 areaId) const;
610
613
614 protected:
615 // Minutes till battle preparation warnings
619
622
624
627
630
632
634
637
641};
642
643#endif
TBPortalEntry
@ TB_PORTAL_HORDE
@ TB_PORTAL_ALLIANCE
TBQuestInfantryEntry
@ NPC_HORDE_DRUID_INFANTRY
@ NPC_HORDE_MAGE_INFANTRY
@ NPC_ALLIANCE_HUNTER_INFANTRY
@ NPC_ALLIANCE_PALADIN_INFANTRY
@ NPC_HORDE_SHAMAN_INFANTRY
@ NPC_ALLIANCE_MAGE_INFANTRY
@ NPC_ALLIANCE_WARRIOR_INFANTRY
@ NPC_HORDE_ROGUE_INFANTRY
uint8 const TB_BANNER_MAX
TBCapturePointSpawnData const TBCapturePoints[TB_BASE_COUNT]
TBFactionBannerEntry
@ GO_BARADINS_WARDEN_BANNER
@ GO_HELLSCREAM_REACH_BANNER
TBTowerId
@ TB_TOWERS_COUNT
@ TB_TOWER_EAST_SPIRE
@ TB_TOWER_SOUTH_SPIRE
@ TB_TOWER_WEST_SPIRE
int8 const TB_ABANDONED_SIEGE_ENGINE_COUNT
TBGuardEntry
@ NPC_BARADIN_GUARD
@ NPC_HELLSCREAMS_SENTRY
TBQuestAreaInfo const TBQuestAreas[CELLBLOCK_MAX]
Position const GuardNPCSpawns[TB_GUARDS_MAX]
TBGraveyardInfo const TBGraveyards[BATTLEFIELD_TB_GRAVEYARD_MAX]
TBVehicles
@ NPC_ABANDONED_SIEGE_ENGINE
uint8 const TB_GUARDS_MAX
Position const TBAbandonedSiegeEngineSpawnData[TB_ABANDONED_SIEGE_ENGINE_COUNT]
TolBaradText
@ TB_TEXT_PREPARATIONS_IN_1_MIN
@ TB_TEXT_FORTRESS_DEFEND_ALLIANCE
@ TB_TEXT_VIGIL_HORDE_LOST
@ TB_TEXT_GARRISON_ALLIANCE_LOST
@ TB_TEXT_EAST_SPIRE_DAMAGED
@ TB_TEXT_PREPARATIONS_IN_2_MIN
@ TB_TEXT_SLAGWORKS_ALLIANCE_LOST
@ TB_TEXT_EAST_SPIRE_DESTROYED
@ TB_TEXT_SLAGWORKS_HORDE_LOST
@ TB_TEXT_PREPARATIONS_IN_5_MIN
@ TB_TEXT_FORTRESS_CAPTURE_ALLIANCE
@ TB_TEXT_SLAGWORKS_ALLIANCE_GAINED
@ TB_TEXT_GARRISON_ALLIANCE_GAINED
@ TB_TEXT_VIGIL_ALLIANCE_GAINED
@ TB_TEXT_VIGIL_HORDE_GAINED
@ TB_TEXT_SOUTH_SPIRE_DAMAGED
@ TB_TEXT_WEST_SPIRE_DESTROYED
@ TB_TEXT_GARRISON_HORDE_GAINED
@ TB_TEXT_VEHICLE_OUTSIDE_WARNING
@ TB_TEXT_SLAGWORKS_HORDE_GAINED
@ TB_TEXT_FORTRESS_CAPTURE_HORDE
@ TB_TEXT_WEST_SPIRE_DAMAGED
@ TB_TEXT_FORTRESS_DEFEND_HORDE
@ TB_TEXT_VIGIL_ALLIANCE_LOST
@ TB_TEXT_SOUTH_SPIRE_DESTROYED
@ TB_TEXT_GARRISON_HORDE_LOST
Position const RandomQuestgiverPos
TBFactionNPCInfo const FactionNPCSpawns[TB_FACTION_NPC_MAX]
uint32 const RandomQuestgivers[PVP_TEAMS_COUNT][CELLBLOCK_MAX]
TBTowerInfo const TBTowers[TB_TOWERS_COUNT]
uint8 const TB_PORTAL_MAX
TolBaradGOArtKit
@ TB_GO_ARTKIT_FLAG_NONE
@ TB_GO_ARTKIT_FLAG_HORDE
@ TB_GO_ARTKIT_FLAG_ALLIANCE
TolBaradEvent
@ EVENT_COUNT_CAPTURED_BASE
uint32 const TBBannerEntry[PVP_TEAMS_COUNT]
Position const TBBanners[TB_BANNER_MAX]
TolBaradSpells
Definition: BattlefieldTB.h:39
@ SPELL_REWARD_TOWER_DESTROYED
Definition: BattlefieldTB.h:51
@ SPELL_TOWER_RANGE_FINDER
Definition: BattlefieldTB.h:69
@ SPELL_TOWER_RANGE_FINDER_PERIODIC
Definition: BattlefieldTB.h:68
@ SPELL_VICTORY_HORDE
Definition: BattlefieldTB.h:42
@ SPELL_REWARD_TOWER_INTACT
Definition: BattlefieldTB.h:49
@ SPELL_TB_SLOW_FALL
Definition: BattlefieldTB.h:54
@ SPELL_REWARD_TOWER_DAMAGED
Definition: BattlefieldTB.h:50
@ SPELL_SIEGE_CANNON_AURA
Definition: BattlefieldTB.h:63
@ SPELL_DEPLOY_SIEGE_MODE
Definition: BattlefieldTB.h:62
@ SPELL_TOWER_ATTACK_BONUS
Definition: BattlefieldTB.h:56
@ SPELL_TB_SPIRITUAL_IMMUNITY
Definition: BattlefieldTB.h:57
@ SPELL_RIDE_TOL_BARAD_VEHICLE
Definition: BattlefieldTB.h:61
@ SPELL_REWARD_VICTORY_ALLIANCE
Definition: BattlefieldTB.h:45
@ SPELL_REWARD_DEFEAT
Definition: BattlefieldTB.h:47
@ SPELL_TB_CURSED_DEPTHS_TELEPORT
Definition: BattlefieldTB.h:74
@ SPELL_THICK_LAYER_OF_RUST
Definition: BattlefieldTB.h:60
@ SPELL_TB_VETERAN
Definition: BattlefieldTB.h:55
@ SPELL_TB_D_BLOCK_TELEPORT
Definition: BattlefieldTB.h:73
@ SPELL_LEAVE_SIEGE_MODE
Definition: BattlefieldTB.h:66
@ SPELL_TB_THE_HOLE_TELEPORT
Definition: BattlefieldTB.h:72
@ SPELL_REWARD_VICTORY_HORDE
Definition: BattlefieldTB.h:46
@ SPELL_VICTORY_ALLIANCE
Definition: BattlefieldTB.h:41
Position const TolBaradDebugAnnouncerPos
TBQuesting
@ CELLBLOCK_MAX
@ GO_GATE_D_BLOCK
@ CELLBLOCK_THE_HOLE
@ CELLBLOCK_D_BLOCK
@ GO_GATE_TO_THE_HOLE
@ AREA_THE_HOLE
@ AREA_D_BLOCK
@ GO_CURSED_DEPTHS_GATE
@ CELLBLOCK_CURSED_DEPTHS
@ AREA_CURSED_DEPTHS
@ GO_DUSTY_PRISON_JOURNAL
@ GO_CRATE_OF_CELLBLOCK_RATIONS
@ GO_CURSED_SHACKLES
@ CELLBLOCK_NONE
Position const TBQuestInfantrySpawnData[TB_QUEST_INFANTRY_MAX]
Position const TBPortals[TB_PORTAL_MAX]
TolBaradData
Definition: BattlefieldTB.h:33
@ BATTLEFIELD_TB_DATA_TOWERS_INTACT
Definition: BattlefieldTB.h:34
@ BATTLEFIELD_TB_DATA_MAX
Definition: BattlefieldTB.h:35
TolBaradInfo
Definition: BattlefieldTB.h:27
@ BATTLEFIELD_TB_ZONEID
Definition: BattlefieldTB.h:29
@ BATTLEFIELD_TB_MAPID
Definition: BattlefieldTB.h:28
const uint32 TBFactions[PVP_TEAMS_COUNT]
TBFactionNPCEntry
@ NPC_BARADIN_GUARD_1
@ NPC_PRIVATE_GARNOTH
@ NPC_BARADIN_GRUNT_2
@ NPC_SERGEANT_PARKER
@ NPC_COMMANDER_ZANOTH
@ NPC_MAVEN_ZARA
@ NPC_DRILLMASTER_RAZGOTH
@ NPC_2ND_LIEUTENANT_WANSWORTH
@ NPC_RHAGHA
@ NPC_BARADIN_GUARD_2
@ NPC_COMMANDER_STEVENS
@ NPC_BARADIN_GRUNT_1
@ NPC_MARSHAL_FALLOWS
@ NPC_STAFF_SERGEANT_LAZGAR
uint8 const TB_QUEST_INFANTRY_MAX
TBGraveyardAreaId
@ TBP_GY_ALLIANCE_DAILY
@ TB_GY_EAST_SPIRE
@ TBP_GY_HORDE_DAILY
@ TB_GY_IRONCLAD_GARRISON
@ TB_GY_WARDENS_VIGIL
@ TB_GY_BARADIN_HOLD
@ TB_GY_SOUTH_SPIRE
@ TB_GY_SLAGWORKS
@ TB_GY_WEST_SPIRE
@ BATTLEFIELD_TB_GRAVEYARD_MAX
uint8 const TB_FACTION_NPC_MAX
uint32 const TB_QUEST_INFANTRY[PVP_TEAMS_COUNT][4]
TBCapturePointId
@ TB_BASE_COUNT
@ TB_BASE_SLAGWORKS
@ TB_BASE_WARDENS_VIGIL
@ TB_BASE_IRONCLAD_GARRISON
TolBaradGOs
@ GO_CAPTURE_POINT_NORTH_A_DEFENDING
@ GO_TOLBARAD_DOOR
@ GO_CAPTURE_POINT_EAST_H_DEFENDING
@ GO_CAPTURE_POINT_NORTH_H_DEFENDING
@ GO_CAPTURE_POINT_WEST_A_DEFENDING
@ GO_TB_INSTANCE_VISUAL_3
@ GO_TB_INSTANCE_VISUAL_4
@ GO_TB_INSTANCE_VISUAL_2
@ GO_WEST_SPIRE
@ GO_CAPTURE_POINT_WEST_H_DEFENDING
@ GO_CAPTURE_POINT_EAST_A_DEFENDING
@ GO_TB_INSTANCE_VISUAL_1
@ GO_EAST_SPIRE
@ GO_TB_MEETING_STONE
@ GO_TOLBARAD_GATES
@ GO_SOUTH_SPIRE
TolBaradNpcs
Definition: BattlefieldTB.h:78
@ NPC_TOLBARAD_JAILED_WRATHGUARD
Definition: BattlefieldTB.h:89
@ NPC_TB_GY_SPIRIT_EAST_SPIRE_H
@ NPC_TB_GY_SPIRIT_IRONCLAD_GARRISON_H
@ NPC_TOLBARAD_EXILED_MAGE
Definition: BattlefieldTB.h:96
@ NPC_TB_GY_SPIRIT_SOUTH_SPIRE_H
@ NPC_TB_GY_SPIRIT_WARDENS_VIGIL_H
@ NPC_TB_GY_SPIRIT_WEST_SPIRE_H
@ NPC_TOLBARAD_ARCHMAGE_GALUS
Definition: BattlefieldTB.h:82
@ NPC_TOLBARAD_IMPRISONED_IMP
Definition: BattlefieldTB.h:90
@ NPC_TOLBARAD_CELL_WATCHER
Definition: BattlefieldTB.h:87
@ NPC_TB_GY_SPIRIT_BARADIN_HOLD_H
@ NPC_DEBUG_ANNOUNCER
@ NPC_TB_GY_SPIRIT_EAST_SPIRE_A
@ NPC_TOLBARAD_WARDEN_SILVA
Definition: BattlefieldTB.h:93
@ NPC_TOLBARAD_IMPRISONED_WORKER
Definition: BattlefieldTB.h:95
@ NPC_TOLBARAD_GHASTLY_CONVICT
Definition: BattlefieldTB.h:83
@ NPC_TOLBARAD_WARDEN_GUARD
Definition: BattlefieldTB.h:94
@ NPC_TOLBARAD_CELLBLOCK_OOZE
Definition: BattlefieldTB.h:81
@ NPC_TOLBARAD_SVARNOS
Definition: BattlefieldTB.h:88
@ NPC_TB_GY_SPIRIT_SLAGWORKS_H
@ NPC_TB_GY_SPIRIT_SOUTH_SPIRE_A
@ NPC_TB_GY_SPIRIT_SLAGWORKS_A
@ NPC_TOWER_CANNON_TARGET
@ NPC_TOLBARAD_SHIVARRA_DESTROYER
Definition: BattlefieldTB.h:86
@ NPC_CROCOLISK
Definition: BattlefieldTB.h:99
@ NPC_TB_GY_SPIRIT_WARDENS_VIGIL_A
@ NPC_TB_GY_SPIRIT_IRONCLAD_GARRISON_A
@ NPC_TOLBARAD_CAPTIVE_SPIRIT
Definition: BattlefieldTB.h:80
@ NPC_TB_GY_SPIRIT_BARADIN_HOLD_A
@ NPC_SIEGE_ENGINE_TURRET
@ NPC_TB_GY_SPIRIT_WEST_SPIRE_A
@ NPC_TOWER_RANGE_FINDER
@ NPC_PROBLIM
uint8_t uint8
Definition: Define.h:144
int8_t int8
Definition: Define.h:140
uint32_t uint32
Definition: Define.h:142
std::set< ObjectGuid > GuidSet
Definition: ObjectGuid.h:393
uint8 constexpr PVP_TEAMS_COUNT
@ WS_BATTLEFIELD_TB_SLAGWORKS_NEUTRAL
@ WS_BATTLEFIELD_TB_EAST_INTACT_ALLIANCE
@ WS_BATTLEFIELD_TB_SLAGWORKS_HORDE_CAPTURING
@ WS_BATTLEFIELD_TB_WEST_DESTROYED_NEUTRAL
@ WS_BATTLEFIELD_TB_VIGIL_HORDE_CONTROLLED
@ WS_BATTLEFIELD_TB_GARRISON_HORDE_CAPTURING
@ WS_BATTLEFIELD_TB_SLAGWORKS_ALLIANCE_CONTROLLED
@ WS_BATTLEFIELD_TB_VIGIL_NEUTRAL
@ WS_BATTLEFIELD_TB_WEST_INTACT_ALLIANCE
@ WS_BATTLEFIELD_TB_VIGIL_ALLIANCE_CAPTURING
@ WS_BATTLEFIELD_TB_WEST_DAMAGED_ALLIANCE
@ WS_BATTLEFIELD_TB_SLAGWORKS_ALLIANCE_CAPTURING
@ WS_BATTLEFIELD_TB_SOUTH_DAMAGED_HORDE
@ WS_BATTLEFIELD_TB_WEST_DAMAGED_HORDE
@ WS_BATTLEFIELD_TB_WEST_INTACT_HORDE
@ WS_BATTLEFIELD_TB_SOUTH_DAMAGED_ALLIANCE
@ WS_BATTLEFIELD_TB_VIGIL_ALLIANCE_CONTROLLED
@ WS_BATTLEFIELD_TB_GARRISON_ALLIANCE_CONTROLLED
@ WS_BATTLEFIELD_TB_SOUTH_INTACT_HORDE
@ WS_BATTLEFIELD_TB_EAST_DESTROYED_NEUTRAL
@ WS_BATTLEFIELD_TB_SOUTH_DESTROYED_NEUTRAL
@ WS_BATTLEFIELD_TB_EAST_DAMAGED_HORDE
@ WS_BATTLEFIELD_TB_GARRISON_NEUTRAL
@ WS_BATTLEFIELD_TB_VIGIL_HORDE_CAPTURING
@ WS_BATTLEFIELD_TB_SLAGWORKS_HORDE_CONTROLLED
@ WS_BATTLEFIELD_TB_GARRISON_HORDE_CONTROLLED
@ WS_BATTLEFIELD_TB_EAST_DAMAGED_ALLIANCE
@ WS_BATTLEFIELD_TB_EAST_INTACT_HORDE
@ WS_BATTLEFIELD_TB_SOUTH_INTACT_ALLIANCE
@ WS_BATTLEFIELD_TB_GARRISON_ALLIANCE_CAPTURING
void OnPlayerLeaveWar(Player *player) override
Called when a player leave the battle.
void RemoveAurasFromPlayer(Player *player)
void OnBattleEnd(bool endByTimer) override
Called at the end of battle.
bool Update(uint32 diff) override
Called every time for update bf data and time.
GuidSet TemporaryNPCs
void ProcessEvent(WorldObject *obj, uint32 eventId, WorldObject *invoker) override
void OnBattleStart() override
Called on start.
void TowerDestroyed(TBTowerId tbTowerId)
void OnPlayerJoinWar(Player *player) override
Called when a player accept to join the battle.
ObjectGuid m_gateCursedDepthsGUID
bool SetupBattlefield() override
Call this to init the Battlefield.
void HandleKill(Player *killer, Unit *victim) override
Called when a Unit is kill in battlefield zone.
void OnStartGrouping() override
Called x minutes before battle start when player in zone are invite to join queue.
GuidSet BattleInactiveNPCs
void OnPlayerEnterZone(Player *player) override
Called when a player enter in battlefield zone.
ObjectGuid TBGatesGUID
void OnGameObjectCreate(GameObject *go) override
void OnCreatureCreate(Creature *creature) override
uint32 m_updateObjectsTimer
void UpdateCapturedBaseCount()
bool warnedFiveMinutes
ObjectGuid m_gateDBlockGUID
GuidSet TemporaryGOs
void TowerDamaged(TBTowerId tbTowerId)
bool updatedNPCAndObjects
uint32 m_BonusTime
void OnPlayerLeaveZone(Player *player) override
Called when a player leave battlefield zone.
void CreateCapturePoints()
GuidSet BattleInactiveGOs
uint8 m_iCellblockRandom
void PromotePlayer(Player *killer)
ObjectGuid m_gateToTheHoleGUID
void UpdateNPCsAndGameObjects()
ObjectGuid TBDoorGUID
Battlefield(Map *map)
Constructor.
Definition: Battlefield.cpp:36
uint32 _worldstateHordeCapturing
uint32 _worldstateHordeControlled
void HandleContestedEventAlliance(GameObject *controlZone) override
void HandleNeutralEventHorde(GameObject *controlZone) override
void HandleContestedEventHorde(GameObject *controlZone) override
void HandleNeutralEvent(GameObject *controlZone) override
void HandleNeutralEventAlliance(GameObject *controlZone) override
void HandleProgressEventAlliance(GameObject *controlZone) override
uint32 _worldstateAllianceCapturing
uint32 _worldstateAllianceControlled
TolBaradCapturePoint(BattlefieldTB *battlefield, TBCapturePointSpawnData const &data)
uint32 GetWorldStateHordeControlled() const
void HandleProgressEventHorde(GameObject *controlZone) override
uint32 GetWorldStateAllianceControlled() const
Definition: Unit.h:627
TBCapturePointId id
uint32 spiritEntry[PVP_TEAMS_COUNT]
uint32 wsDamaged[PVP_TEAMS_COUNT]
Position pos
uint32 wsIntact[PVP_TEAMS_COUNT]
uint32 wsDestroyed
uint32 textDamaged
uint32 textDestroyed