TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
BattlegroundAV.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
3  * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License as published by the
7  * Free Software Foundation; either version 2 of the License, or (at your
8  * option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13  * more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef __BATTLEGROUNDAV_H
20 #define __BATTLEGROUNDAV_H
21 
22 #include "Battleground.h"
23 #include "BattlegroundScore.h"
24 #include "Object.h"
25 
26 #define BG_AV_CAPTIME 240000 //4:00
27 #define BG_AV_SNOWFALL_FIRSTCAP 300000 //5:00 but i also have seen 4:05
28 
29 #define BG_AV_SCORE_INITIAL_POINTS 600
30 #define SEND_MSG_NEAR_LOSE 120
31 
32 #define BG_AV_KILL_BOSS 4
33 #define BG_AV_REP_BOSS 350
34 
35 #define BG_AV_KILL_CAPTAIN 3
36 #define BG_AV_REP_CAPTAIN 125
37 #define BG_AV_RES_CAPTAIN 100
38 
39 #define BG_AV_KILL_TOWER 3
40 #define BG_AV_REP_TOWER 12
41 #define BG_AV_RES_TOWER 75
42 
43 #define BG_AV_GET_COMMANDER 1 //for a safely returned wingcommander
44 //bonushonor at the end
45 #define BG_AV_KILL_SURVIVING_TOWER 2
46 #define BG_AV_REP_SURVIVING_TOWER 12
47 
48 #define BG_AV_KILL_SURVIVING_CAPTAIN 2
49 #define BG_AV_REP_SURVIVING_CAPTAIN 125
50 
51 #define BG_AV_EVENT_START_BATTLE 9166 // Achievement: The Alterac Blitz
52 
54 {
56 };
57 
59 {
60 
61 /*
62 8212:
63  alliance grave assault
64  alliance tower assault
65  drek "mlanzenabschaum! In meiner Burg?! Toetet sie all" - nicht immer der sound
66 8333:
67  galv "sterbt fuer euch ist kein platz hier"
68 
69 8332:
70  bal "Verschwinde, dreckiger Abschaum! Die Allianz wird im Alteractal "
71 8174:
72  horde tower assault
73  horde grave assault
74  van "es Sturmlanzenklans, euer General wird angegriffen! Ich fordere Unterst"
75 8173:
76  ally grave capture/defend
77  tower destroy
78  mine capture
79  ally wins
80 8192:
81  ally tower destroy(only iceblood - found a bug^^)
82  ally tower defend
83  horde tower defend
84 8213
85 horde:
86  grave defend/capture
87  tower destroy
88  mine capture
89  horde wins
90  */
91 
93 
94  AV_SOUND_ALLIANCE_ASSAULTS = 8212, //tower, grave + enemy boss if someone tries to attack him
96  AV_SOUND_ALLIANCE_GOOD = 8173, //if something good happens for the team: wins(maybe only through killing the boss), captures mine or grave, destroys tower and defends grave
99 
100  AV_SOUND_ALLIANCE_CAPTAIN = 8232, //gets called when someone attacks them and at the beginning after 3min+rand(x)*10sec (maybe buff)
102 };
103 
105 {
111  AV_NEUTRAL_TEAM = 0 //this is the neutral owner of snowfall
112 };
114 {
115  //cause the mangos-system is a bit different, we don't use the right go-ids for every node.. if we want to be 100% like another big server, we must take one object for every node
116  //snowfall 4flags as eyecandy 179424 (alliance neutral)
117  //Banners - stolen from battleground_AB.h ;-)
118  BG_AV_OBJECTID_BANNER_A = 178925, // can only be used by horde
119  BG_AV_OBJECTID_BANNER_H = 178943, // can only be used by alliance
120  BG_AV_OBJECTID_BANNER_CONT_A = 178940, // can only be used by horde
121  BG_AV_OBJECTID_BANNER_CONT_H = 179435, // can only be used by alliance
122 
128 
129  //snowfall eyecandy banner:
134 
135  //banners on top of towers:
136  BG_AV_OBJECTID_TOWER_BANNER_A = 178927, //[PH] Alliance A1 Tower Banner BIG
137  BG_AV_OBJECTID_TOWER_BANNER_H = 178955, //[PH] Horde H1 Tower Banner BIG
138  BG_AV_OBJECTID_TOWER_BANNER_PA = 179446, //[PH] Alliance H1 Tower Pre-Banner BIG
139  BG_AV_OBJECTID_TOWER_BANNER_PH = 179436, //[PH] Horde A1 Tower Pre-Banner BIG
140 
141  //Auras
148 
151 
152  //mine supplies
155 
158 };
159 
161 {
177 
179 };
180 
182 {
194 
206 
218 
230 
232 
235 //auras for graveyards (3auras per graveyard neutral, alliance, horde)
257 
258  //big flags on top of towers 2 flags on each (contested, (alliance | horde)) + 2 auras
291 
310 
312 };
313 
315 {
339 
358 
360 };
361 
363 {
364  {638.592f, -32.422f, 46.0608f, -1.62316f }, //firstaid station
365  {669.007f, -294.078f, 30.2909f, 2.77507f }, //stormpike
366  {77.8013f, -404.7f, 46.7549f, -0.872665f }, //stone grave
367  {-202.581f, -112.73f, 78.4876f, -0.715585f }, //snowfall
368  {-611.962f, -396.17f, 60.8351f, 2.53682f}, //iceblood grave
369  {-1082.45f, -346.823f, 54.9219f, -1.53589f }, //frostwolf grave
370  {-1402.21f, -307.431f, 89.4424f, 0.191986f }, //frostwolf hut
371  {553.779f, -78.6566f, 51.9378f, -1.22173f }, //dunnbaldar south
372  {674.001f, -143.125f, 63.6615f, 0.994838f }, //dunbaldar north
373  {203.281f, -360.366f, 56.3869f, -0.925024f }, //icew
374  {-152.437f, -441.758f, 40.3982f, -1.95477f }, //stone
375  {-571.88f, -262.777f, 75.0087f, -0.802851f }, //ice tower
376  {-768.907f, -363.71f, 90.8949f, 1.07991f}, //tower point
377  {-1302.9f, -316.981f, 113.867f, 2.00713f }, //frostwolf etower
378  {-1297.5f, -266.767f, 114.15f, 3.31044f}, //frostwolf wtower
379  //bigbanner:
380  {555.848f, -84.4151f, 64.4397f, 3.12414f }, //duns
381  {679.339f, -136.468f, 73.9626f, -2.16421f }, //dunn
382  {208.973f, -365.971f, 66.7409f, -0.244346f }, //icew
383  {-155.832f, -449.401f, 52.7306f, 0.610865f }, //stone
384  {-572.329f, -262.476f, 88.6496f, -0.575959f }, //icetower
385  {-768.199f, -363.105f, 104.537f, 0.10472f }, //towerp
386  {-1302.84f, -316.582f, 127.516f, 0.122173f }, //etower
387  {-1297.87f, -266.762f, 127.796f, 0.0698132f }, //wtower
388  //burning auras towers have 9*179065 captain-buildings have 5*179066+5*179065
389  //dunns
390  {562.632f, -88.1815f, 61.993f, 0.383972f },
391  {562.523f, -74.5028f, 37.9474f, -0.0523599f },
392  {558.097f, -70.9842f, 52.4876f, 0.820305f },
393  {578.167f, -71.8191f, 38.1514f, 2.72271f },
394  {556.028f, -94.9242f, 44.8191f, 3.05433f },
395  {572.451f, -94.3655f, 37.9443f, -1.72788f },
396  {549.263f, -79.3645f, 44.8191f, 0.436332f },
397  {543.513f, -94.4006f, 52.4819f, 0.0349066f },
398  {572.149f, -93.7862f, 52.5726f, 0.541052f },
399  {582.162f, -81.2375f, 37.9216f, 0.0872665f },
400  //dunn
401  {664.797f, -143.65f, 64.1784f, -0.453786f},
402  {664.505f, -139.452f, 49.6696f, -0.0349067f},
403  {676.067f, -124.319f, 49.6726f, -1.01229f},
404  {693.004f, -144.025f, 64.1755f, 2.44346f},
405  {661.175f, -117.691f, 49.645f, 1.91986f},
406  {684.423f, -146.582f, 63.6662f, 0.994838f},
407  {682.791f, -127.769f, 62.4155f, 1.09956f},
408  {674.576f, -147.101f, 56.5425f, -1.6057f},
409  {655.719f, -126.673f, 49.8138f, 2.80998f},
410  {0, 0, 0, 0},
411  //icew
412  {231.503f, -356.688f, 42.3704f, 0.296706f},
413  {224.989f, -348.175f, 42.5607f, 1.50098f},
414  {205.782f, -351.335f, 56.8998f, 1.01229f},
415  {196.605f, -369.187f, 56.3914f, 2.46091f},
416  {210.619f, -376.938f, 49.2677f, 2.86234f},
417  {209.647f, -352.632f, 42.3959f, -0.698132f},
418  {220.65f, -368.132f, 42.3978f, -0.2618f},
419  {224.682f, -374.031f, 57.0679f, 0.541052f},
420  {200.26f, -359.968f, 49.2677f, -2.89725f},
421  {196.619f, -378.016f, 56.9131f, 1.01229f},
422  //stone
423  {-155.488f, -437.356f, 33.2796f, 2.60054f},
424  {-163.441f, -454.188f, 33.2796f, 1.93732f},
425  {-143.977f, -445.148f, 26.4097f, -1.8675f},
426  {-135.764f, -464.708f, 26.3823f, 2.25147f},
427  {-154.076f, -466.929f, 41.0636f, -1.8675f},
428  {-149.908f, -460.332f, 26.4083f, -2.09439f},
429  {-151.638f, -439.521f, 40.3797f, 0.436332f},
430  {-131.301f, -454.905f, 26.5771f, 2.93215f},
431  {-171.291f, -444.684f, 40.9211f, 2.30383f},
432  {-143.591f, -439.75f, 40.9275f, -1.72788f},
433  //iceblood
434  {-572.667f, -267.923f, 56.8542f, 2.35619f},
435  {-561.021f, -262.689f, 68.4589f, 1.37881f},
436  {-572.538f, -262.649f, 88.6197f, 1.8326f},
437  {-574.77f, -251.45f, 74.9422f, -1.18682f},
438  {-578.625f, -267.571f, 68.4696f, 0.506145f},
439  {-571.476f, -257.234f, 63.3223f, 3.10669f},
440  {-566.035f, -273.907f, 52.9582f, -0.890118f},
441  {-580.948f, -259.77f, 68.4696f, 1.46608f},
442  {-568.318f, -267.1f, 75.0008f, 1.01229f},
443  {-559.621f, -268.597f, 52.8986f, 0.0523599f},
444  //towerp
445  {-776.072f, -368.046f, 84.3558f, 2.63545f},
446  {-777.564f, -368.521f, 90.6701f, 1.72788f},
447  {-765.461f, -357.711f, 90.888f, 0.314159f},
448  {-768.763f, -362.735f, 104.612f, 1.81514f},
449  {-760.356f, -358.896f, 84.3558f, 2.1293f},
450  {-771.967f, -352.838f, 84.3484f, 1.74533f},
451  {-773.333f, -364.653f, 79.2351f, -1.64061f},
452  {-764.109f, -366.069f, 70.0934f, 0.383972f},
453  {-767.103f, -350.737f, 68.7933f, 2.80998f},
454  {-760.115f, -353.845f, 68.8633f, 1.79769f},
455  //froste
456  {-1304.87f, -304.525f, 91.8366f, -0.680679f},
457  {-1301.77f, -310.974f, 95.8252f, 0.907571f},
458  {-1305.58f, -320.625f, 102.166f, -0.558505f},
459  {-1294.27f, -323.468f, 113.893f, -1.67552f},
460  {-1302.65f, -317.192f, 127.487f, 2.30383f},
461  {-1293.89f, -313.478f, 107.328f, 1.6057f},
462  {-1312.41f, -312.999f, 107.328f, 1.5708f},
463  {-1311.57f, -308.08f, 91.7666f, -1.85005f},
464  {-1314.7f, -322.131f, 107.36f, 0.645772f},
465  {-1304.6f, -310.754f, 113.859f, -0.401426f},
466  //frostw
467  {-1308.24f, -273.26f, 92.0514f, -0.139626f},
468  {-1302.26f, -262.858f, 95.9269f, 0.418879f},
469  {-1297.28f, -267.773f, 126.756f, 2.23402f},
470  {-1299.08f, -256.89f, 114.108f, -2.44346f},
471  {-1303.41f, -268.237f, 114.151f, -1.23918f},
472  {-1304.43f, -273.682f, 107.612f, 0.244346f},
473  {-1309.53f, -265.951f, 92.1418f, -2.49582f},
474  {-1295.55f, -263.865f, 105.033f, 0.925024f},
475  {-1294.71f, -281.466f, 107.664f, -1.50098f},
476  {-1289.69f, -259.521f, 107.612f, -2.19912f},
477 
478  //the two buildings of the captains
479  //alliance
480  {-64.4987f, -289.33f, 33.4616f, -2.82743f},
481  {-5.98025f, -326.144f, 38.8538f, 0},
482  {-2.67893f, -306.998f, 33.4165f, 0},
483  {-60.25f, -309.232f, 50.2408f, -1.46608f},
484  {-48.7941f, -266.533f, 47.7916f, 2.44346f},
485  {-3.40929f, -306.288f, 33.34f, 0},
486  {-48.619f, -266.917f, 47.8168f, 0},
487  {-62.9474f, -286.212f, 66.7288f, 0},
488  {-5.05132f, -325.323f, 38.8536f, 0},
489  {-64.2677f, -289.412f, 33.469f, 0},
490 //horde
491  {-524.276f, -199.6f, 82.8733f, -1.46608f},
492  {-518.196f, -173.085f, 102.43f, 0},
493  {-500.732f, -145.358f, 88.5337f, 2.44346f},
494  {-501.084f, -150.784f, 80.8506f, 0},
495  {-518.309f, -163.963f, 102.521f, 2.96706f},
496  {-517.053f, -200.429f, 80.759f, 0},
497  {-514.361f, -163.864f, 104.163f, 0},
498  {-568.04f, -188.707f, 81.55f, 0},
499  {-501.775f, -151.581f, 81.2027f, 0},
500  {-509.975f, -191.652f, 83.2978f, 0},
501 
502 //snowfall eyecandy
503  {-191.153f, -129.868f, 78.5595f, -1.25664f },
504  {-201.282f, -134.319f, 78.6753f, -0.942478f },
505  {-215.981f, -91.4101f, 80.8702f, -1.74533f },
506  {-200.465f, -96.418f, 79.7587f, 1.36136f },
507  //mine supplies
508  //irondeep
509  {870.899f, -388.434f, 61.6406f, -1.22173f},
510  {825.214f, -320.174f, 63.712f, -2.82743f},
511  {837.117f, -452.556f, 47.2331f, -3.12414f},
512  {869.755f, -448.867f, 52.5448f, -0.855212f},
513  {949.877f, -458.198f, 56.4874f, 0.314159f},
514  {900.35f, -479.024f, 58.3553f, 0.122173f},
515  {854.449f, -442.255f, 50.6589f, 0.401426f},
516  {886.685f, -442.358f, 54.6962f, -1.22173f},
517  {817.509f, -457.331f, 48.4666f, 2.07694f},
518  {793.411f, -326.281f, 63.1117f, -2.79253f},
519  //coldtooth
520  {-934.212f, -57.3517f, 80.277f, -0.0174535f},
521  {-916.281f, -36.8579f, 77.0227f, 0.122173f},
522  {-902.73f, -103.868f, 75.4378f, -1.58825f},
523  {-900.514f, -143.527f, 75.9686f, 1.8675f},
524  {-862.882f, -0.353299f, 72.1526f, -2.51327f},
525  {-854.932f, -85.9184f, 68.6056f, -2.04204f},
526  {-851.833f, -118.959f, 63.8672f, -0.0698131f},
527  {-849.832f, -20.8421f, 70.4672f, -1.81514f},
528  {-844.25f, -60.0374f, 72.1031f, -2.19912f},
529  {-820.644f, -136.043f, 63.1977f, 2.40855f},
530  {-947.642f, -208.807f, 77.0101f, 1.36136f},
531  {-951.394f, -193.695f, 67.634f, 0.802851f}
532 };
533 
535 {
536  {780.487f, -493.024f, 99.9553f, 3.0976f}, //alliance
537  {-1375.193f, -538.981f, 55.2824f, 0.72178f} //horde
538 };
539 
540 //creaturestuff starts here
541 //is related to BG_AV_CreaturePos
543 {
553 //I don't add a variable for all 4 positions... I think one is enough to compute the rest
561 
570 
579  //irondeep
580  //miner:
583  //special types
586  //boss
588  //coldtooth
589  //miner:
592  //special types
595  //vermin
598  //boss
600 
601  //herald
603 
604  //node aura triggers
620 
621  //boss, captain triggers
626 
628 };
629 
631 {
632  //spiritguides
633  {643.000000f, 44.000000f, 69.740196f, -0.001854f},
634  {676.000000f, -374.000000f, 30.000000f, -0.001854f},
635  {73.417755f, -496.433105f, 48.731918f, -0.001854f},
636  {-157.409195f, 31.206272f, 77.050598f, -0.001854f},
637  {-531.217834f, -405.231384f, 49.551376f, -0.001854f},
638  {-1090.476807f, -253.308670f, 57.672371f, -0.001854f},
639  {-1496.065063f, -333.338409f, 101.134804f, -0.001854f},
640  {873.001770f, -491.283630f, 96.541931f, -0.001854f},
641  {-1437.670044f, -610.088989f, 51.161900f, -0.001854f},
642  //grave
643  //firstaid
644  {635.17f, -29.5594f, 46.5056f, 4.81711f},
645  {642.488f, -32.9437f, 46.365f, 4.67748f},
646  {642.326f, -27.9442f, 46.9211f, 4.59022f},
647  {635.945f, -33.6171f, 45.7164f, 4.97419f},
648  //stormpike
649  {669.272f, -297.304f, 30.291f, 4.66604f},
650  {674.08f, -292.328f, 30.4817f, 0.0918785f},
651  {667.01f, -288.532f, 29.8809f, 1.81583f},
652  {664.153f, -294.042f, 30.2851f, 3.28531f},
653  //stone
654  {81.7027f, -406.135f, 47.7843f, 0.598464f},
655  {78.1431f, -409.215f, 48.0401f, 5.05953f},
656  {73.4135f, -407.035f, 46.7527f, 3.34736f},
657  {78.2258f, -401.859f, 46.4202f, 2.05852f},
658  //snowfall
659  {-207.412f, -110.616f, 78.7959f, 2.43251f},
660  {-197.95f, -112.205f, 78.5686f, 6.22441f},
661  {-202.709f, -116.829f, 78.4358f, 5.13742f},
662  {-202.059f, -108.314f, 78.5783f, 5.91968f},
663  //ice
664  {-615.501f, -393.802f, 60.4299f, 3.06147f},
665  {-608.513f, -392.717f, 62.5724f, 2.06323f},
666  {-609.769f, -400.072f, 60.7174f, 5.22367f},
667  {-616.093f, -398.293f, 60.5628f, 3.73613f},
668  //frost
669  {-1077.7f, -340.21f, 55.4682f, 6.25569f},
670  {-1082.74f, -333.821f, 54.7962f, 2.05459f},
671  {-1090.66f, -341.267f, 54.6768f, 3.27746f},
672  {-1081.58f, -344.63f, 55.256f, 4.75636f},
673  //frost hut
674  {-1408.95f, -311.69f, 89.2536f, 4.49954f},
675  {-1407.15f, -305.323f, 89.1993f, 2.86827f},
676  {-1400.64f, -304.3f, 89.7008f, 1.0595f},
677  {-1400.4f, -311.35f, 89.3028f, 4.99434f},
678  //towers
679  //dun south - OK
680  {569.395f, -101.064f, 52.8296f, 2.34974f},
681  {574.85f, -92.9842f, 52.5869f, 3.09325f},
682  {575.411f, -83.597f, 52.3626f, 6.26573f},
683  {571.352f, -75.6582f, 52.479f, 0.523599f},
684  //dun north - OK
685  {668.60f, -122.53f, 64.12f, 2.34f},
686  {662.253f, -129.105f, 64.1794f, 2.77507f},
687  {661.209f, -138.877f, 64.2251f, 3.38594f},
688  {665.481f, -146.857f, 64.1271f, 3.75246f},
689  //icewing - OK
690  {225.228f, -368.909f, 56.9983f, 6.23806f},
691  {191.36f, -369.899f, 57.1524f, 3.24631f},
692  {215.518f, -384.019f, 56.9889f, 5.09636f},
693  {199.625f, -382.177f, 56.8691f, 4.08407f},
694  //stone
695  {-172.851f, -452.366f, 40.8725f, 3.31829f},
696  {-147.147f, -435.053f, 40.8022f, 0.599238f},
697  {-169.456f, -440.325f, 40.985f, 2.59101f},
698  {-163.494f, -434.904f, 41.0725f, 1.84174f},
699  //ice - OK
700  {-573.522f, -271.854f, 75.0078f, 3.9619f},
701  {-565.616f, -269.051f, 74.9952f, 5.02655f},
702  {-562.825f, -261.087f, 74.9898f, 5.95157f},
703  {-569.176f, -254.446f, 74.8771f, 0.820305f},
704  //towerpoint
705  {-763.04f, -371.032f, 90.7933f, 5.25979f},
706  {-759.764f, -358.264f, 90.8681f, 0.289795f},
707  {-768.808f, -353.056f, 90.8811f, 1.52601f},
708  {-775.944f, -362.639f, 90.8949f, 2.59573f},
709  //frost etower
710  {-1294.13f, -313.045f, 107.328f, 0.270162f},
711  {-1306.5f, -308.105f, 113.767f, 1.78755f},
712  {-1294.78f, -319.966f, 113.79f, 5.94545f},
713  {-1294.83f, -312.241f, 113.799f, 0.295293f},
714  //frost wtower
715  {-1300.96f, -275.111f, 114.058f, 4.12804f},
716  {-1302.41f, -259.256f, 114.065f, 1.67602f},
717  {-1287.97f, -262.087f, 114.165f, 6.18264f},
718  {-1291.59f, -271.166f, 114.151f, 5.28257f},
719 
720  //alliance marshall
721  {721.104f, -7.64155f, 50.7046f, 3.45575f}, // south
722  {723.058f, -14.1548f, 50.7046f, 3.40339f}, // north
723  {715.691f, -4.72233f, 50.2187f, 3.47321f}, // icewing
724  {720.046f, -19.9413f, 50.2187f, 3.36849f}, // stone
726  {-1363.99f, -221.99f, 98.4053f, 4.93012f},
727  {-1370.96f, -223.532f, 98.4266f, 4.93012f},
728  {-1378.37f, -228.614f, 99.3546f, 5.38565f},
729  {-1358.02f, -228.998f, 98.868f, 3.87768f},
730 
731  //irondeep mine
732  //Irondeep Trogg
733  {971.671f, -442.657f, 57.6951f, 3.1765f},
734  {969.979f, -457.148f, 58.1119f, 4.5204f},
735  {958.692f, -333.477f, 63.2276f, 5.77704f},
736  {957.113f, -325.92f, 61.7589f, 1.13446f},
737  {948.25f, -448.268f, 56.9009f, 5.60251f},
738  {934.727f, -385.802f, 63.0344f, 3.75246f},
739  {931.751f, -403.458f, 59.6737f, 5.63741f},
740  {931.146f, -359.666f, 66.0294f, 3.9619f},
741  {929.702f, -412.401f, 56.8776f, 5.89921f},
742  {926.849f, -379.074f, 63.5286f, 2.0944f},
743  {921.972f, -358.597f, 66.4313f, 2.93215f},
744  {921.449f, -341.981f, 67.1264f, 3.4383f},
745  {921.1f, -395.812f, 60.4615f, 2.71695f},
746  {919.274f, -394.986f, 60.3478f, 2.71696f},
747  {916.852f, -393.891f, 60.1726f, 2.71695f},
748  {914.568f, -326.21f, 66.1733f, 2.25147f},
749  {913.064f, -395.773f, 60.1364f, 4.41568f},
750  {909.246f, -474.576f, 58.2067f, 0.226893f},
751  {909.246f, -474.576f, 58.2901f, 0.226893f},
752  {907.209f, -428.267f, 59.8065f, 1.8675f},
753  {905.973f, -459.528f, 58.7594f, 1.37189f},
754  {905.067f, -396.074f, 60.2085f, 5.07891f},
755  {901.809f, -457.709f, 59.0116f, 3.52557f},
756  {900.962f, -427.44f, 59.0842f, 1.50098f},
757  {897.929f, -471.742f, 59.7729f, 2.54818f},
758  {893.376f, -343.171f, 68.1499f, 5.35816f},
759  {890.584f, -406.049f, 61.1925f, 5.67232f},
760  {888.208f, -332.564f, 68.148f, 1.93732f},
761  {887.647f, -391.537f, 61.8734f, 1.37881f},
762  {885.109f, -343.338f, 67.0867f, 3.78979f},
763  {881.618f, -419.948f, 53.5228f, 0.593412f},
764  {878.675f, -345.36f, 66.1052f, 3.45651f},
765  {877.127f, -351.8f, 66.5296f, 5.74213f},
766  {876.778f, -345.97f, 65.7724f, 3.45262f},
767  {874.577f, -414.786f, 52.7817f, 1.67552f},
768  {868.247f, -343.136f, 64.9894f, 1.6057f},
769  {859.03f, -367.231f, 47.4655f, 0.0174533f},
770  {857.513f, -351.817f, 65.1867f, 4.39823f},
771  {852.632f, -372.416f, 48.1657f, 3.66519f},
772  {849.86f, -340.944f, 66.2447f, 0.401426f},
773  {847.99f, -386.287f, 60.9277f, 2.32374f},
774  {847.601f, -423.072f, 50.0852f, 4.57276f},
775  {847.135f, -411.307f, 50.2106f, 1.5708f},
776  {835.077f, -379.418f, 48.2755f, 5.93412f},
777  {834.87f, -453.304f, 47.9075f, 0.226893f},
778  {834.634f, -365.981f, 62.8801f, 1.32645f},
779  {834.354f, -355.526f, 48.1491f, 6.07375f},
780  {833.702f, -327.506f, 65.0439f, 0.331613f},
781  {833.151f, -374.228f, 63.0938f, 3.66519f},
782  {831.711f, -346.785f, 47.2975f, 0.226893f},
783  {827.874f, -413.624f, 48.5818f, 1.49241f},
784  {827.728f, -415.483f, 48.5593f, 1.49238f},
785  {827.016f, -424.543f, 48.2856f, 1.49236f},
786  {823.222f, -334.283f, 65.6306f, 4.88692f},
787  {821.892f, -464.723f, 48.9451f, 4.66003f},
788  {821.006f, -387.635f, 49.0728f, 3.15905f},
789  {817.26f, -447.432f, 49.4308f, 2.18166f},
790  {805.399f, -320.146f, 52.7712f, 0.296706f},
791  {801.405f, -328.055f, 53.0195f, 4.31096f},
792  //irondeep skullthumber irondeep shaman
793  {955.812f, -440.302f, 55.3411f, 3.19395f},
794  {937.378f, -377.816f, 65.3919f, 3.56047f},
795  {925.059f, -331.347f, 65.7564f, 3.66519f},
796  {922.918f, -396.634f, 60.3942f, 2.71695f},
797  {909.99f, -462.154f, 59.0811f, 3.7001f},
798  {907.893f, -388.787f, 61.7923f, 5.74213f},
799  {898.801f, -437.105f, 58.5266f, 0.959931f},
800  {884.237f, -407.597f, 61.566f, 0.820305f},
801  {880.744f, -344.683f, 66.4086f, 3.4644f},
802  {876.047f, -341.857f, 65.8743f, 4.45059f},
803  {874.674f, -402.077f, 61.7573f, 0.26341f},
804  {871.914f, -404.209f, 62.1269f, 6.06163f},
805  {871.606f, -403.665f, 62.0795f, 0.765774f},
806  {871.561f, -404.114f, 62.1297f, 0.00981727f},
807  {871.528f, -404.248f, 62.1455f, 0.498032f},
808  {871.493f, -404.122f, 62.1331f, 5.65727f},
809  {871.282f, -403.843f, 62.1108f, 0.788382f},
810  {868.294f, -392.395f, 61.4772f, 4.38685f},
811  {868.256f, -392.363f, 61.4803f, 0.732738f},
812  {867.804f, -392.51f, 61.5089f, 2.30167f},
813  {867.612f, -392.371f, 61.524f, 2.86149f},
814  {858.593f, -439.614f, 50.2184f, 0.872665f},
815  {851.471f, -362.52f, 47.314f, 4.06662f},
816  {846.939f, -347.279f, 66.2876f, 0.942478f},
817  {842.08f, -421.775f, 48.2659f, 1.0821f},
818  {838.358f, -371.212f, 63.3299f, 4.04916f},
819  {827.57f, -417.483f, 48.4538f, 1.49237f},
820  {827.012f, -457.397f, 48.9331f, 2.35619f},
821  {825.535f, -322.373f, 63.9357f, 4.76475f},
822  {867.635f, -443.605f, 51.3347f, 1.38626f},
823  {957.293f, -455.039f, 56.7395f, 5.79449f},
824  {950.077f, -326.672f, 61.6552f, 5.48033f},
825  {936.692f, -356.78f, 65.9835f, 2.75762f},
826  {926.475f, -419.345f, 56.1833f, 2.0944f},
827  {924.729f, -397.453f, 60.213f, 2.71695f},
828  {902.195f, -475.891f, 58.312f, 1.39626f},
829  {897.464f, -338.758f, 68.1715f, 2.94961f},
830  {884.237f, -407.597f, 61.566f, 0.820305f},
831  {882.517f, -344.111f, 66.7887f, 3.46962f},
832  {881.437f, -400.254f, 61.2028f, 0.263427f},
833  {880.156f, -400.678f, 61.3113f, 3.41373f},
834  {877.989f, -418.051f, 52.9753f, 4.46804f},
835  {871.212f, -404.12f, 62.1433f, 3.6554f},
836  {871.036f, -404.119f, 62.2237f, 4.50295f},
837  {857.396f, -395.766f, 61.263f, 4.78684f},
838  {857.276f, -395.395f, 61.2418f, 0.0845553f},
839  {857.231f, -394.577f, 61.2174f, 1.96817f},
840  {857.108f, -395.682f, 61.2317f, 4.87022f},
841  {856.709f, -395.28f, 61.1814f, 2.54913f},
842  {850.922f, -390.399f, 60.8771f, 2.85405f},
843  {847.556f, -388.228f, 60.9438f, 2.56872f},
844  {842.031f, -384.663f, 61.6028f, 2.56871f},
845  {832.035f, -389.301f, 47.5567f, 2.11185f},
846  {827.415f, -419.468f, 48.3322f, 1.49232f},
847  {826.402f, -349.454f, 47.2722f, 1.51844f},
848  {817.83f, -455.715f, 48.4207f, 0.925025f},
849  {808.953f, -325.964f, 52.4043f, 3.01942f},
850  // Morloch
851  {865.554f, -438.735f, 50.7333f, 2.12431f},
852  //coldtooth mine
853  //miner/digger
854  {-917.648f, -46.8922f, 77.0872f, 5.27089f},
855  {-912.689f, -45.4494f, 76.2277f, 4.60767f},
856  {-905.455f, -84.5179f, 75.3642f, 3.29867f},
857  {-904.332f, -111.509f, 75.5925f, 2.47837f},
858  {-904.27f, -160.419f, 61.9876f, 3.61192f},
859  {-904.023f, -90.4558f, 75.3706f, 3.40339f},
860  {-978.678f, -37.3136f, 75.8364f, 2.84489f},
861  {-973.076f, -36.5013f, 77.5047f, 1.0821f},
862  {-963.951f, -87.734f, 81.5555f, 0.575959f},
863  {-961.941f, -90.7252f, 81.6629f, 0.820305f},
864  {-957.623f, -186.582f, 66.6021f, 1.95477f},
865  {-952.476f, -179.778f, 78.6771f, 4.5204f},
866  {-950.427f, -115.007f, 79.6127f, 3.68264f},
867  {-950.25f, -151.95f, 79.4598f, -1.81423f},
868  {-950.169f, -188.099f, 66.6184f, 5.55015f},
869  {-949.944f, -142.977f, 80.5382f, 2.70526f},
870  {-947.854f, -170.5f, 79.7618f, 0.942478f},
871  {-946.738f, -139.567f, 80.0904f, 2.3911f},
872  {-945.503f, -65.0654f, 79.7907f, 5.02655f},
873  {-943.678f, -110.986f, 80.2557f, 0.959931f},
874  {-942.993f, -56.9881f, 79.8915f, 5.65487f},
875  {-938.197f, -155.838f, 61.3111f, 1.65806f},
876  {-930.488f, -214.524f, 72.1431f, 2.1236f},
877  {-929.947f, -154.449f, 61.5084f, 1.67552f},
878  {-927.412f, -135.313f, 61.1987f, 3.29867f},
879  {-920.677f, -156.859f, 62.8033f, 3.15306f},
880  {-916.75f, -136.094f, 62.2357f, 0.0698132f},
881  {-915.319f, -132.718f, 62.562f, 1.16984f},
882  {-913.589f, -146.794f, 76.9366f, 1.8675f},
883  {-907.572f, -148.937f, 76.6898f, 4.76475f},
884  {-902.02f, -64.6174f, 73.9707f, 1.19169f},
885  {-899.489f, -61.7252f, 73.2498f, 5.09636f},
886  {-894.792f, -127.141f, 75.3834f, 6.14356f},
887  {-892.408f, -162.525f, 64.1212f, 2.69884f},
888  {-892.326f, -123.158f, 76.0318f, 5.5676f},
889  {-888.468f, -148.462f, 61.8012f, 1.65806f},
890  {-883.268f, -159.738f, 63.5311f, 5.20108f},
891  {-877.76f, -118.07f, 65.215f, 2.94961f},
892  {-876.792f, -128.646f, 64.1045f, 3.40339f},
893  {-874.901f, -36.6579f, 69.4246f, 2.00713f},
894  {-874.856f, -151.351f, 62.7537f, 3.57875f},
895  {-872.135f, -150.08f, 62.7513f, 3.57201f},
896  {-870.288f, -149.217f, 62.5413f, 3.56624f},
897  {-870.03f, -6.27443f, 70.3867f, 2.3911f},
898  {-869.023f, -82.2118f, 69.5848f, 3.22886f},
899  {-866.354f, -40.2455f, 70.842f, 0.0698132f},
900  {-865.305f, -152.302f, 63.5044f, 4.86947f},
901  {-861.926f, -79.0519f, 71.4178f, 0.20944f},
902  {-857.292f, -152.277f, 63.2114f, 4.18879f},
903  {-853.357f, -0.696194f, 72.0655f, 0.994838f},
904  {-850.685f, -14.2596f, 70.2298f, 0.20944f},
905  {-839.987f, -67.7695f, 72.7916f, 4.93928f},
906  {-839.199f, -57.0558f, 73.4891f, 1.67552f},
907  {-836.963f, -153.224f, 63.3821f, 4.46804f},
908  {-832.721f, -67.7555f, 72.9062f, 4.99164f},
909  {-821.496f, -143.095f, 63.1292f, 0.541052f},
910  {-818.829f, -153.004f, 62.1757f, 6.12611f},
911  //special
912  {-954.622f, -110.958f, 80.7911f, 6.24828f},
913  {-951.477f, -53.9647f, 80.0235f, 5.32325f},
914  {-946.812f, -126.04f, 78.8601f, 5.15265f},
915  {-940.689f, -140.707f, 79.9225f, 2.79253f},
916  {-933.954f, -159.632f, 60.778f, 2.56563f},
917  {-922.537f, -130.291f, 61.3756f, 4.95674f},
918  {-915.862f, -151.74f, 76.9427f, 0.942478f},
919  {-888.321f, -159.831f, 62.5303f, 1.20428f},
920  {-874.361f, -42.4751f, 69.4316f, 0.785398f},
921  {-873.19f, -50.4899f, 70.0568f, -2.41288f},
922  {-868.511f, -148.386f, 62.3547f, 3.57875f},
923  {-868.44f, -121.649f, 64.5056f, 3.33358f},
924  {-868.324f, -77.7196f, 71.4768f, 5.41052f},
925  {-859.846f, -19.6549f, 70.7304f, 1.97222f},
926  {-828.05f, -150.508f, 62.2019f, 2.14675f},
927  {-826.254f, -58.6911f, 72.0041f, 3.68264f},
928  {-976.086f, -44.1775f, 76.029f, 1.46608f},
929  {-971.864f, -87.4223f, 81.4954f, 5.8294f},
930  {-966.551f, -74.1111f, 80.0243f, 4.2129f},
931  {-958.509f, -173.652f, 77.9013f, 6.24828f},
932  {-951.511f, -181.242f, 65.529f, 4.39823f},
933  {-940.967f, -186.243f, 77.698f, 1.28164f},
934  {-930.004f, -65.0898f, 79.077f, 0.0581657f},
935  {-920.864f, -40.2009f, 78.256f, 5.16617f},
936  {-919.089f, -148.021f, 62.0317f, 2.59327f},
937  {-901.516f, -116.329f, 75.6876f, 0.471239f},
938  {-897.864f, -84.4348f, 74.083f, 3.00197f},
939  {-897.617f, -52.0457f, 71.9503f, 4.36332f},
940  {-894.891f, -153.951f, 61.6827f, 3.23569f},
941  {-893.933f, -111.625f, 75.6591f, 4.22536f},
942  {-883.265f, -152.854f, 61.8384f, 0.0941087f},
943  {-868.293f, -147.243f, 62.1097f, 3.2056f},
944  {-867.501f, -11.8709f, 70.018f, 6.14356f},
945  {-866.699f, -147.54f, 62.1646f, 3.57878f},
946  {-866.566f, -91.1916f, 67.4414f, 4.56707f},
947  {-857.272f, -141.142f, 61.7356f, 4.17134f},
948  {-847.446f, -98.0061f, 68.5131f, 3.24631f},
949  {-837.026f, -140.729f, 62.5141f, 5.51524f},
950  {-824.204f, -65.053f, 72.3381f, 3.01942f},
951  //vermin (s.th special for this mine)
952  {-951.955f, -197.5f, 77.212f, 5.63741f},
953  {-944.837f, -199.608f, 77.0737f, 4.97419f},
954  {-933.494f, -209.063f, 73.7803f, 5.88176f},
955  {-929.666f, -201.308f, 73.7032f, 5.02655f},
956  {-978.997f, -249.356f, 65.4345f, 5.05464f},
957  {-974.565f, -224.828f, 69.5858f, 4.88846f},
958  {-946.514f, -259.239f, 66.0874f, 3.78132f},
959  {-918.402f, -250.439f, 69.5271f, 2.21352f},
960  {-910.14f, -229.959f, 72.9279f, 0.27677f},
961  {-851.563f, -88.6527f, 68.5983f, 3.61896f},
962  //boss
963  {-848.902f, -92.931f, 68.6325f, 3.33350f},
964  //herald
965  {-48.459f, -288.802f, 55.47f, 1.0f},
966  //triggers
967  {637.083f, -32.6603f, 45.9715f, 1.14353f}, //firstaid_station
968  {669.007f, -294.078f, 30.2909f, 2.77507f}, //stormpike_grave
969  {77.8013f, -404.7f, 46.7549f, -0.872665f}, //stoneheart_grave
970  {-202.581f, -112.73f, 78.4876f, -0.715585f}, //snowfall_grave
971  {-611.962f, -396.17f, 60.8351f, 2.53682f}, //iceblood_grave
972  {-1082.45f, -346.823f, 54.9219f, -1.53589f}, //frostwolf_grave
973  {-1402.21f, -307.431f, 89.4424f, 0.191986f}, //frostwolf_hut
974  {553.779f, -78.6566f, 51.9378f, -1.22173f}, //dunbaldar_south
975  {674.001f, -143.125f, 63.6615f, 0.994838f}, //dunbaldar_north
976  {203.281f, -360.366f, 56.3869f, -0.925024f}, //icewing_bunker
977  {-152.437f, -441.758f, 40.3982f, -1.95477f}, //stoneheart_bunker
978  {-571.88f, -262.777f, 75.0087f, -0.802851f}, //iceblood_tower
979  {-768.907f, -363.71f, 90.8949f, 1.07991f}, //tower_point
980  {-1302.9f, -316.981f, 113.867f, 2.00713f}, //frostwolf_etower
981  {-1297.5f, -266.767f, 114.15f, 3.31044f}, //frostwolf_wtower
982  {-57.7891f, -286.597f, 15.6479f, 6.02139f}, //AV_NPC_A_CAPTAIN balinda
983  {722.43f, -10.9982f, 50.7046f, 3.42085f}, //AV_NPC_A_BOSS vanndar
984  {-545.23f, -165.35f, 57.7886f, 3.01145f}, //AV_NPC_H_CAPTAIN galvangar
985  {-1370.9f, -219.793f, 98.4258f, 5.04381f} //AV_NPC_H_BOSS drek thar
986 };
987 
989 {
990  AV_NPC_A_TOWERDEFENSE = 0, // stormpike bowman
991  AV_NPC_A_GRAVEDEFENSE0 = 1, // stormpike Defender
992  AV_NPC_A_GRAVEDEFENSE1 = 2, // seasoned defender
993  AV_NPC_A_GRAVEDEFENSE2 = 3, // veteran defender
994  AV_NPC_A_GRAVEDEFENSE3 = 4, // champion defender
995  AV_NPC_A_CAPTAIN = 5, // balinda
996  AV_NPC_A_BOSS = 6, // vanndar
997 
998  AV_NPC_H_TOWERDEFENSE = 7, // frostwolf bowman
999  AV_NPC_H_GRAVEDEFENSE0 = 8, // frostwolf guardian
1000  AV_NPC_H_GRAVEDEFENSE1 = 9, // seasoned guardian
1001  AV_NPC_H_GRAVEDEFENSE2 = 10, // veteran guardian
1002  AV_NPC_H_GRAVEDEFENSE3 = 11, // champion guardian
1003  AV_NPC_H_CAPTAIN = 12, // galvangar
1004  AV_NPC_H_BOSS = 13, // drek thar
1005 
1041 };
1042 
1043 //entry, team, minlevel, maxlevel
1046 {
1047  12050, // Stormpike Defender
1048  13326, // Seasoned Defender
1049  13331, // Veteran Defender
1050  13422, // Champion Defender
1051  13358, // Stormpike Bowman /// @todo: Confirm if this is correct. Author assumpted 60, 61 & 69, 70, but wouldn't work here
1052  11949, // not spawned with this data, but used for handlekillunit
1053  11948, // not spawned with this data, but used for handlekillunit
1054  12053, // Frostwolf Guardian
1055  13328, // Seasoned Guardian
1056  13332, // Veteran Guardian
1057  13421, // Champion Guardian
1058  13359, // Frostwolf Bowman
1059  11947, // not spawned with this data, but used for handlekillunit
1060  11946, // not spawned with this data, but used for handlekillunit
1061  14763, // Dun Baldar South Marshal
1062  14762, // Dun Baldar North Marshal
1063  14764, // Icewing Marshal
1064  14765, // Stonehearth Marshal
1065 
1066  14773, // Iceblood Warmaster
1067  14776, // Tower Point Warmaster
1068  14772, // East Frostwolf Warmaster
1069  14777, // West Frostwolf Warmaster
1070 
1071  10987, // Irondeep Trogg
1072  11600, // Irondeep Shaman
1073  11602, // Irondeep Skullthumper
1074  11657, // Morloch
1075 
1076  13396, // irondeep alliance /// @todo: Correct and give correct ids
1077  13080,
1078  13098,
1079  13078,
1080 
1081  13397, // irondeep horde
1082  13099,
1083  13081,
1084  13079,
1085 
1086  11603, // south mine neutral
1087  11604,
1088  11605,
1089  11677,
1090  10982, // vermin
1091 
1092  13317, // alliance
1093  13096, // explorer
1094  13087, // invader
1095  13086,
1096 
1097  13316, // horde
1098  13097, // surveypr
1099  13089, // guard
1100  13088,
1101  14848 // Herald
1102 };
1103 
1104 //x, y, z, o, static_creature_info-id
1106 {
1107  //static creatures
1108  {-1235.31f, -340.777f, 60.5088f, 3.31613f, 0 }, //2225 - Zora Guthrek
1109  {-1244.02f, -323.795f, 61.0485f, 5.21853f, 1 }, //3343 - Grelkor
1110  {-1235.16f, -332.302f, 60.2985f, 2.96706f, 2 }, //3625 - Rarck
1111  {587.303f, -42.8257f, 37.5615f, 5.23599f, 3 }, //4255 - Brogus Thunderbrew
1112  {643.635f, -58.3987f, 41.7405f, 4.72984f, 4 }, //4257 - Lana Thunderbrew
1113  {591.464f, -44.452f, 37.6166f, 5.65487f, 5 }, //5134 - Jonivera Farmountain
1114  {608.515f, -33.3935f, 42.0003f, 5.41052f, 6 }, //5135 - Svalbrad Farmountain
1115  {617.656f, -32.0701f, 42.7168f, 4.06662f, 7 }, //5139 - Kurdrum Barleybeard
1116  {-1183.76f, -268.295f, 72.8233f, 3.28122f, 8 }, //10364 - Yaelika Farclaw
1117  {-1187.86f, -275.31f, 73.0481f, 3.63028f, 9 }, //10367 - Shrye Ragefist
1118  {-1008.42f, -368.006f, 55.3426f, 5.95647f, 10 }, //10981 - Frostwolf
1119  {-1091.92f, -424.28f, 53.0139f, 2.93958f, 10 }, //10981 - Frostwolf
1120  {-558.455f, -198.768f, 58.1755f, 4.97946f, 10 }, //10981 - Frostwolf
1121  {-861.247f, -312.51f, 55.1427f, 3.35382f, 10 }, //10981 - Frostwolf
1122  {-1003.81f, -395.913f, 50.4736f, 2.85631f, 10 }, //10981 - Frostwolf
1123  {-904.5f, -289.815f, 65.1222f, 5.7847f, 10 }, //10981 - Frostwolf
1124  {-1064.41f, -438.839f, 51.3614f, 1.88857f, 10 }, //10981 - Frostwolf
1125  {258.814f, 76.2017f, 18.6468f, 6.19052f, 11 }, //10986 - Snowblind Harpy
1126  {265.838f, -315.846f, -16.5429f, 3.15917f, 11 }, //10986 - Snowblind Harpy
1127  {426.485f, -51.1927f, -5.66286f, 1.60347f, 11 }, //10986 - Snowblind Harpy
1128  {452.044f, -33.9594f, -0.044651f, 2.72815f, 11 }, //10986 - Snowblind Harpy
1129  {266.032f, -315.639f, -16.5429f, 4.67962f, 11 }, //10986 - Snowblind Harpy
1130  {532.64f, -54.5863f, 20.7024f, 2.93215f, 11 }, //10986 - Snowblind Harpy
1131  {295.183f, -299.908f, -34.6123f, 0.135851f, 12 }, //10990 - Alterac Ram
1132  {421.08f, -225.006f, -23.73f, 0.166754f, 12 }, //10990 - Alterac Ram
1133  {-55.7766f, -192.498f, 20.4352f, 6.12221f, 12 }, //10990 - Alterac Ram
1134  {527.887f, -477.223f, 62.3559f, 0.170935f, 12 }, //10990 - Alterac Ram
1135  {389.144f, -346.508f, -30.334f, 4.14117f, 12 }, //10990 - Alterac Ram
1136  {108.121f, -322.248f, 37.5655f, 4.46788f, 12 }, //10990 - Alterac Ram
1137  {507.479f, -67.9403f, 10.3571f, 3.26304f, 12 }, //10990 - Alterac Ram
1138  {329.071f, -185.016f, -29.1542f, 0.356943f, 12 }, //10990 - Alterac Ram
1139  {252.449f, -422.313f, 35.1404f, 4.53771f, 12 }, //10990 - Alterac Ram
1140  {358.882f, -118.061f, -24.9119f, 2.29257f, 12 }, //10990 - Alterac Ram
1141  {487.151f, -174.229f, 14.7558f, 4.73192f, 12 }, //10990 - Alterac Ram
1142  {449.652f, -123.561f, 6.14273f, 6.12029f, 12 }, //10990 - Alterac Ram
1143  {272.419f, -261.802f, -41.8835f, 3.66559f, 12 }, //10990 - Alterac Ram
1144  {359.021f, -210.954f, -29.3483f, 4.31339f, 12 }, //10990 - Alterac Ram
1145  {450.598f, -318.048f, -37.7548f, 0.655219f, 12 }, //10990 - Alterac Ram
1146  {509.333f, -218.2f, 3.05439f, 3.66292f, 12 }, //10990 - Alterac Ram
1147  {485.771f, -223.613f, -1.53f, 2.04862f, 12 }, //10990 - Alterac Ram
1148  {486.636f, -452.172f, 39.6592f, 2.3341f, 12 }, //10990 - Alterac Ram
1149  {702.783f, -257.494f, 25.9777f, 1.68329f, 12 }, //10990 - Alterac Ram
1150  {460.942f, -199.263f, -6.0149f, 0.380506f, 12 }, //10990 - Alterac Ram
1151  {483.108f, -115.307f, 10.1056f, 3.69701f, 12 }, //10990 - Alterac Ram
1152  {471.601f, -154.174f, 14.0702f, 5.5807f, 12 }, //10990 - Alterac Ram
1153  {213.938f, -420.793f, 41.2549f, 5.71394f, 12 }, //10990 - Alterac Ram
1154  {289.387f, -294.685f, -33.9073f, 0.555494f, 12 }, //10990 - Alterac Ram
1155  {155.649f, -402.891f, 43.3915f, 5.94838f, 12 }, //10990 - Alterac Ram
1156  {517.184f, -295.105f, -9.78195f, 6.05668f, 12 }, //10990 - Alterac Ram
1157  {102.334f, -332.165f, 38.9812f, 3.31445f, 12 }, //10990 - Alterac Ram
1158  {320.244f, -107.793f, -42.6357f, -1.00311f, 12 }, //10990 - Alterac Ram
1159  {217.976f, 110.774f, 15.7603f, 4.56793f, 13 }, //11675 - Snowblind Windcaller
1160  {269.872f, 6.66684f, 20.7592f, 0.381212f, 13 }, //11675 - Snowblind Windcaller
1161  {313.528f, -319.041f, -27.2373f, 0.554098f, 13 }, //11675 - Snowblind Windcaller
1162  {435.441f, -39.9289f, -0.169651f, 0.549454f, 13 }, //11675 - Snowblind Windcaller
1163  {315.115f, -317.62f, -29.1123f, 0.90111f, 13 }, //11675 - Snowblind Windcaller
1164  {428.091f, -122.731f, 3.40332f, 6.05901f, 14 }, //11678 - Snowblind Ambusher
1165  {235.05f, 85.5705f, 18.3079f, -0.914255f, 14 }, //11678 - Snowblind Ambusher
1166  {-1553.04f, -344.342f, 64.4163f, 6.09933f, 15 }, //11839 - Wildpaw Brute
1167  {-545.23f, -165.35f, 57.7886f, 3.01145f, 16 }, //11947 - Captain Galvangar
1168  {722.43f, -10.9982f, 50.7046f, 3.42085f, 17 }, //11948 - Vanndar Stormpike
1169  {-57.7891f, -286.597f, 15.6479f, 6.02139f, 18 }, //11949 - Captain Balinda Stonehearth
1170  {930.498f, -520.755f, 93.7334f, 1.8326f, 19 }, //11997 - Stormpike Herald
1171  {-776.092f, -345.161f, 67.4092f, 1.89257f, 20 }, //12051 - Frostwolf Legionnaire
1172  {-1224.63f, -308.144f, 65.0087f, 4.01139f, 20 }, //12051 - Frostwolf Legionnaire
1173  {-713.039f, -442.515f, 82.8638f, 0.68724f, 20 }, //12051 - Frostwolf Legionnaire
1174  {-711.783f, -444.061f, 82.7039f, 0.683494f, 20 }, //12051 - Frostwolf Legionnaire
1175  {587.633f, -45.9816f, 37.5438f, 5.81195f, 21 }, //12096 - Stormpike Quartermaster
1176  {-1293.79f, -194.407f, 72.4398f, 5.84685f, 22 }, //12097 - Frostwolf Quartermaster
1177  {446.163f, -377.119f, -1.12725f, 0.209526f, 23 }, //12127 - Stormpike Guardsman
1178  {549.348f, -399.254f, 53.3537f, 3.24729f, 23 }, //12127 - Stormpike Guardsman
1179  {549.801f, -401.217f, 53.8305f, 3.24729f, 23 }, //12127 - Stormpike Guardsman
1180  {192.704f, -406.874f, 42.9183f, 6.10696f, 23 }, //12127 - Stormpike Guardsman
1181  {441.305f, -435.765f, 28.2385f, 2.14472f, 23 }, //12127 - Stormpike Guardsman
1182  {192.982f, -404.891f, 43.0132f, 6.1061f, 23 }, //12127 - Stormpike Guardsman
1183  {355.342f, -391.989f, -0.486707f, 3.00643f, 23 }, //12127 - Stormpike Guardsman
1184  {446.035f, -375.104f, -1.12725f, 0.21033f, 23 }, //12127 - Stormpike Guardsman
1185  {697.864f, -433.238f, 62.7914f, 1.65776f, 23 }, //12127 - Stormpike Guardsman
1186  {610.74f, -331.585f, 30.8021f, 5.14253f, 23 }, //12127 - Stormpike Guardsman
1187  {609.815f, -329.775f, 30.9271f, -2.38829f, 23 }, //12127 - Stormpike Guardsman
1188  {695.874f, -433.434f, 62.8543f, 1.65776f, 23 }, //12127 - Stormpike Guardsman
1189  {443.337f, -435.283f, 28.6842f, 2.13768f, 23 }, //12127 - Stormpike Guardsman
1190  {-1251.5f, -316.327f, 62.6565f, 5.02655f, 24 }, //13176 - Smith Regzar
1191  {-1332.0f, -331.243f, 91.2631f, 1.50098f, 25 }, //13179 - Wing Commander Guse
1192  {569.983f, -94.9992f, 38.0325f, 1.39626f, 26 }, //13216 - Gaelden Hammersmith
1193  {-1244.92f, -308.916f, 63.2525f, 1.62316f, 27 }, //13218 - Grunnda Wolfheart
1194  {-1319.56f, -342.675f, 60.3404f, 1.20428f, 28 }, //13236 - Primalist Thurloga
1195  {647.61f, -61.1548f, 41.7405f, 4.24115f, 29 }, //13257 - Murgot Deepforge
1196  {-1321.64f, -343.73f, 60.4833f, 1.01229f, 30 }, //13284 - Frostwolf Shaman
1197  {-1317.61f, -342.853f, 60.3726f, 2.47837f, 30 }, //13284 - Frostwolf Shaman
1198  {-1319.31f, -344.475f, 60.3825f, 1.72788f, 30 }, //13284 - Frostwolf Shaman
1199  {569.963f, -42.0218f, 37.7581f, 4.27606f, 31 }, //13438 - Wing Commander Slidore
1200  {729.2f, -78.812f, 51.6335f, 3.97935f, 32 }, //13442 - Arch Druid Renferal
1201  {729.118f, -82.8713f, 51.6335f, 2.53073f, 33 }, //13443 - Druid of the Grove
1202  {725.554f, -79.4973f, 51.6335f, 5.27089f, 33 }, //13443 - Druid of the Grove
1203  {724.768f, -84.1642f, 51.6335f, 0.733038f, 33 }, //13443 - Druid of the Grove
1204  {596.68f, -83.0633f, 39.0051f, 6.24828f, 34 }, //13447 - Corporal Noreg Stormpike
1205  {600.032f, -2.92475f, 42.0788f, 5.00909f, 35 }, //13577 - Stormpike Ram Rider Commander
1206  {610.239f, -21.8454f, 43.272f, 4.90438f, 36 }, //13617 - Stormpike Stable Master
1207  {613.422f, -150.764f, 33.4517f, 5.55015f, 37 }, //13797 - Mountaineer Boombellow
1208  {-1213.91f, -370.619f, 56.4455f, 0.837758f, 38 }, //13798 - Jotek
1209  {704.35f, -22.9071f, 50.2187f, 0.785398f, 39 }, //13816 - Prospector Stonehewer
1210  {-1271.24f, -335.766f, 62.3971f, 5.75959f, 40 }, //14185 - Najak Hexxen
1211  {-1268.64f, -332.688f, 62.6171f, 5.28835f, 41 }, //14186 - Ravak Grimtotem
1212  {648.363f, -65.2233f, 41.7405f, 3.12414f, 42 }, //14187 - Athramanis
1213  {648.238f, -67.8931f, 41.7405f, 2.60054f, 43 }, //14188 - Dirk Swindle
1214  {-1223.44f, -309.833f, 64.9331f, 4.0131f, 44 }, //14282 - Frostwolf Bloodhound
1215  {-1226.4f, -307.136f, 64.9706f, 4.0145f, 44 }, //14282 - Frostwolf Bloodhound
1216  {356.001f, -389.969f, -0.438796f, 3.0334f, 45 }, //14283 - Stormpike Owl
1217  {355.835f, -394.005f, -0.60149f, 3.02498f, 45 }, //14283 - Stormpike Owl
1218  {882.266f, -496.378f, 96.7707f, 4.83248f, 45 }, //14283 - Stormpike Owl
1219  {878.649f, -495.917f, 96.6171f, 4.67693f, 45 }, //14283 - Stormpike Owl
1220  {932.851f, -511.017f, 93.6748f, 3.61004f, 45 }, //14283 - Stormpike Owl
1221  {935.806f, -513.983f, 93.7436f, 3.61788f, 45 }, //14283 - Stormpike Owl
1222  {947.412f, -509.982f, 95.1098f, 2.82743f, 46 }, //14284 - Stormpike Battleguard
1223  {934.557f, -512.395f, 93.662f, 3.61004f, 46 }, //14284 - Stormpike Battleguard
1224  {939.42f, -502.777f, 94.5887f, 5.14872f, 46 }, //14284 - Stormpike Battleguard
1225  {854.276f, -494.241f, 96.8017f, 5.44543f, 46 }, //14284 - Stormpike Battleguard
1226  {776.621f, -487.775f, 99.4049f, 3.50811f, 46 }, //14284 - Stormpike Battleguard
1227  {880.169f, -495.699f, 96.6204f, 4.8325f, 46 }, //14284 - Stormpike Battleguard
1228  {773.651f, -497.482f, 99.0408f, 2.11185f, 46 }, //14284 - Stormpike Battleguard
1229  {949.1f, -506.913f, 95.4237f, 3.31613f, 46 }, //14284 - Stormpike Battleguard
1230  {-1370.9f, -219.793f, 98.4258f, 5.04381f, 47}, //drek thar
1231 };
1232 
1234 {
1235  2225, // Zora Guthrek
1236  3343, // Grelkor
1237  3625, // Rarck
1238  4255, // Brogus Thunderbrew
1239  4257, // Lana Thunderbrew
1240  5134, // Jonivera Farmountain
1241  5135, // Svalbrad Farmountain
1242  5139, // Kurdrum Barleybeard
1243  10364, // Yaelika Farclaw
1244  10367, // Shrye Ragefist
1245  10981, // Frostwolf
1246  10986, // Snowblind Harpy
1247  10990, // Alterac Ram
1248  11675, // Snowblind Windcaller
1249  11678, // Snowblind Ambusher
1250  11839, // Wildpaw Brute
1251  11947, // Captain Galvangar
1252  11948, // Vanndar Stormpike
1253  11949, // Captain Balinda Stonehearth
1254  11997, // Stormpike Herald
1255  12051, // Frostwolf Legionnaire
1256  12096, // Stormpike Quartermaster
1257  12097, // Frostwolf Quartermaster
1258  12127, // Stormpike Guardsman
1259  13176, // Smith Regzar
1260  13179, // Wing Commander Guse
1261  13216, // Gaelden Hammersmith
1262  13218, // Grunnda Wolfheart
1263  13236, // Primalist Thurloga
1264  13257, // Murgot Deepforge
1265  13284, // Frostwolf Shaman
1266  13438, // Wing Commander Slidore
1267  13442, // Arch Druid Renferal
1268  13443, // Druid of the Grove
1269  13447, // Corporal Noreg Stormpike
1270  13577, // Stormpike Ram Rider Commander
1271  13617, // Stormpike Stable Master
1272  13797, // Mountaineer Boombellow
1273  13798, // Jotek
1274  13816, // Prospector Stonehewer
1275  14185, // Najak Hexxen
1276  14186, // Ravak Grimtotem
1277  14187, // Athramanis
1278  14188, // Dirk Swindle
1279  14282, // Frostwolf Bloodhound
1280  14283, // Stormpike Owl
1281  14284, // Stormpike Battleguard
1282  11946, // Drek'Thar
1283  11948, // Vanndar Stormpike
1284  11947, // Captain Galvangar
1285  11949, // Captain Balinda Stonehearth
1286 };
1287 
1289 {
1299 };
1300 
1302 {
1312 };
1313 
1315 {
1316  AV_BUFF_ARMOR = 21163,
1317  AV_BUFF_A_CAPTAIN = 23693, //the buff which the alliance captain does
1318  AV_BUFF_H_CAPTAIN = 22751 //the buff which the horde captain does
1319 };
1321 {
1326 };
1327 
1329 {
1334 
1335 /*
1336  //the comments behind the state shows which icon overlaps the other.. but is, until now, unused and maybe not a good solution (but give few performance (:)
1337 
1338 // Graves
1339 
1340  // Alliance
1341  //Stormpike first aid station
1342  AV_AID_A_C = 1325,
1343  AV_AID_A_A = 1326,
1344  AV_AID_H_C = 1327,
1345  AV_AID_H_A = 1328,
1346  //Stormpike Graveyard
1347  AV_PIKEGRAVE_A_C = 1333,
1348  AV_PIKEGRAVE_A_A = 1335,
1349  AV_PIKEGRAVE_H_C = 1334,
1350  AV_PIKEGRAVE_H_A = 1336,
1351  //Stoneheart Grave
1352  AV_STONEHEART_A_C = 1302,
1353  AV_STONEHEART_A_A = 1304, //over hc
1354  AV_STONEHEART_H_C = 1301, //over ac
1355  AV_STONEHEART_H_A = 1303, //over aa
1356  //Neutral
1357  //Snowfall Grave
1358 */
1359  AV_SNOWFALL_N = 1966 //over aa
1360 /*
1361  AV_SNOWFALL_A_C = 1341, //over hc
1362  AV_SNOWFALL_A_A = 1343, //over ha
1363  AV_SNOWFALL_H_C = 1342,
1364  AV_SNOWFALL_H_A = 1344, //over ac
1365  //Horde
1366  //Iceblood grave
1367  AV_ICEBLOOD_A_C = 1346, //over hc
1368  AV_ICEBLOOD_A_A = 1348, //over ac
1369  AV_ICEBLOOD_H_C = 1347,
1370  AV_ICEBLOOD_H_A = 1349, //over aa
1371  //Frostwolf Grave
1372  AV_FROSTWOLF_A_C = 1337, //over hc
1373  AV_FROSTWOLF_A_A = 1339, //over ac
1374  AV_FROSTWOLF_H_C = 1338,
1375  AV_FROSTWOLF_H_A = 1340, //over aa
1376  //Frostwolf Hut
1377  AV_FROSTWOLFHUT_A_C = 1329, //over hc
1378  AV_FROSTWOLFHUT_A_A = 1331, //over ha
1379  AV_FROSTWOLFHUT_H_C = 1330,
1380  AV_FROSTWOLFHUT_H_A = 1332, //over ac
1381 
1382 //Towers
1383  //Alliance
1384  //Dunbaldar South Bunker
1385  AV_DUNS_CONTROLLED = 1361,
1386  AV_DUNS_DESTROYED = 1370,
1387  AV_DUNS_ASSAULTED = 1378,
1388  //Dunbaldar North Bunker
1389  AV_DUNN_CONTROLLED = 1362,
1390  AV_DUNN_DESTROYED = 1371,
1391  AV_DUNN_ASSAULTED = 1379,
1392  //Icewing Bunker
1393  AV_ICEWING_CONTROLLED = 1363,
1394  AV_ICEWING_DESTROYED = 1372,
1395  AV_ICEWING_ASSAULTED = 1380,
1396  //Stoneheart Bunker
1397  AV_STONEH_CONTROLLED = 1364,
1398  AV_STONEH_DESTROYED = 1373,
1399  AV_STONEH_ASSAULTED = 1381,
1400  //Horde
1401  //Iceblood Tower
1402  AV_ICEBLOOD_CONTROLLED = 1385,
1403  AV_ICEBLOOD_DESTROYED = 1368,
1404  AV_ICEBLOOD_ASSAULTED = 1390,
1405  //Tower Point
1406  AV_TOWERPOINT_CONTROLLED = 1384,
1407  AV_TOWERPOINT_DESTROYED = 1367, //goes over controlled
1408  AV_TOWERPOINT_ASSAULTED = 1389, //goes over destroyed
1409  //Frostwolf West
1410  AV_FROSTWOLFW_CONTROLLED = 1382,
1411  AV_FROSTWOLFW_DESTROYED = 1365, //over controlled
1412  AV_FROSTWOLFW_ASSAULTED = 1387, //over destroyed
1413  //Frostwolf East
1414  AV_FROSTWOLFE_CONTROLLED = 1383,
1415  AV_FROSTWOLFE_DESTROYED = 1366,
1416  AV_FROSTWOLFE_ASSAULTED = 1388,
1417 
1418 //mines
1419 
1420  AV_N_MINE_N = 1360,
1421  AV_N_MINE_A = 1358,
1422  AV_N_MINE_H = 1359,
1423 
1424  AV_S_MINE_N = 1357,
1425  AV_S_MINE_A = 1355,
1426  AV_S_MINE_H = 1356,
1427 
1428 //towers assaulted by own team (unused)
1429  AV_STONEH_UNUSED = 1377,
1430  AV_ICEWING_UNUSED = 1376,
1431  AV_DUNS_UNUSED = 1375,
1432  AV_DUNN_UNUSED = 1374,
1433 
1434  AV_ICEBLOOD_UNUSED = 1395,
1435  AV_TOWERPOINT_UNUSED = 1394,
1436  AV_FROSTWOLFE_UNUSED = 1393,
1437  AV_FROSTWOLFW_UNUSED = 1392
1438 */
1439 };
1440 
1441 //alliance_control neutral_control horde_control
1443 {
1444  {1358, 1360, 1359},
1445  {1355, 1357, 1356}
1446 };
1447 
1449 {
1454  AV_QUEST_A_COMMANDER1 = 6942, //soldier
1456  AV_QUEST_A_COMMANDER2 = 6941, //leutnant
1458  AV_QUEST_A_COMMANDER3 = 6943, //commander
1460  AV_QUEST_A_BOSS1 = 7386, // 5 cristal/blood
1462  AV_QUEST_A_BOSS2 = 6881, // 1
1464  AV_QUEST_A_NEAR_MINE = 5892, //the mine near start location of team
1466  AV_QUEST_A_OTHER_MINE = 6982, //the other mine ;)
1472 };
1473 
1475 {
1480 };
1481 
1483 {
1485 
1486  struct
1487  {
1492  } TextIds;
1493 
1494  struct
1495  {
1500  } WorldStateIds;
1501 };
1502 
1504 {
1505  { BG_AV_NODES_FIRSTAID_STATION, { 47, 48, 45, 46 }, { 1325, 1326, 1327, 1328 } }, // Stormpike First Aid Station
1506  { BG_AV_NODES_STORMPIKE_GRAVE, { 1, 2, 3, 4 }, { 1333, 1335, 1334, 1336 } }, // Stormpike Graveyard
1507  { BG_AV_NODES_STONEHEART_GRAVE, { 55, 56, 53, 54 }, { 1302, 1304, 1301, 1303 } }, // Stoneheart Graveyard
1508  { BG_AV_NODES_SNOWFALL_GRAVE, { 5, 6, 7, 8 }, { 1341, 1343, 1342, 1344 } }, // Snowfall Graveyard
1509  { BG_AV_NODES_ICEBLOOD_GRAVE, { 59, 60, 57, 58 }, { 1346, 1348, 1347, 1349 } }, // Iceblood Graveyard
1510  { BG_AV_NODES_FROSTWOLF_GRAVE, { 9, 10, 11, 12 }, { 1337, 1339, 1338, 1340 } }, // Frostwolf Graveyard
1511  { BG_AV_NODES_FROSTWOLF_HUT, { 51, 52, 49, 50 }, { 1329, 1331, 1330, 1332 } }, // Frostwolf Hut
1512  { BG_AV_NODES_DUNBALDAR_SOUTH, { 16, 15, 14, 13 }, { 1361, 1375, 1370, 1378 } }, // Dunbaldar South Bunker
1513  { BG_AV_NODES_DUNBALDAR_NORTH, { 20, 19, 18, 17 }, { 1362, 1374, 1371, 1379 } }, // Dunbaldar North Bunker
1514  { BG_AV_NODES_ICEWING_BUNKER, { 24, 23, 22, 21 }, { 1363, 1376, 1372, 1380 } }, // Icewing Bunker
1515  { BG_AV_NODES_STONEHEART_BUNKER, { 28, 27, 26, 25 }, { 1364, 1377, 1373, 1381 } }, // Stoneheart Bunker
1516  { BG_AV_NODES_ICEBLOOD_TOWER, { 44, 43, 42, 41 }, { 1368, 1390, 1385, 1395 } }, // Iceblood Tower
1517  { BG_AV_NODES_TOWER_POINT, { 40, 39, 38, 37 }, { 1367, 1389, 1384, 1394 } }, // Tower Point
1518  { BG_AV_NODES_FROSTWOLF_ETOWER, { 36, 35, 34, 33 }, { 1366, 1388, 1383, 1393 } }, // Frostwolf East Tower
1519  { BG_AV_NODES_FROSTWOLF_WTOWER, { 32, 31, 30, 29 }, { 1365, 1387, 1382, 1392 } }, // Frostwolf West Tower
1520 };
1521 
1522 enum Texts
1523 {
1524  // Herold
1525  // Towers/Graveyards = 1 - 60
1532  TEXT_ALLIANCE_WINS = 67, // NYI /// @todo: sound is missing
1533  TEXT_HORDE_WINS = 68, // NYI /// @todo: sound is missing
1534 
1535  // Taskmaster Snivvle
1537 };
1538 
1540 {
1547  bool Tower;
1548 };
1549 
1550 inline BG_AV_Nodes &operator++(BG_AV_Nodes& i) { return i = BG_AV_Nodes(i + 1); }
1551 
1553 {
1554  friend class BattlegroundAV;
1555 
1556  protected:
1558 
1559  void UpdateScore(uint32 type, uint32 value) override
1560  {
1561  switch (type)
1562  {
1565  break;
1568  break;
1571  break;
1572  case SCORE_TOWERS_DEFENDED:
1573  TowersDefended += value;
1574  break;
1575  case SCORE_MINES_CAPTURED:
1576  MinesCaptured += value;
1577  break;
1578  default:
1579  BattlegroundScore::UpdateScore(type, value);
1580  break;
1581  }
1582  }
1583 
1584  void BuildObjectivesBlock(std::vector<int32>& stats) override
1585  {
1586  stats.push_back(GraveyardsAssaulted);
1587  stats.push_back(GraveyardsDefended);
1588  stats.push_back(TowersAssaulted);
1589  stats.push_back(TowersDefended);
1590  stats.push_back(MinesCaptured);
1591  }
1592 
1593  uint32 GetAttr1() const final override { return GraveyardsAssaulted; }
1594  uint32 GetAttr2() const final override { return GraveyardsDefended; }
1595  uint32 GetAttr3() const final override { return TowersAssaulted; }
1596  uint32 GetAttr4() const final override { return TowersDefended; }
1597  uint32 GetAttr5() const final override { return MinesCaptured; }
1598 
1604 };
1605 
1607 {
1608  public:
1609  BattlegroundAV();
1610  ~BattlegroundAV();
1611 
1612  /* inherited from BattlegroundClass */
1613  void AddPlayer(Player* player) override;
1614  void StartingEventCloseDoors() override;
1615  void StartingEventOpenDoors() override;
1616 
1617  void RemovePlayer(Player* player, ObjectGuid guid, uint32 team) override;
1618  void HandleAreaTrigger(Player* player, uint32 trigger, bool entered) override;
1619  bool SetupBattleground() override;
1620  void ResetBGSubclass() override;
1621 
1622  /*general stuff*/
1623  void UpdateScore(uint16 team, int16 points);
1624  bool UpdatePlayerScore(Player* player, uint32 type, uint32 value, bool doAddHonor = true) override;
1625 
1626  /*handlestuff*/ //these are functions which get called from extern
1627  void EventPlayerClickedOnFlag(Player* source, GameObject* target_obj) override;
1628  void HandleKillPlayer(Player* player, Player* killer) override;
1629  void HandleKillUnit(Creature* unit, Player* killer) override;
1630  void HandleQuestComplete(uint32 questid, Player* player) override;
1631  bool CanActivateGO(int32 GOId, uint32 team) const override;
1632 
1633  void EndBattleground(uint32 winner) override;
1634 
1635  WorldSafeLocsEntry const* GetClosestGraveYard(Player* player) override;
1636 
1637  // Achievement: Av perfection and Everything counts
1638  bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const* source, Unit const* target = nullptr, uint32 miscvalue1 = 0) override;
1639 
1640  uint32 GetPrematureWinner() override;
1641 
1642  private:
1643  void PostUpdateImpl(uint32 diff) override;
1644 
1645  /* Nodes occupying */
1646  void EventPlayerAssaultsPoint(Player* player, uint32 object);
1647  void EventPlayerDefendsPoint(Player* player, uint32 object);
1649 
1650  void AssaultNode(BG_AV_Nodes node, uint16 team);
1651  void DestroyNode(BG_AV_Nodes node);
1652  void InitNode(BG_AV_Nodes node, uint16 team, bool tower);
1653  void DefendNode(BG_AV_Nodes node, uint16 team);
1654 
1655  void PopulateNode(BG_AV_Nodes node);
1656  void DePopulateNode(BG_AV_Nodes node);
1657 
1659  {
1660  for (uint8 i = 0; i < BG_AV_NODES_MAX; ++i)
1661  if (BGAVNodeInfo[i].NodeId == node)
1662  return &BGAVNodeInfo[i];
1663  return nullptr;
1664  }
1665 
1668  bool IsTower(BG_AV_Nodes node) { return m_Nodes[node].Tower; }
1669 
1670  /*mine*/
1671  void ChangeMineOwner(uint8 mine, uint32 team, bool initial=false);
1672 
1673  /*worldstates*/
1675  void SendMineWorldStates(uint32 mine);
1676  void UpdateNodeWorldState(BG_AV_Nodes node);
1677 
1678  /*general */
1679  Creature* AddAVCreature(uint16 cinfoid, uint16 type);
1680 
1681  /*variables */
1683  uint32 m_Team_QuestStatus[2][9]; //[x][y] x=team y=questcounter
1684 
1686 
1688  uint32 m_Mine_PrevOwner[2]; //only for worldstates needed
1689  int32 m_Mine_Timer; //ticks for both teams
1693 
1695 };
1696 
1697 #endif
~BattlegroundAV()
Definition: BattlegroundAV.cpp:59
Definition: BattlegroundAV.h:227
Definition: BattlegroundAV.h:1294
Definition: BattlegroundAV.h:1291
Definition: BattlegroundAV.h:246
Definition: BattlegroundAV.h:302
Definition: BattlegroundAV.h:994
Definition: BattlegroundAV.h:1323
BG_AV_Nodes
Definition: BattlegroundAV.h:160
Definition: BattlegroundAV.h:1359
Definition: BattlegroundAV.h:569
Definition: BattlegroundAV.h:1013
Definition: BattlegroundAV.h:355
Definition: BattlegroundAV.h:1004
Definition: BattlegroundAV.h:554
Definition: BattlegroundAV.h:1036
Definition: BattlegroundAV.h:344
Definition: BattlegroundAV.h:338
Definition: BattlegroundAV.h:333
Definition: BattlegroundAV.h:1453
Definition: BattlegroundAV.h:1531
Definition: BattlegroundAV.h:185
Definition: BattlegroundAV.h:200
void PostUpdateImpl(uint32 diff) override
Post-update hook.
Definition: BattlegroundAV.cpp:351
Definition: BattlegroundAV.h:274
bool UpdatePlayerScore(Player *player, uint32 type, uint32 value, bool doAddHonor=true) override
Definition: BattlegroundAV.cpp:528
Definition: BattlegroundAV.h:995
Definition: BattlegroundAV.h:170
Definition: BattlegroundAV.h:328
Definition: BattlegroundAV.h:326
Definition: BattlegroundAV.h:215
Definition: BattlegroundAV.h:612
Definition: BattlegroundAV.h:1297
Definition: BattlegroundAV.h:296
Definition: BattlegroundAV.h:236
void PopulateNode(BG_AV_Nodes node)
Definition: BattlegroundAV.cpp:705
Definition: BattlegroundAV.h:1298
Definition: BattlegroundAV.h:239
Definition: BattlegroundAV.h:1471
void HandleQuestComplete(uint32 questid, Player *player) override
Definition: BattlegroundAV.cpp:147
Definition: BattlegroundAV.h:1530
uint32 m_Mine_Reclaim_Timer[2]
Definition: BattlegroundAV.h:1690
Definition: BattlegroundAV.h:558
Definition: BattlegroundAV.h:1454
Definition: BattlegroundAV.h:609
WorldSafeLocsEntry const * GetClosestGraveYard(Player *player) override
Definition: BattlegroundAV.cpp:1097
Definition: BattlegroundAV.h:111
Definition: BattlegroundAV.h:594
void ResetBGSubclass() override
Definition: BattlegroundAV.cpp:1467
BG_AV_Sounds
Definition: BattlegroundAV.h:58
Definition: BattlegroundAV.h:121
uint32 TowersDefended
Definition: BattlegroundAV.h:1602
BG_AV_OBJECTS
Definition: BattlegroundAV.h:314
Definition: BattlegroundAV.h:256
Definition: BattlegroundAV.h:1006
Definition: BattlegroundAV.h:147
Definition: BattlegroundAV.h:565
Definition: BattlegroundAV.h:192
Definition: BattlegroundAV.h:332
uint32 m_Mine_PrevOwner[2]
Definition: BattlegroundAV.h:1688
Definition: BattlegroundAV.h:138
Definition: BattlegroundAV.h:298
Definition: BattlegroundAV.h:203
BG_AV_Objectives
Definition: BattlegroundAV.h:1474
Definition: BattlegroundAV.h:321
Definition: BattlegroundAV.h:352
Definition: BattlegroundAV.h:265
uint16 Owner
Definition: BattlegroundAV.h:1545
const float BG_AV_StaticCreaturePos[AV_STATICCPLACE_MAX][5]
Definition: BattlegroundAV.h:1105
Definition: BattlegroundAV.h:287
Definition: BattlegroundAV.h:585
Definition: BattlegroundAV.h:1019
Definition: BattlegroundAV.h:1478
Definition: BattlegroundAV.h:1023
Definition: BattlegroundAV.h:276
Definition: BattlegroundAV.h:243
Definition: BattlegroundAV.h:96
Definition: BattlegroundAV.h:1000
Definition: BattlegroundAV.h:162
Definition: BattlegroundAV.h:625
Definition: BattlegroundAV.h:123
Definition: BattlegroundAV.h:108
Definition: BattlegroundAV.h:329
Definition: BattlegroundAV.h:1536
Definition: BattlegroundAV.h:94
uint32 m_Team_QuestStatus[2][9]
Definition: BattlegroundAV.h:1683
BG_AV_QuestIds
Definition: BattlegroundAV.h:1448
Definition: BattlegroundAV.h:213
Definition: BattlegroundAV.h:163
Definition: BattlegroundAV.h:549
Definition: BattlegroundAV.h:556
virtual void UpdateScore(uint32 type, uint32 value)
Definition: BattlegroundScore.h:65
Definition: BattlegroundAV.h:591
Definition: BattlegroundAV.h:1606
Definition: BattlegroundAV.h:149
Definition: BattlegroundAV.h:998
Definition: BattlegroundAV.h:999
BG_AV_CreatureIds
Definition: BattlegroundAV.h:988
Definition: BattlegroundAV.h:1290
Definition: BattlegroundAV.h:100
void EventPlayerDefendsPoint(Player *player, uint32 object)
Definition: BattlegroundAV.cpp:864
Definition: BattlegroundAV.h:1317
Texts
Definition: BattlegroundAV.h:1522
Definition: BattlegroundAV.h:118
Definition: BattlegroundAV.h:587
Definition: BattlegroundAV.h:1468
Definition: BattlegroundAV.h:270
Definition: BattlegroundAV.h:1532
Definition: BattlegroundAV.h:572
Definition: BattlegroundAV.h:1450
Definition: BattlegroundAV.h:1028
Definition: BattlegroundAV.h:1469
Definition: BattlegroundAV.h:266
Definition: DBCStructure.h:1434
Definition: BattlegroundAV.h:285
Definition: BattlegroundAV.h:555
Definition: BattlegroundAV.h:1458
Definition: BattlegroundAV.h:219
Definition: BattlegroundAV.h:228
Definition: BattlegroundAV.h:1014
Definition: BattlegroundAV.h:262
Definition: BattlegroundAV.h:127
Definition: BattlegroundAV.h:354
Definition: BattlegroundAV.h:1033
Definition: BattlegroundAV.h:1001
Definition: BattlegroundAV.h:619
Definition: BattlegroundAV.h:618
Definition: BattlegroundAV.h:271
Definition: BattlegroundAV.h:1451
Definition: BattlegroundAV.h:210
Definition: BattlegroundAV.h:1022
Definition: BattlegroundAV.h:119
Definition: BattlegroundAV.h:290
Definition: BattlegroundAV.h:557
Definition: BattlegroundAV.h:145
Definition: BattlegroundAV.h:176
Definition: BattlegroundAV.h:142
Definition: BattlegroundAV.h:233
Definition: BattlegroundAV.h:201
Definition: BattlegroundAV.h:190
uint32 GetAttr1() const finaloverride
Definition: BattlegroundAV.h:1593
Definition: BattlegroundAV.h:1040
Definition: BattlegroundAV.h:1552
Position const BG_AV_ObjectPos[AV_OPLACE_MAX]
Definition: BattlegroundAV.h:362
void AssaultNode(BG_AV_Nodes node, uint16 team)
Definition: BattlegroundAV.cpp:1402
Definition: Creature.h:467
uint32 HordeAssault
Definition: BattlegroundAV.h:1499
void EventPlayerDestroyedPoint(BG_AV_Nodes node)
Definition: BattlegroundAV.cpp:553
Definition: BattlegroundAV.h:578
Definition: BattlegroundAV.h:214
Definition: BattlegroundAV.h:1035
Definition: BattlegroundAV.h:624
Definition: BattlegroundAV.h:353
Definition: BattlegroundAV.h:101
Definition: BattlegroundScore.h:46
void DestroyNode(BG_AV_Nodes node)
Definition: BattlegroundAV.cpp:1432
Definition: BattlegroundAV.h:284
Definition: BattlegroundAV.h:272
void AddPlayer(Player *player) override
Definition: BattlegroundAV.cpp:435
Definition: BattlegroundAV.h:607
Definition: BattlegroundAV.h:622
Definition: BattlegroundAV.h:1322
SharedActions
Definition: BattlegroundAV.h:53
uint32 GetPrematureWinner() override
Definition: BattlegroundAV.cpp:1560
Definition: BattlegroundAV.h:1464
Definition: BattlegroundAV.h:992
Definition: BattlegroundAV.h:184
Definition: BattlegroundAV.h:275
Definition: BattlegroundAV.h:571
Definition: BattlegroundAV.h:562
Definition: BattlegroundAV.h:292
Definition: BattlegroundAV.h:575
Definition: BattlegroundAV.h:97
Definition: BattlegroundAV.h:346
Definition: BattlegroundAV.h:281
Definition: BattlegroundAV.h:187
bool m_IsInformedNearVictory[2]
Definition: BattlegroundAV.h:1694
Definition: BattlegroundAV.h:120
Creature * AddAVCreature(uint16 cinfoid, uint16 type)
Definition: BattlegroundAV.cpp:273
Definition: BattlegroundAV.h:1462
Definition: BattlegroundAV.h:322
Definition: BattlegroundAV.h:255
Definition: BattlegroundAV.h:207
Definition: BattlegroundAV.h:546
Definition: BattlegroundAV.h:331
Definition: BattlegroundAV.h:156
Definition: BattlegroundAV.h:559
Definition: BattlegroundAV.h:356
BG_AV_OTHER_VALUES
Definition: BattlegroundAV.h:104
Definition: BattlegroundAV.h:1528
Definition: BattlegroundAV.h:172
Definition: BattlegroundAV.h:1037
Definition: BattlegroundAV.h:1470
Definition: BattlegroundAV.h:130
Definition: BattlegroundAV.h:261
Definition: BattlegroundAV.h:327
Definition: BattlegroundAV.h:229
Definition: BattlegroundAV.h:198
Definition: BattlegroundAV.h:273
void UpdateNodeWorldState(BG_AV_Nodes node)
Definition: BattlegroundAV.cpp:1053
Definition: BattlegroundAV.h:1457
Definition: BattlegroundAV.h:573
Definition: BattlegroundScore.h:44
Definition: BattlegroundAV.h:297
Definition: BattlegroundAV.h:283
Definition: BattlegroundAV.h:183
Definition: BattlegroundAV.h:577
Definition: BattlegroundAV.h:225
Definition: BattlegroundScore.h:54
int32 m_Team_Scores[2]
Definition: BattlegroundAV.h:1682
Definition: BattlegroundAV.h:996
Definition: BattlegroundAV.h:202
Definition: BattlegroundAV.h:1529
uint32 GraveyardsAssaulted
Definition: BattlegroundAV.h:1599
Definition: BattlegroundAV.h:574
Definition: BattlegroundAV.h:136
BG_AV_CreaturePlace
Definition: BattlegroundAV.h:542
Definition: BattlegroundAV.h:606
Definition: BattlegroundAV.h:222
Definition: BattlegroundAV.h:582
Definition: BattlegroundAV.h:209
Definition: BattlegroundAV.h:611
uint32 HordeControl
Definition: BattlegroundAV.h:1498
Definition: BattlegroundAV.h:337
Definition: BattlegroundAV.h:237
Definition: BattlegroundAV.h:545
Definition: BattlegroundAV.h:223
Definition: BattlegroundAV.h:1460
bool SetupBattleground() override
Definition: BattlegroundAV.cpp:1127
Definition: BattlegroundAV.h:330
void UpdateScore(uint16 team, int16 points)
Definition: BattlegroundAV.cpp:250
Definition: BattlegroundAV.h:212
Definition: BattlegroundAV.h:245
Definition: BattlegroundAV.h:605
Definition: BattlegroundAV.h:590
Definition: BattlegroundAV.h:153
Definition: BattlegroundAV.h:1479
uint32 MinesCaptured
Definition: BattlegroundAV.h:1603
void StartingEventCloseDoors() override
Definition: BattlegroundAV.cpp:409
Definition: BattlegroundAV.h:1465
Definition: BattlegroundAV.h:289
Definition: BattlegroundAV.h:552
Definition: BattlegroundAV.h:311
Definition: BattlegroundAV.h:173
Definition: BattlegroundAV.h:1539
Position const BG_AV_DoorPositons[2]
Definition: BattlegroundAV.h:534
Definition: BattlegroundAV.h:547
void DePopulateNode(BG_AV_Nodes node)
Definition: BattlegroundAV.cpp:759
Definition: BattlegroundAV.h:110
Definition: BattlegroundAV.h:551
Definition: BattlegroundAV.h:334
Definition: BattlegroundAV.h:174
Definition: BattlegroundAV.h:195
Definition: BattlegroundAV.h:1526
Definition: BattlegroundAV.h:92
Definition: BattlegroundScore.h:47
Definition: BattlegroundAV.h:345
uint8 AllianceAttack
Definition: BattlegroundAV.h:1489
struct StaticNodeInfo::@212 TextIds
Definition: BattlegroundAV.h:169
bool IsTower(BG_AV_Nodes node)
Definition: BattlegroundAV.h:1668
Definition: BattlegroundAV.h:242
Definition: BattlegroundAV.h:204
Definition: BattlegroundAV.h:98
Definition: BattlegroundAV.h:581
Definition: BattlegroundAV.h:1024
Definition: BattlegroundAV.h:347
int32 m_Mine_Timer
Definition: BattlegroundAV.h:1689
Definition: BattlegroundAV.h:317
Definition: BattlegroundAV.h:139
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates &packet) override
Definition: BattlegroundAV.cpp:1021
Definition: BattlegroundAV.h:323
Definition: BattlegroundAV.h:168
uint16 PrevOwner
Definition: BattlegroundAV.h:1546
bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const *source, Unit const *target=nullptr, uint32 miscvalue1=0) override
Definition: BattlegroundAV.cpp:1497
Definition: BattlegroundAV.h:267
Definition: BattlegroundAV.h:597
Definition: BattlegroundAV.h:1292
Definition: BattlegroundAV.h:208
Definition: BattlegroundAV.h:1467
Definition: BattlegroundAV.h:1012
Definition: BattlegroundAV.h:993
Definition: BattlegroundAV.h:137
Definition: BattlegroundAV.h:171
Definition: BattlegroundAV.h:617
uint32 AllianceControl
Definition: BattlegroundAV.h:1496
Definition: BattlegroundAV.h:251
void StartingEventOpenDoors() override
Definition: BattlegroundAV.cpp:415
Definition: BattlegroundAV.h:325
int32_t int32
Definition: Define.h:146
Definition: BattlegroundAV.h:991
Definition: BattlegroundAV.h:990
uint32_t uint32
Definition: Define.h:150
Definition: BattlegroundAV.h:615
Definition: BattlegroundAV.h:614
Definition: BattlegroundAV.h:294
Definition: BattlegroundAV.h:616
Definition: BattlegroundAV.h:349
Definition: BattlegroundAV.h:1461
Definition: BattlegroundAV.h:224
Definition: BattlegroundAV.h:303
Definition: BattlegroundAV.h:1452
Definition: BattlegroundAV.h:1330
BG_AV_States State
Definition: BattlegroundAV.h:1541
uint16_t uint16
Definition: Define.h:151
Definition: BattlegroundAV.h:250
Definition: BattlegroundAV.h:304
Definition: WorldStatePackets.h:27
Definition: BattlegroundScore.h:45
Definition: BattlegroundAV.h:1456
Definition: BattlegroundAV.h:1331
Definition: BattlegroundAV.h:186
Definition: BattlegroundAV.h:146
const uint32 BG_AV_MineWorldStates[2][3]
Definition: BattlegroundAV.h:1442
Definition: BattlegroundAV.h:279
Definition: BattlegroundAV.h:199
Definition: BattlegroundAV.h:244
Definition: GameObject.h:880
Definition: BattlegroundAV.h:566
Definition: BattlegroundAV.h:1002
BG_AV_ObjectTypes
Definition: BattlegroundAV.h:181
Definition: BattlegroundAV.h:1325
Definition: BattlegroundAV.h:264
Definition: BattlegroundAV.h:164
Definition: BattlegroundAV.h:1318
BG_AV_WorldStates
Definition: BattlegroundAV.h:1328
Definition: BattlegroundAV.h:1016
Definition: BattlegroundAV.h:584
Definition: BattlegroundAV.h:1029
Definition: BattlegroundAV.h:286
Definition: BattlegroundAV.h:596
struct StaticNodeInfo::@213 WorldStateIds
uint32 m_CaptainBuffTimer[2]
Definition: BattlegroundAV.h:1691
uint32 m_Mine_Owner[2]
Definition: BattlegroundAV.h:1687
const uint32 BG_AV_GraveyardIds[9]
Definition: BattlegroundAV.h:1301
Definition: BattlegroundAV.h:593
Definition: BattlegroundAV.h:106
void HandleKillUnit(Creature *unit, Player *killer) override
Definition: BattlegroundAV.cpp:70
Definition: BattlegroundAV.h:1293
Definition: BattlegroundAV.h:613
Definition: BattlegroundAV.h:282
BG_AV_States
Definition: BattlegroundAV.h:1320
Definition: BattlegroundAV.h:278
uint8 HordeCapture
Definition: BattlegroundAV.h:1490
Definition: BattlegroundAV.h:175
Definition: BattlegroundAV.h:157
Definition: BattlegroundAV.h:608
Definition: BattlegroundAV.h:191
BG_AV_BUFF
Definition: BattlegroundAV.h:1314
Definition: BattlegroundAV.h:165
Definition: BattlegroundAV.h:226
BG_AV_Nodes NodeId
Definition: BattlegroundAV.h:1484
void EventPlayerClickedOnFlag(Player *source, GameObject *target_obj) override
Definition: BattlegroundAV.cpp:836
uint8 AllianceCapture
Definition: BattlegroundAV.h:1488
Definition: BattlegroundAV.h:143
Definition: BattlegroundAV.h:1027
Definition: BattlegroundAV.h:263
BattlegroundAV()
Definition: BattlegroundAV.cpp:30
Definition: BattlegroundAV.h:324
Definition: BattlegroundAV.h:1031
uint32 TowersAssaulted
Definition: BattlegroundAV.h:1601
Definition: BattlegroundAV.h:247
Definition: BattlegroundAV.h:1032
void HandleAreaTrigger(Player *player, uint32 trigger, bool entered) override
Definition: BattlegroundAV.cpp:494
Definition: BattlegroundAV.h:1463
Definition: BattlegroundAV.h:1009
Definition: BattlegroundAV.h:548
Definition: BattlegroundAV.h:1018
void EventPlayerAssaultsPoint(Player *player, uint32 object)
Definition: BattlegroundAV.cpp:930
Definition: BattlegroundAV.h:1039
Definition: BattlegroundAV.h:193
void UpdateScore(uint32 type, uint32 value) override
Definition: BattlegroundAV.h:1559
Definition: BattlegroundAV.h:1296
Definition: BattlegroundAV.h:269
Definition: BattlegroundAV.h:1533
Definition: BattlegroundAV.h:55
Definition: BattlegroundAV.h:125
Definition: BattlegroundAV.h:335
Definition: BattlegroundAV.h:249
bool Tower
Definition: BattlegroundAV.h:1547
const uint32 BG_AV_StaticCreatureInfo[51]
Definition: BattlegroundAV.h:1233
BG_AV_Graveyards
Definition: BattlegroundAV.h:1288
Definition: BattlegroundAV.h:627
Definition: BattlegroundAV.h:259
Definition: BattlegroundAV.h:350
Definition: BattlegroundAV.h:359
Definition: BattlegroundAV.h:241
Definition: BattlegroundAV.h:217
Definition: BattlegroundAV.h:1527
Definition: BattlegroundAV.h:268
Definition: BattlegroundAV.h:1011
Definition: BattlegroundAV.h:1020
Definition: BattlegroundAV.h:167
void SendMineWorldStates(uint32 mine)
Definition: BattlegroundAV.cpp:1070
Definition: BattlegroundAV.h:124
void ChangeMineOwner(uint8 mine, uint32 team, bool initial=false)
Definition: BattlegroundAV.cpp:607
Definition: BattlegroundAV.h:308
uint32 AllianceAssault
Definition: BattlegroundAV.h:1497
Definition: BattlegroundAV.h:188
BG_AV_States PrevState
Definition: BattlegroundAV.h:1542
Definition: BattlegroundAV.h:132
void EndBattleground(uint32 winner) override
Definition: BattlegroundAV.cpp:441
Definition: BattlegroundAV.h:166
Definition: BattlegroundAV.h:126
Definition: BattlegroundAV.h:1030
void RemovePlayer(Player *player, ObjectGuid guid, uint32 team) override
Definition: BattlegroundAV.cpp:481
Definition: BattlegroundAV.h:238
Definition: BattlegroundAV.h:277
Definition: BattlegroundAV.h:1477
Definition: BattlegroundAV.h:1021
Definition: BattlegroundAV.h:560
StaticNodeInfo const * GetStaticNodeInfo(BG_AV_Nodes node) const
Definition: BattlegroundAV.h:1658
Definition: BattlegroundAV.h:205
Definition: BattlegroundAV.h:307
Definition: BattlegroundAV.h:1332
void DefendNode(BG_AV_Nodes node, uint16 team)
Definition: BattlegroundAV.cpp:1455
Definition: BattlegroundAV.h:253
Definition: BattlegroundScore.h:43
Definition: BattlegroundAV.h:318
Definition: BattlegroundAV.h:1026
uint8_t uint8
Definition: Define.h:152
Definition: Position.h:27
Definition: BattlegroundAV.h:567
uint32 GetObjectThroughNode(BG_AV_Nodes node)
Definition: BattlegroundAV.cpp:796
uint16 TotalOwner
Definition: BattlegroundAV.h:1544
uint32 GetAttr5() const finaloverride
Definition: BattlegroundAV.h:1597
Definition: BattlegroundAV.h:295
uint8 HordeAttack
Definition: BattlegroundAV.h:1491
uint32 Timer
Definition: BattlegroundAV.h:1543
Definition: BattlegroundAV.h:260
Definition: BattlegroundAV.h:319
Definition: BattlegroundAV.h:602
void InitNode(BG_AV_Nodes node, uint16 team, bool tower)
Definition: BattlegroundAV.cpp:1443
Definition: Battleground.h:235
Definition: BattlegroundAV.h:301
Definition: BattlegroundAV.h:341
Definition: BattlegroundAV.h:1333
Definition: BattlegroundAV.h:231
Definition: BattlegroundAV.h:1015
Definition: BattlegroundAV.h:211
Definition: BattlegroundAV.h:1010
const FieldDescriptor value
Definition: descriptor.h:1522
int16_t int16
Definition: Define.h:147
Definition: BattlegroundAV.h:1295
Definition: BattlegroundAV.h:1007
Definition: BattlegroundAV.h:293
Definition: BattlegroundAV.h:550
Definition: ObjectGuid.h:189
#define const
Definition: zconf.h:217
BG_AV_ObjectIds
Definition: BattlegroundAV.h:113
Definition: BattlegroundAV.h:300
Definition: BattlegroundAV.h:197
Definition: BattlegroundAV.h:1003
Definition: BattlegroundAV.h:154
Definition: BattlegroundAV.h:216
Definition: BattlegroundAV.h:316
Definition: BattlegroundAV.h:599
Definition: BattlegroundAV.h:288
BattlegroundAVScore(ObjectGuid playerGuid, uint32 team)
Definition: BattlegroundAV.h:1557
Definition: BattlegroundAV.h:144
Definition: BattlegroundAV.h:1482
Definition: BattlegroundAV.h:254
Definition: BattlegroundAV.h:351
Definition: BattlegroundAV.h:131
bool m_CaptainAlive[2]
Definition: BattlegroundAV.h:1692
void BuildObjectivesBlock(std::vector< int32 > &stats) override
Definition: BattlegroundAV.h:1584
Definition: BattlegroundAV.h:340
Definition: BattlegroundAV.h:1466
BG_AV_NodeInfo m_Nodes[BG_AV_NODES_MAX]
Definition: BattlegroundAV.h:1685
Definition: BattlegroundAV.h:150
static StaticNodeInfo const BGAVNodeInfo[]
Definition: BattlegroundAV.h:1503
Definition: BattlegroundAV.h:342
void HandleKillPlayer(Player *player, Player *killer) override
Definition: BattlegroundAV.cpp:61
Definition: BattlegroundAV.h:178
Definition: BattlegroundAV.h:107
uint32 GetAttr4() const finaloverride
Definition: BattlegroundAV.h:1596
Definition: BattlegroundAV.h:357
Definition: Unit.h:1305
Definition: BattlegroundAV.h:280
Definition: BattlegroundAV.h:196
Definition: BattlegroundAV.h:343
Definition: BattlegroundAV.h:576
Position const BG_AV_CreaturePos[AV_CPLACE_MAX]
Definition: BattlegroundAV.h:630
Definition: BattlegroundAV.h:610
Definition: BattlegroundAV.h:240
uint32 GetAttr2() const finaloverride
Definition: BattlegroundAV.h:1594
Definition: BattlegroundAV.h:336
Definition: BattlegroundAV.h:189
Definition: BattlegroundAV.h:1038
Definition: BattlegroundAV.h:305
BG_AV_Nodes & operator++(BG_AV_Nodes &i)
Definition: BattlegroundAV.h:1550
Definition: BattlegroundAV.h:306
Definition: BattlegroundAV.h:563
Definition: BattlegroundAV.h:220
Definition: BattlegroundAV.h:109
Definition: BattlegroundAV.h:564
Definition: BattlegroundAV.h:133
uint32 GetAttr3() const finaloverride
Definition: BattlegroundAV.h:1595
Definition: BattlegroundAV.h:568
Definition: BattlegroundAV.h:1034
Definition: BattlegroundAV.h:1476
Definition: BattlegroundAV.h:623
Definition: BattlegroundAV.h:1316
Definition: BattlegroundAV.h:248
Definition: BattlegroundAV.h:320
Definition: BattlegroundAV.h:95
Definition: BattlegroundAV.h:309
Definition: BattlegroundAV.h:252
Definition: BattlegroundAV.h:1008
Definition: BattlegroundAV.h:1017
uint32 GraveyardsDefended
Definition: BattlegroundAV.h:1600
Definition: BattlegroundAV.h:348
Definition: BattlegroundAV.h:544
const uint32 BG_AV_CreatureInfo[AV_NPC_INFO_MAX]
Definition: BattlegroundAV.h:1045
Definition: BattlegroundAV.h:1025
Definition: BattlegroundAV.h:1455
bool CanActivateGO(int32 GOId, uint32 team) const override
Definition: BattlegroundAV.cpp:696
Definition: BattlegroundAV.h:299
Definition: BattlegroundAV.h:221
Definition: BattlegroundAV.h:1324
BG_AV_Nodes GetNodeThroughObject(uint32 object)
Definition: BattlegroundAV.cpp:774
Definition: BattlegroundAV.h:234
Definition: BattlegroundAV.h:1459