fix(Core/BattlegroundAV): spawn generic gameobjects in Alterac Valley (#18764)

* fix(Scripts/PVP): correctly spawn generic gameobjects in Alterac Valley

I've been "collecting" these in the DB for a while, now it's time to move
these spawns to the AV script and actually spawn them.

* add 2 additional generic gameobjects
This commit is contained in:
sudlud
2024-05-15 20:41:59 +02:00
committed by GitHub
parent ef6db03e13
commit e2029c3633
3 changed files with 121 additions and 1 deletions

View File

@@ -1349,6 +1349,26 @@ bool BattlegroundAV::SetupBattleground()
return false;
}
// Generic gameobjects
for (uint16 i = 0; i <= (BG_AV_OBJECT_GENERIC_MAX - BG_AV_OBJECT_GENERIC_MIN); i++)
{
if (!AddObject(BG_AV_OBJECT_GENERIC_MIN + i,
std::get<0>(BG_AV_GenericObjectPos[i]),
std::get<1>(BG_AV_GenericObjectPos[i]).GetPositionX(),
std::get<1>(BG_AV_GenericObjectPos[i]).GetPositionY(),
std::get<1>(BG_AV_GenericObjectPos[i]).GetPositionZ(),
std::get<1>(BG_AV_GenericObjectPos[i]).GetOrientation(),
std::get<2>(BG_AV_GenericObjectPos[i])[0],
std::get<2>(BG_AV_GenericObjectPos[i])[1],
std::get<2>(BG_AV_GenericObjectPos[i])[2],
std::get<2>(BG_AV_GenericObjectPos[i])[3],
RESPAWN_ONE_DAY))
{
LOG_ERROR("bg.battleground", "BatteGroundAV: Failed to spawn some object Battleground not created!10.{}", i);
return false;
}
}
// Quest banners
if (!AddObject(BG_AV_OBJECT_FROSTWOLF_BANNER, BG_AV_OBJECTID_FROSTWOLF_BANNER, BG_AV_ObjectPos[AV_OPLACE_FROSTWOLF_BANNER][0], BG_AV_ObjectPos[AV_OPLACE_FROSTWOLF_BANNER][1], BG_AV_ObjectPos[AV_OPLACE_FROSTWOLF_BANNER][2], BG_AV_ObjectPos[AV_OPLACE_FROSTWOLF_BANNER][3], 0, 0, std::sin(BG_AV_ObjectPos[AV_OPLACE_FROSTWOLF_BANNER][3] / 2), cos(BG_AV_ObjectPos[AV_OPLACE_FROSTWOLF_BANNER][3] / 2), RESPAWN_ONE_DAY))
{
@@ -1404,6 +1424,10 @@ bool BattlegroundAV::SetupBattleground()
for (i = BG_AV_OBJECT_HANDPACKED_SNOWDRIFT_MIN ; i <= BG_AV_OBJECT_HANDPACKED_SNOWDRIFT_MAX; i++)
SpawnBGObject(i, RESPAWN_IMMEDIATELY);
// Generic gameobjects
for (uint16 i = BG_AV_OBJECT_GENERIC_MIN; i <= BG_AV_OBJECT_GENERIC_MAX; i++)
SpawnBGObject(i, RESPAWN_IMMEDIATELY);
// Quest banners
SpawnBGObject(BG_AV_OBJECT_FROSTWOLF_BANNER, RESPAWN_IMMEDIATELY);
SpawnBGObject(BG_AV_OBJECT_STORMPIKE_BANNER, RESPAWN_IMMEDIATELY);