fix(Scripts/MagistersTerrace): Set up boss boundaries for Kael'Thas (#24472)

This commit is contained in:
Gultask
2026-01-29 10:13:12 -03:00
committed by GitHub
parent 734fec241d
commit 88417d467f
2 changed files with 15 additions and 7 deletions

View File

@@ -89,14 +89,16 @@ struct boss_priestess_delrissa : public BossAI
void InitializeAI() override void InitializeAI() override
{ {
ScriptedAI::InitializeAI(); ScriptedAI::InitializeAI();
std::list<uint32> helpersList;
for (uint8 i = 0; i < MAX_HELPERS_COUNT; ++i) if (instance->GetBossState(DATA_DELRISSA) != DONE)
helpersList.push_back(helpersEntries[i]); {
std::vector<uint32> helpersList(std::begin(helpersEntries), std::end(helpersEntries));
Acore::Containers::RandomResize(helpersList, MAX_ACTIVE_HELPERS); Acore::Containers::RandomResize(helpersList, MAX_ACTIVE_HELPERS);
uint8 j = 0; uint8 j = 0;
for (std::list<uint32>::const_iterator itr = helpersList.begin(); itr != helpersList.end(); ++itr, ++j) for (uint32 entry : helpersList)
me->SummonCreature(*itr, helpersLocations[j], TEMPSUMMON_MANUAL_DESPAWN, 0); me->SummonCreature(entry, helpersLocations[j++], TEMPSUMMON_MANUAL_DESPAWN, 0);
}
} }
void JustSummoned(Creature* summon) override void JustSummoned(Creature* summon) override

View File

@@ -52,6 +52,11 @@ DoorData const doorData[] =
{ 0, 0, DOOR_TYPE_ROOM } // END { 0, 0, DOOR_TYPE_ROOM } // END
}; };
BossBoundaryData const boundaries =
{
{ DATA_KAELTHAS, new RectangleBoundary(118.64f, 178.63f, 125.69f, 210.70f) }
};
Position const KalecgosSpawnPos = { 164.3747f, -397.1197f, 2.151798f, 1.66219f }; Position const KalecgosSpawnPos = { 164.3747f, -397.1197f, 2.151798f, 1.66219f };
class instance_magisters_terrace : public InstanceMapScript class instance_magisters_terrace : public InstanceMapScript
@@ -65,6 +70,7 @@ public:
{ {
SetHeaders(DataHeader); SetHeaders(DataHeader);
SetBossNumber(MAX_ENCOUNTER); SetBossNumber(MAX_ENCOUNTER);
LoadBossBoundaries(boundaries);
SetPersistentDataCount(MAX_PERSISTENT_DATA); SetPersistentDataCount(MAX_PERSISTENT_DATA);
LoadObjectData(creatureData, gameobjectData); LoadObjectData(creatureData, gameobjectData);
LoadDoorData(doorData); LoadDoorData(doorData);