feat(Core/Instances): Implement SummonData (#20582)

This commit is contained in:
Andrew
2024-11-15 10:49:02 -03:00
committed by GitHub
parent c9665aa69b
commit e1d0cf9a15
3 changed files with 36 additions and 16 deletions

View File

@@ -66,8 +66,13 @@ ObjectData const creatureData[] =
{ 0, 0 }
};
ObjectData const objectData[] =
ObjectData const summonData[] =
{
{ NPC_BLADE_OF_AZZINOTH, DATA_ILLIDAN_STORMRAGE },
{ NPC_FLAME_OF_AZZINOTH, DATA_ILLIDAN_STORMRAGE },
{ NPC_PARASITIC_SHADOWFIEND, DATA_ILLIDAN_STORMRAGE },
{ NPC_SHADOWY_CONSTRUCT, DATA_TERON_GOREFIEND },
{ NPC_ENSLAVED_SOUL, DATA_RELIQUARY_OF_SOULS },
{ 0, 0 }
};
@@ -99,7 +104,8 @@ public:
SetBossNumber(MAX_ENCOUNTERS);
LoadDoorData(doorData);
LoadBossBoundaries(boundaries);
LoadObjectData(creatureData, objectData);
LoadObjectData(creatureData, nullptr);
LoadSummonData(summonData);
ashtongueGUIDs.clear();
}
@@ -108,20 +114,6 @@ public:
{
switch (creature->GetEntry())
{
case NPC_SHADOWY_CONSTRUCT:
if (Creature* teron = GetCreature(DATA_TERON_GOREFIEND))
teron->AI()->JustSummoned(creature);
break;
case NPC_ENSLAVED_SOUL:
if (Creature* reliquary = GetCreature(DATA_RELIQUARY_OF_SOULS))
reliquary->AI()->JustSummoned(creature);
break;
case NPC_PARASITIC_SHADOWFIEND:
case NPC_BLADE_OF_AZZINOTH:
case NPC_FLAME_OF_AZZINOTH:
if (Creature* illidan = GetCreature(DATA_ILLIDAN_STORMRAGE))
illidan->AI()->JustSummoned(creature);
break;
case NPC_ANGERED_SOUL_FRAGMENT:
case NPC_HUNGERING_SOUL_FRAGMENT:
case NPC_SUFFERING_SOUL_FRAGMENT: