+19
-8
@@ -78,7 +78,7 @@ public:
|
|||||||
{
|
{
|
||||||
uint32 CurrentSolakarWave = 0;
|
uint32 CurrentSolakarWave = 0;
|
||||||
uint32 SolakarState = NOT_STARTED; // there should be a global instance encounter state, where is it?
|
uint32 SolakarState = NOT_STARTED; // there should be a global instance encounter state, where is it?
|
||||||
std::vector<TempSummon*> SolakarSummons;
|
GuidVector SolakarSummons;
|
||||||
|
|
||||||
instance_blackrock_spireMapScript(InstanceMap* map) : InstanceScript(map)
|
instance_blackrock_spireMapScript(InstanceMap* map) : InstanceScript(map)
|
||||||
{
|
{
|
||||||
@@ -360,11 +360,11 @@ public:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case FAIL:
|
case FAIL:
|
||||||
for (const auto& creature : SolakarSummons)
|
for (ObjectGuid const& guid : SolakarSummons)
|
||||||
{
|
{
|
||||||
if (creature)
|
if (Creature* creature = instance->GetCreature(guid))
|
||||||
{
|
{
|
||||||
creature->RemoveFromWorld();
|
creature->DespawnOrUnsummon();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SolakarSummons.clear();
|
SolakarSummons.clear();
|
||||||
@@ -429,11 +429,19 @@ public:
|
|||||||
{
|
{
|
||||||
if (number < MAX_WAVE_COUNT)
|
if (number < MAX_WAVE_COUNT)
|
||||||
{
|
{
|
||||||
SolakarSummons.push_back(instance->SummonCreature(NPC_ROOKERY_GUARDIAN, SolakarPosLeft));
|
if (Creature* summon = instance->SummonCreature(NPC_ROOKERY_GUARDIAN, SolakarPosLeft))
|
||||||
SolakarSummons.push_back(instance->SummonCreature(NPC_ROOKERY_HATCHER, SolakarPosRight));
|
{
|
||||||
|
SolakarSummons.push_back(summon->GetGUID());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Creature* summon = instance->SummonCreature(NPC_ROOKERY_HATCHER, SolakarPosRight))
|
||||||
|
{
|
||||||
|
SolakarSummons.push_back(summon->GetGUID());
|
||||||
|
}
|
||||||
|
|
||||||
if (number == 0)
|
if (number == 0)
|
||||||
{
|
{
|
||||||
if (Creature* FirstHatcher = SolakarSummons.back()) // works because we spawned a hatcher second
|
if (Creature* FirstHatcher = instance->GetCreature(SolakarSummons.back())) // works because we spawned a hatcher second
|
||||||
{
|
{
|
||||||
FirstHatcher->AI()->Talk(SAY_SOLAKAR_FIRST_HATCHER);
|
FirstHatcher->AI()->Talk(SAY_SOLAKAR_FIRST_HATCHER);
|
||||||
}
|
}
|
||||||
@@ -441,7 +449,10 @@ public:
|
|||||||
}
|
}
|
||||||
else if (number == MAX_WAVE_COUNT)
|
else if (number == MAX_WAVE_COUNT)
|
||||||
{
|
{
|
||||||
SolakarSummons.push_back(instance->SummonCreature(NPC_SOLAKAR, SolakarPosBoss));
|
if (Creature* summon = instance->SummonCreature(NPC_SOLAKAR, SolakarPosBoss))
|
||||||
|
{
|
||||||
|
SolakarSummons.push_back(summon->GetGUID());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user