259 uint32 pointOwnerTeamId = 0;
262 pointOwnerTeamId =
HORDE;
289 if (player->
GetDistance(2044.0f, 1729.729f, 1190.03f) < 3.0f)
362 if (!isInBattleground)
443 if (!
AddObject(
BG_EY_OBJECT_DOOR_A,
BG_OBJECT_A_DOOR_EY_ENTRY, 2527.6f, 1596.91f, 1262.13f, -3.12414f, -0.173642f, -0.001515f, 0.98477f, -0.008594f,
RESPAWN_IMMEDIATELY)
444 || !
AddObject(
BG_EY_OBJECT_DOOR_H,
BG_OBJECT_H_DOOR_EY_ENTRY, 1803.21f, 1539.49f, 1261.09f, 3.14159f, 0.173648f, 0, 0.984808f, 0,
RESPAWN_IMMEDIATELY)
446 || !
AddObject(
BG_EY_OBJECT_A_BANNER_FEL_REAVER_CENTER,
BG_OBJECT_A_BANNER_EY_ENTRY, 2057.46f, 1735.07f, 1187.91f, -0.925024f, 0, 0, 0.446198f, -0.894934f,
RESPAWN_ONE_DAY)
447 || !
AddObject(
BG_EY_OBJECT_A_BANNER_FEL_REAVER_LEFT,
BG_OBJECT_A_BANNER_EY_ENTRY, 2032.25f, 1729.53f, 1190.33f, 1.8675f, 0, 0, 0.803857f, 0.594823f,
RESPAWN_ONE_DAY)
448 || !
AddObject(
BG_EY_OBJECT_A_BANNER_FEL_REAVER_RIGHT,
BG_OBJECT_A_BANNER_EY_ENTRY, 2092.35f, 1775.46f, 1187.08f, -0.401426f, 0, 0, 0.199368f, -0.979925f,
RESPAWN_ONE_DAY)
449 || !
AddObject(
BG_EY_OBJECT_A_BANNER_BLOOD_ELF_CENTER,
BG_OBJECT_A_BANNER_EY_ENTRY, 2047.19f, 1349.19f, 1189.0f, -1.62316f, 0, 0, 0.725374f, -0.688354f,
RESPAWN_ONE_DAY)
450 || !
AddObject(
BG_EY_OBJECT_A_BANNER_BLOOD_ELF_LEFT,
BG_OBJECT_A_BANNER_EY_ENTRY, 2074.32f, 1385.78f, 1194.72f, 0.488692f, 0, 0, 0.241922f, 0.970296f,
RESPAWN_ONE_DAY)
451 || !
AddObject(
BG_EY_OBJECT_A_BANNER_BLOOD_ELF_RIGHT,
BG_OBJECT_A_BANNER_EY_ENTRY, 2025.13f, 1386.12f, 1192.74f, 2.3911f, 0, 0, 0.930418f, 0.366501f,
RESPAWN_ONE_DAY)
452 || !
AddObject(
BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_CENTER,
BG_OBJECT_A_BANNER_EY_ENTRY, 2276.8f, 1400.41f, 1196.33f, 2.44346f, 0, 0, 0.939693f, 0.34202f,
RESPAWN_ONE_DAY)
453 || !
AddObject(
BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_LEFT,
BG_OBJECT_A_BANNER_EY_ENTRY, 2305.78f, 1404.56f, 1199.38f, 1.74533f, 0, 0, 0.766044f, 0.642788f,
RESPAWN_ONE_DAY)
454 || !
AddObject(
BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_RIGHT,
BG_OBJECT_A_BANNER_EY_ENTRY, 2245.4f, 1366.41f, 1195.28f, 2.21657f, 0, 0, 0.894934f, 0.446198f,
RESPAWN_ONE_DAY)
455 || !
AddObject(
BG_EY_OBJECT_A_BANNER_MAGE_TOWER_CENTER,
BG_OBJECT_A_BANNER_EY_ENTRY, 2270.84f, 1784.08f, 1186.76f, 2.42601f, 0, 0, 0.936672f, 0.350207f,
RESPAWN_ONE_DAY)
456 || !
AddObject(
BG_EY_OBJECT_A_BANNER_MAGE_TOWER_LEFT,
BG_OBJECT_A_BANNER_EY_ENTRY, 2269.13f, 1737.7f, 1186.66f, 0.994838f, 0, 0, 0.477159f, 0.878817f,
RESPAWN_ONE_DAY)
457 || !
AddObject(
BG_EY_OBJECT_A_BANNER_MAGE_TOWER_RIGHT,
BG_OBJECT_A_BANNER_EY_ENTRY, 2300.86f, 1741.25f, 1187.7f, -0.785398f, 0, 0, 0.382683f, -0.92388f,
RESPAWN_ONE_DAY)
459 || !
AddObject(
BG_EY_OBJECT_H_BANNER_FEL_REAVER_CENTER,
BG_OBJECT_H_BANNER_EY_ENTRY, 2057.46f, 1735.07f, 1187.91f, -0.925024f, 0, 0, 0.446198f, -0.894934f,
RESPAWN_ONE_DAY)
460 || !
AddObject(
BG_EY_OBJECT_H_BANNER_FEL_REAVER_LEFT,
BG_OBJECT_H_BANNER_EY_ENTRY, 2032.25f, 1729.53f, 1190.33f, 1.8675f, 0, 0, 0.803857f, 0.594823f,
RESPAWN_ONE_DAY)
461 || !
AddObject(
BG_EY_OBJECT_H_BANNER_FEL_REAVER_RIGHT,
BG_OBJECT_H_BANNER_EY_ENTRY, 2092.35f, 1775.46f, 1187.08f, -0.401426f, 0, 0, 0.199368f, -0.979925f,
RESPAWN_ONE_DAY)
462 || !
AddObject(
BG_EY_OBJECT_H_BANNER_BLOOD_ELF_CENTER,
BG_OBJECT_H_BANNER_EY_ENTRY, 2047.19f, 1349.19f, 1189.0f, -1.62316f, 0, 0, 0.725374f, -0.688354f,
RESPAWN_ONE_DAY)
463 || !
AddObject(
BG_EY_OBJECT_H_BANNER_BLOOD_ELF_LEFT,
BG_OBJECT_H_BANNER_EY_ENTRY, 2074.32f, 1385.78f, 1194.72f, 0.488692f, 0, 0, 0.241922f, 0.970296f,
RESPAWN_ONE_DAY)
464 || !
AddObject(
BG_EY_OBJECT_H_BANNER_BLOOD_ELF_RIGHT,
BG_OBJECT_H_BANNER_EY_ENTRY, 2025.13f, 1386.12f, 1192.74f, 2.3911f, 0, 0, 0.930418f, 0.366501f,
RESPAWN_ONE_DAY)
465 || !
AddObject(
BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_CENTER,
BG_OBJECT_H_BANNER_EY_ENTRY, 2276.8f, 1400.41f, 1196.33f, 2.44346f, 0, 0, 0.939693f, 0.34202f,
RESPAWN_ONE_DAY)
466 || !
AddObject(
BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_LEFT,
BG_OBJECT_H_BANNER_EY_ENTRY, 2305.78f, 1404.56f, 1199.38f, 1.74533f, 0, 0, 0.766044f, 0.642788f,
RESPAWN_ONE_DAY)
467 || !
AddObject(
BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_RIGHT,
BG_OBJECT_H_BANNER_EY_ENTRY, 2245.4f, 1366.41f, 1195.28f, 2.21657f, 0, 0, 0.894934f, 0.446198f,
RESPAWN_ONE_DAY)
468 || !
AddObject(
BG_EY_OBJECT_H_BANNER_MAGE_TOWER_CENTER,
BG_OBJECT_H_BANNER_EY_ENTRY, 2270.84f, 1784.08f, 1186.76f, 2.42601f, 0, 0, 0.936672f, 0.350207f,
RESPAWN_ONE_DAY)
469 || !
AddObject(
BG_EY_OBJECT_H_BANNER_MAGE_TOWER_LEFT,
BG_OBJECT_H_BANNER_EY_ENTRY, 2269.13f, 1737.7f, 1186.66f, 0.994838f, 0, 0, 0.477159f, 0.878817f,
RESPAWN_ONE_DAY)
470 || !
AddObject(
BG_EY_OBJECT_H_BANNER_MAGE_TOWER_RIGHT,
BG_OBJECT_H_BANNER_EY_ENTRY, 2300.86f, 1741.25f, 1187.7f, -0.785398f, 0, 0, 0.382683f, -0.92388f,
RESPAWN_ONE_DAY)
472 || !
AddObject(
BG_EY_OBJECT_N_BANNER_FEL_REAVER_CENTER,
BG_OBJECT_N_BANNER_EY_ENTRY, 2057.46f, 1735.07f, 1187.91f, -0.925024f, 0, 0, 0.446198f, -0.894934f,
RESPAWN_ONE_DAY)
473 || !
AddObject(
BG_EY_OBJECT_N_BANNER_FEL_REAVER_LEFT,
BG_OBJECT_N_BANNER_EY_ENTRY, 2032.25f, 1729.53f, 1190.33f, 1.8675f, 0, 0, 0.803857f, 0.594823f,
RESPAWN_ONE_DAY)
474 || !
AddObject(
BG_EY_OBJECT_N_BANNER_FEL_REAVER_RIGHT,
BG_OBJECT_N_BANNER_EY_ENTRY, 2092.35f, 1775.46f, 1187.08f, -0.401426f, 0, 0, 0.199368f, -0.979925f,
RESPAWN_ONE_DAY)
475 || !
AddObject(
BG_EY_OBJECT_N_BANNER_BLOOD_ELF_CENTER,
BG_OBJECT_N_BANNER_EY_ENTRY, 2047.19f, 1349.19f, 1189.0f, -1.62316f, 0, 0, 0.725374f, -0.688354f,
RESPAWN_ONE_DAY)
476 || !
AddObject(
BG_EY_OBJECT_N_BANNER_BLOOD_ELF_LEFT,
BG_OBJECT_N_BANNER_EY_ENTRY, 2074.32f, 1385.78f, 1194.72f, 0.488692f, 0, 0, 0.241922f, 0.970296f,
RESPAWN_ONE_DAY)
477 || !
AddObject(
BG_EY_OBJECT_N_BANNER_BLOOD_ELF_RIGHT,
BG_OBJECT_N_BANNER_EY_ENTRY, 2025.13f, 1386.12f, 1192.74f, 2.3911f, 0, 0, 0.930418f, 0.366501f,
RESPAWN_ONE_DAY)
478 || !
AddObject(
BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_CENTER,
BG_OBJECT_N_BANNER_EY_ENTRY, 2276.8f, 1400.41f, 1196.33f, 2.44346f, 0, 0, 0.939693f, 0.34202f,
RESPAWN_ONE_DAY)
479 || !
AddObject(
BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_LEFT,
BG_OBJECT_N_BANNER_EY_ENTRY, 2305.78f, 1404.56f, 1199.38f, 1.74533f, 0, 0, 0.766044f, 0.642788f,
RESPAWN_ONE_DAY)
480 || !
AddObject(
BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_RIGHT,
BG_OBJECT_N_BANNER_EY_ENTRY, 2245.4f, 1366.41f, 1195.28f, 2.21657f, 0, 0, 0.894934f, 0.446198f,
RESPAWN_ONE_DAY)
481 || !
AddObject(
BG_EY_OBJECT_N_BANNER_MAGE_TOWER_CENTER,
BG_OBJECT_N_BANNER_EY_ENTRY, 2270.84f, 1784.08f, 1186.76f, 2.42601f, 0, 0, 0.936672f, 0.350207f,
RESPAWN_ONE_DAY)
482 || !
AddObject(
BG_EY_OBJECT_N_BANNER_MAGE_TOWER_LEFT,
BG_OBJECT_N_BANNER_EY_ENTRY, 2269.13f, 1737.7f, 1186.66f, 0.994838f, 0, 0, 0.477159f, 0.878817f,
RESPAWN_ONE_DAY)
483 || !
AddObject(
BG_EY_OBJECT_N_BANNER_MAGE_TOWER_RIGHT,
BG_OBJECT_N_BANNER_EY_ENTRY, 2300.86f, 1741.25f, 1187.7f, -0.785398f, 0, 0, 0.382683f, -0.92388f,
RESPAWN_ONE_DAY)
485 || !
AddObject(
BG_EY_OBJECT_FLAG_NETHERSTORM,
BG_OBJECT_FLAG2_EY_ENTRY, 2174.782227f, 1569.054688f, 1160.361938f, -1.448624f, 0, 0, 0.662620f, -0.748956f,
RESPAWN_ONE_DAY)
486 || !
AddObject(
BG_EY_OBJECT_FLAG_FEL_REAVER,
BG_OBJECT_FLAG1_EY_ENTRY, 2044.28f, 1729.68f, 1189.96f, -0.017453f, 0, 0, 0.008727f, -0.999962f,
RESPAWN_ONE_DAY)
487 || !
AddObject(
BG_EY_OBJECT_FLAG_BLOOD_ELF,
BG_OBJECT_FLAG1_EY_ENTRY, 2048.83f, 1393.65f, 1194.49f, 0.20944f, 0, 0, 0.104528f, 0.994522f,
RESPAWN_ONE_DAY)
488 || !
AddObject(
BG_EY_OBJECT_FLAG_DRAENEI_RUINS,
BG_OBJECT_FLAG1_EY_ENTRY, 2286.56f, 1402.36f, 1197.11f, 3.72381f, 0, 0, 0.957926f, -0.287016f,
RESPAWN_ONE_DAY)
489 || !
AddObject(
BG_EY_OBJECT_FLAG_MAGE_TOWER,
BG_OBJECT_FLAG1_EY_ENTRY, 2284.48f, 1731.23f, 1189.99f, 2.89725f, 0, 0, 0.992546f, 0.121869f,
RESPAWN_ONE_DAY)
491 || !
AddObject(
BG_EY_OBJECT_TOWER_CAP_FEL_REAVER,
BG_OBJECT_FR_TOWER_CAP_EY_ENTRY, 2024.600708f, 1742.819580f, 1195.157715f, 2.443461f, 0, 0, 0.939693f, 0.342020f,
RESPAWN_ONE_DAY)
492 || !
AddObject(
BG_EY_OBJECT_TOWER_CAP_BLOOD_ELF,
BG_OBJECT_BE_TOWER_CAP_EY_ENTRY, 2050.493164f, 1372.235962f, 1194.563477f, 1.710423f, 0, 0, 0.754710f, 0.656059f,
RESPAWN_ONE_DAY)
493 || !
AddObject(
BG_EY_OBJECT_TOWER_CAP_DRAENEI_RUINS,
BG_OBJECT_DR_TOWER_CAP_EY_ENTRY, 2301.010498f, 1386.931641f, 1197.183472f, 1.570796f, 0, 0, 0.707107f, 0.707107f,
RESPAWN_ONE_DAY)
494 || !
AddObject(
BG_EY_OBJECT_TOWER_CAP_MAGE_TOWER,
BG_OBJECT_HU_TOWER_CAP_EY_ENTRY, 2282.121582f, 1760.006958f, 1189.707153f, 1.919862f, 0, 0, 0.819152f, 0.573576f,
RESPAWN_ONE_DAY)
497 TC_LOG_ERROR(
"sql.sql",
"BatteGroundEY: Failed to spawn some objects. The battleground was not created.");
510 if (!
AddObject(
BG_EY_OBJECT_SPEEDBUFF_FEL_REAVER + i * 3,
Buff_Entries[0], at->
Pos.
X, at->
Pos.
Y, at->
Pos.
Z, 0.907571f, 0, 0, 0.438371f, 0.898794f,
RESPAWN_ONE_DAY)
511 || !
AddObject(
BG_EY_OBJECT_SPEEDBUFF_FEL_REAVER + i * 3 + 1,
Buff_Entries[1], at->
Pos.
X, at->
Pos.
Y, at->
Pos.
Z, 0.907571f, 0, 0, 0.438371f, 0.898794f,
RESPAWN_ONE_DAY)
512 || !
AddObject(
BG_EY_OBJECT_SPEEDBUFF_FEL_REAVER + i * 3 + 2,
Buff_Entries[2], at->
Pos.
X, at->
Pos.
Y, at->
Pos.
Z, 0.907571f, 0, 0, 0.438371f, 0.898794f,
RESPAWN_ONE_DAY)
514 TC_LOG_ERROR(
"bg.battleground",
"BattlegroundEY: Could not spawn Speedbuff Fel Reaver.");
520 TC_LOG_ERROR(
"sql.sql",
"BatteGroundEY: Failed to spawn spirit guide. The battleground was not created.");
527 TC_LOG_ERROR(
"sql.sql",
"BatteGroundEY: Failed to spawn spirit guide. The battleground was not created.");
763 TC_LOG_ERROR(
"bg.battleground",
"BatteGroundEY: Failed to spawn spirit guide. point: {}, team: {}, graveyard_id: {}",
881 default:
return nullptr;
884 float distance, nearestDistance;
889 nearestEntry = entry;
893 TC_LOG_ERROR(
"bg.battleground",
"BattlegroundEY: The main team graveyard could not be found. The graveyard system will not be operational!");
901 distance = (entry->
Loc.
X - plr_x)*(entry->
Loc.
X - plr_x) + (entry->
Loc.
Y - plr_y)*(entry->
Loc.
Y - plr_y) + (entry->
Loc.
Z - plr_z)*(entry->
Loc.
Z - plr_z);
902 nearestDistance = distance;
913 distance = (entry->
Loc.
X - plr_x)*(entry->
Loc.
X - plr_x) + (entry->
Loc.
Y - plr_y)*(entry->
Loc.
Y - plr_y) + (entry->
Loc.
Z - plr_z)*(entry->
Loc.
Z - plr_z);
914 if (distance < nearestDistance)
916 nearestDistance = distance;
917 nearestEntry = entry;
uint32 BG_EY_HonorScoreTicks[BG_HONOR_MODE_NUM]
@ BG_EY_FLAG_STATE_ON_PLAYER
@ BG_EY_FLAG_STATE_ON_BASE
@ BG_EY_FLAG_STATE_ON_GROUND
@ BG_EY_FLAG_STATE_WAIT_RESPAWN
@ BG_EY_PROGRESS_BAR_NEUTRAL_HIGH
@ BG_EY_PROGRESS_BAR_NEUTRAL_LOW
@ BG_EY_PROGRESS_BAR_DONT_SHOW
@ BG_EY_PROGRESS_BAR_STATE_MIDDLE
@ BG_EY_PROGRESS_BAR_ALI_CONTROLLED
@ BG_EY_PROGRESS_BAR_HORDE_CONTROLLED
@ BG_EY_POINT_MAX_CAPTURERS_COUNT
@ BG_EY_PROGRESS_BAR_PERCENT_GREY
@ BG_EY_PROGRESS_BAR_SHOW
@ EY_GRAVEYARD_MAIN_ALLIANCE
@ EY_GRAVEYARD_MAIN_HORDE
@ BLOOD_ELF_HORDE_CONTROL
@ NETHERSTORM_FLAG_STATE_ALLIANCE
@ MAGE_TOWER_ALLIANCE_CONTROL
@ FEL_REAVER_ALLIANCE_CONTROL
@ DRAENEI_RUINS_UNCONTROL
@ NETHERSTORM_FLAG_STATE_HORDE
@ DRAENEI_RUINS_ALLIANCE_CONTROL
@ BLOOD_ELF_ALLIANCE_CONTROL
@ DRAENEI_RUINS_HORDE_CONTROL
@ MAGE_TOWER_HORDE_CONTROL
@ PROGRESS_BAR_PERCENT_GREY
@ FEL_REAVER_HORDE_CONTROL
const BattlegroundEYLosingPointStruct m_LosingPointTypes[EY_POINTS_MAX]
@ EY_PLAYERS_OUT_OF_POINTS
#define BG_EY_NotEYWeekendHonorTicks
const uint8 BG_EY_TickPoints[EY_POINTS_MAX]
const BattlegroundEYCapturingPointStruct m_CapturingPointTypes[EY_POINTS_MAX]
@ EY_OBJECTIVE_CAPTURE_FLAG
@ BG_EY_TEXT_ALLIANCE_CAPTURED_FLAG
@ BG_EY_TEXT_FLAG_DROPPED
@ BG_EY_TEXT_HORDE_CAPTURED_FLAG
const uint32 BG_EY_FlagPoints[EY_POINTS_MAX]
@ BG_EY_FPOINTS_TICK_TIME
@ BG_EY_EVENT_START_BATTLE
@ BG_EY_FLAG_RESPAWN_TIME
@ BG_EY_OBJECT_FLAG_BLOOD_ELF
@ BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_LEFT
@ BG_EY_OBJECT_N_BANNER_MAGE_TOWER_RIGHT
@ BG_EY_OBJECT_N_BANNER_MAGE_TOWER_CENTER
@ BG_EY_OBJECT_H_BANNER_FEL_REAVER_RIGHT
@ BG_EY_OBJECT_A_BANNER_MAGE_TOWER_RIGHT
@ BG_EY_OBJECT_TOWER_CAP_BLOOD_ELF
@ BG_EY_OBJECT_TOWER_CAP_FEL_REAVER
@ BG_EY_OBJECT_H_BANNER_BLOOD_ELF_CENTER
@ BG_EY_OBJECT_TOWER_CAP_DRAENEI_RUINS
@ BG_EY_OBJECT_N_BANNER_FEL_REAVER_LEFT
@ BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_CENTER
@ BG_EY_OBJECT_A_BANNER_BLOOD_ELF_RIGHT
@ BG_EY_OBJECT_H_BANNER_MAGE_TOWER_CENTER
@ BG_EY_OBJECT_A_BANNER_BLOOD_ELF_CENTER
@ BG_EY_OBJECT_N_BANNER_FEL_REAVER_CENTER
@ BG_EY_OBJECT_N_BANNER_BLOOD_ELF_RIGHT
@ BG_EY_OBJECT_A_BANNER_FEL_REAVER_RIGHT
@ BG_EY_OBJECT_A_BANNER_MAGE_TOWER_CENTER
@ BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_RIGHT
@ BG_EY_OBJECT_SPEEDBUFF_FEL_REAVER
@ BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_LEFT
@ BG_EY_OBJECT_H_BANNER_MAGE_TOWER_RIGHT
@ BG_EY_OBJECT_FLAG_FEL_REAVER
@ BG_EY_OBJECT_N_BANNER_BLOOD_ELF_CENTER
@ BG_EY_OBJECT_FLAG_MAGE_TOWER
@ BG_EY_OBJECT_H_BANNER_BLOOD_ELF_LEFT
@ BG_EY_OBJECT_A_BANNER_BLOOD_ELF_LEFT
@ BG_EY_OBJECT_N_BANNER_FEL_REAVER_RIGHT
@ BG_EY_OBJECT_A_BANNER_FEL_REAVER_LEFT
@ BG_EY_OBJECT_H_BANNER_MAGE_TOWER_LEFT
@ BG_EY_OBJECT_A_BANNER_MAGE_TOWER_LEFT
@ BG_EY_OBJECT_H_BANNER_FEL_REAVER_LEFT
@ BG_EY_OBJECT_TOWER_CAP_MAGE_TOWER
@ BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_RIGHT
@ BG_EY_OBJECT_H_BANNER_BLOOD_ELF_RIGHT
@ BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_CENTER
@ BG_EY_OBJECT_H_BANNER_FEL_REAVER_CENTER
@ BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_LEFT
@ BG_EY_OBJECT_FLAG_DRAENEI_RUINS
@ BG_EY_OBJECT_FLAG_NETHERSTORM
@ BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_CENTER
@ BG_EY_OBJECT_A_BANNER_FEL_REAVER_CENTER
@ BG_EY_OBJECT_N_BANNER_BLOOD_ELF_LEFT
@ BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_RIGHT
@ BG_EY_OBJECT_N_BANNER_MAGE_TOWER_LEFT
@ BG_OBJECT_HU_TOWER_CAP_EY_ENTRY
@ BG_OBJECT_BE_TOWER_CAP_EY_ENTRY
@ BG_OBJECT_H_BANNER_EY_ENTRY
@ BG_OBJECT_FLAG2_EY_ENTRY
@ BG_OBJECT_FR_TOWER_CAP_EY_ENTRY
@ BG_OBJECT_A_DOOR_EY_ENTRY
@ BG_OBJECT_H_DOOR_EY_ENTRY
@ BG_OBJECT_FLAG1_EY_ENTRY
@ BG_OBJECT_A_BANNER_EY_ENTRY
@ BG_OBJECT_N_BANNER_EY_ENTRY
@ BG_OBJECT_DR_TOWER_CAP_EY_ENTRY
@ EY_SPIRIT_MAIN_ALLIANCE
@ EY_POINT_STATE_UNCONTROLLED
#define BG_EY_EYWeekendHonorTicks
@ BG_EY_SOUND_FLAG_PICKED_UP_ALLIANCE
@ BG_EY_SOUND_FLAG_CAPTURED_HORDE
@ BG_EY_SOUND_FLAG_PICKED_UP_HORDE
@ BG_EY_SOUND_FLAG_CAPTURED_ALLIANCE
@ BG_EY_NETHERSTORM_FLAG_SPELL
@ BG_EY_PLAYER_DROPPED_FLAG_SPELL
const BattlegroundEYPointIconsStruct m_PointsIconStruct[EY_POINTS_MAX]
Position const BG_EY_TriggerPositions[EY_POINTS_MAX]
const uint32 Buff_Entries[3]
@ SPELL_RECENTLY_DROPPED_FLAG
@ SPELL_HONORABLE_DEFENDER_25Y
@ ACHIEVEMENT_TIMED_TYPE_EVENT
@ ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE
DBCStorage< WorldSafeLocsEntry > sWorldSafeLocsStore(WorldSafeLocsEntryfmt)
DBCStorage< AreaTriggerEntry > sAreaTriggerStore(AreaTriggerEntryfmt)
#define TC_LOG_ERROR(filterType__,...)
uint32 urand(uint32 min, uint32 max)
@ CHAT_MSG_BG_SYSTEM_ALLIANCE
@ CHAT_MSG_BG_SYSTEM_HORDE
@ CHAT_MSG_BG_SYSTEM_NEUTRAL
@ FACTION_ALLIANCE_GENERIC
@ AURA_INTERRUPT_FLAG_ENTER_PVP_COMBAT
void SetFlagPicker(ObjectGuid guid)
void EventTeamCapturedPoint(Player *Source, uint32 Point)
uint32 m_FlagCapturedBgObjectType
uint8 m_PointState[EY_POINTS_MAX]
int32 m_PointBarStatus[EY_POINTS_MAX]
WorldSafeLocsEntry const * GetClosestGraveyard(Player *player) override
void AddPoints(uint32 Team, uint32 Points)
void CheckSomeoneJoinedPoint()
ObjectGuid m_DroppedFlagGUID
void HandleKillPlayer(Player *player, Player *killer) override
void UpdatePointsCount(uint32 Team)
void UpdatePointsIcons(uint32 Team, uint32 Point)
bool IsFlagPickedup() const
bool SetupBattleground() override
int32 m_TowerCapCheckTimer
uint8 m_CurrentPointPlayersCount[2 *EY_POINTS_MAX]
void RemovePlayer(Player *player, ObjectGuid guid, uint32 team) override
void StartingEventOpenDoors() override
bool IsAllNodesControlledByTeam(uint32 team) const override
uint32 m_Points_Trigger[EY_POINTS_MAX]
uint32 m_TeamPointsCount[2]
void RespawnFlagAfterDrop()
void CheckSomeoneLeftPoint()
GuidVector m_PlayersNearPoint[EY_POINTS_MAX+1]
void StartingEventCloseDoors() override
ObjectGuid GetFlagPickerGUID(int32=-1) const override
uint32 m_PointOwnedByTeam[EY_POINTS_MAX]
uint32 m_HonorScoreTics[2]
void EventTeamLostPoint(Player *Source, uint32 Point)
bool UpdatePlayerScore(Player *player, uint32 type, uint32 value, bool doAddHonor=true) override
void UpdatePointStatuses()
void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates &packet) override
void EventPlayerClickedOnFlag(Player *Source, GameObject *target_obj) override
void UpdateTeamScore(uint32 Team)
void PostUpdateImpl(uint32 diff) override
Post-update hook.
void HandleAreaTrigger(Player *Source, uint32 Trigger) override
ObjectGuid GetDroppedFlagGUID() const
void AddPlayer(Player *player) override
void RespawnFlag(bool send_message)
uint32 GetPrematureWinner() override
void EndBattleground(uint32 winner) override
void EventPlayerDroppedFlag(Player *Source) override
void SetDroppedFlagGUID(ObjectGuid guid, int32=-1) override
void EventPlayerCapturedFlag(Player *Source, uint32 BgObjectType)
virtual void AddPlayer(Player *player)
BattlegroundTypeId GetTypeID(bool GetRandom=false) const
virtual void EndBattleground(uint32 winner)
virtual Creature * AddCreature(uint32 entry, uint32 type, float x, float y, float z, float o, TeamId teamId=TEAM_NEUTRAL, uint32 respawntime=0, Transport *transport=nullptr)
virtual void HandleKillPlayer(Player *player, Player *killer)
static TeamId GetTeamIndexByTeamId(uint32 Team)
bool DelCreature(uint32 type)
void SpawnBGObject(uint32 type, uint32 respawntime)
virtual bool AddObject(uint32 type, uint32 entry, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime=0, GOState goState=GO_STATE_READY)
Creature * GetBGCreature(uint32 type, bool logError=true)
BattlegroundMap * GetBgMap() const
virtual bool AddSpiritGuide(uint32 type, float x, float y, float z, float o, TeamId teamId=TEAM_NEUTRAL)
int32 m_TeamScores[PVP_TEAMS_COUNT]
bool IsPlayerInBattleground(ObjectGuid guid) const
void SendBroadcastText(uint32 id, ChatMsg msgType, WorldObject const *target=nullptr)
BattlegroundScoreMap PlayerScores
void RewardHonorToTeam(uint32 Honor, uint32 TeamID)
BattlegroundStatus GetStatus() const
virtual bool UpdatePlayerScore(Player *player, uint32 type, uint32 value, bool doAddHonor=true)
virtual void HandleAreaTrigger(Player *, uint32)
uint32 GetTeamScore(uint32 TeamID) const
void StartTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry)
void UpdateWorldState(uint32 variable, uint32 value)
uint32 GetBonusHonorFromKill(uint32 kills) const
void PlaySoundToAll(uint32 soundID)
virtual uint32 GetPrematureWinner()
GameObject * GetGameObject(ObjectGuid const &guid)
LowType GetCounter() const
static ObjectGuid const Empty
static ObjectGuid GetGUID(Object const *o)
void SendUpdateWorldState(uint32 variable, uint32 value) const
void UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1=0, uint32 miscValue2=0, WorldObject *ref=nullptr)
bool CanCaptureTowerPoint() const
void RemoveAurasWithInterruptFlags(uint32 flag, uint32 except=0)
void SetFaction(uint32 faction) override
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
float GetDistance(WorldObject const *obj) const
std::vector< WorldStateInfo > Worldstates
TC_GAME_API Player * FindPlayer(ObjectGuid const &)
std::string ToString(Type &&val, Params &&... params)
void BuildObjectivesBlock(WorldPackets::Battleground::PVPLogData_Player &playerData) override
float GetPositionZ() const
float GetPositionX() const
float GetPositionY() const
std::vector< uint32 > Stats