Gundrak: Fix for Eck the Ferocious spawning
--HG-- branch : trunk
This commit is contained in:
@@ -140,8 +140,8 @@ struct npc_ruins_dwellerAI : public ScriptedAI
|
|||||||
{
|
{
|
||||||
if(pInstance)
|
if(pInstance)
|
||||||
{
|
{
|
||||||
pInstance->SetData(DATA_RUIN_DIED_DWELLER,m_creature->GetGUID());
|
pInstance->SetData64(DATA_RUIN_DWELLER_DIED,m_creature->GetGUID());
|
||||||
if (pInstance->GetData(DATA_RUIN_DIED_DWELLER) == 0)
|
if (pInstance->GetData(DATA_ALIVE_RUIN_DWELLERS) == 0)
|
||||||
m_creature->SummonCreature(CREATURE_ECK, EckSpawnPoint, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300*IN_MILISECONDS);
|
m_creature->SummonCreature(CREATURE_ECK, EckSpawnPoint, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300*IN_MILISECONDS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ enum Data
|
|||||||
DATA_DRAKKARI_COLOSSUS_EVENT,
|
DATA_DRAKKARI_COLOSSUS_EVENT,
|
||||||
DATA_GAL_DARAH_EVENT,
|
DATA_GAL_DARAH_EVENT,
|
||||||
DATA_ECK_THE_FEROCIOUS_EVENT,
|
DATA_ECK_THE_FEROCIOUS_EVENT,
|
||||||
DATA_RUIN_DIED_DWELLER
|
DATA_ALIVE_RUIN_DWELLERS
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Data64
|
enum Data64
|
||||||
@@ -37,7 +37,8 @@ enum Data64
|
|||||||
DATA_SLAD_RAN_STATUE,
|
DATA_SLAD_RAN_STATUE,
|
||||||
DATA_MOORABI_STATUE,
|
DATA_MOORABI_STATUE,
|
||||||
DATA_DRAKKARI_COLOSSUS_STATUE,
|
DATA_DRAKKARI_COLOSSUS_STATUE,
|
||||||
DATA_DRAKKARI_COLOSSUS
|
DATA_DRAKKARI_COLOSSUS,
|
||||||
|
DATA_RUIN_DWELLER_DIED
|
||||||
};
|
};
|
||||||
|
|
||||||
enum mainCreatures
|
enum mainCreatures
|
||||||
|
|||||||
@@ -137,7 +137,10 @@ struct instance_gundrak : public ScriptedInstance
|
|||||||
case CREATURE_GALDARAH: uiGalDarah = pCreature->GetGUID(); break;
|
case CREATURE_GALDARAH: uiGalDarah = pCreature->GetGUID(); break;
|
||||||
case CREATURE_DRAKKARICOLOSSUS: uiDrakkariColossus = pCreature->GetGUID(); break;
|
case CREATURE_DRAKKARICOLOSSUS: uiDrakkariColossus = pCreature->GetGUID(); break;
|
||||||
case CREATURE_ECK: uiEckTheFerocious = pCreature->GetGUID(); break;
|
case CREATURE_ECK: uiEckTheFerocious = pCreature->GetGUID(); break;
|
||||||
case CREATURE_RUIN_DWELLER: DwellerGUIDs.insert(pCreature->GetGUID()); break;
|
case CREATURE_RUIN_DWELLER:
|
||||||
|
if (pCreature->isAlive())
|
||||||
|
DwellerGUIDs.insert(pCreature->GetGUID());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -286,15 +289,18 @@ struct instance_gundrak : public ScriptedInstance
|
|||||||
if (bHeroicMode && data == DONE)
|
if (bHeroicMode && data == DONE)
|
||||||
HandleGameObject(uiEckTheFerociousDoorBehind,true);
|
HandleGameObject(uiEckTheFerociousDoorBehind,true);
|
||||||
break;
|
break;
|
||||||
case DATA_RUIN_DIED_DWELLER:
|
|
||||||
DwellerGUIDs.erase(data);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data == DONE)
|
if (data == DONE)
|
||||||
SaveToDB();
|
SaveToDB();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetData64(uint32 type, uint64 data)
|
||||||
|
{
|
||||||
|
if (type == DATA_RUIN_DWELLER_DIED)
|
||||||
|
DwellerGUIDs.erase(data);
|
||||||
|
}
|
||||||
|
|
||||||
uint32 GetData(uint32 type)
|
uint32 GetData(uint32 type)
|
||||||
{
|
{
|
||||||
switch(type)
|
switch(type)
|
||||||
@@ -304,7 +310,7 @@ struct instance_gundrak : public ScriptedInstance
|
|||||||
case DATA_GAL_DARAH_EVENT: return m_auiEncounter[2];
|
case DATA_GAL_DARAH_EVENT: return m_auiEncounter[2];
|
||||||
case DATA_DRAKKARI_COLOSSUS_EVENT: return m_auiEncounter[3];
|
case DATA_DRAKKARI_COLOSSUS_EVENT: return m_auiEncounter[3];
|
||||||
case DATA_ECK_THE_FEROCIOUS_EVENT: return m_auiEncounter[4];
|
case DATA_ECK_THE_FEROCIOUS_EVENT: return m_auiEncounter[4];
|
||||||
case DATA_RUIN_DIED_DWELLER: return DwellerGUIDs.size();
|
case DATA_ALIVE_RUIN_DWELLERS: return DwellerGUIDs.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user