Gundrak: Fix for Eck the Ferocious spawning

--HG--
branch : trunk
This commit is contained in:
Tartalo
2010-03-23 12:25:01 +01:00
parent 05e7a155a5
commit 3cd729294e
3 changed files with 16 additions and 9 deletions

View File

@@ -140,8 +140,8 @@ struct npc_ruins_dwellerAI : public ScriptedAI
{
if(pInstance)
{
pInstance->SetData(DATA_RUIN_DIED_DWELLER,m_creature->GetGUID());
if (pInstance->GetData(DATA_RUIN_DIED_DWELLER) == 0)
pInstance->SetData64(DATA_RUIN_DWELLER_DIED,m_creature->GetGUID());
if (pInstance->GetData(DATA_ALIVE_RUIN_DWELLERS) == 0)
m_creature->SummonCreature(CREATURE_ECK, EckSpawnPoint, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300*IN_MILISECONDS);
}
}

View File

@@ -26,7 +26,7 @@ enum Data
DATA_DRAKKARI_COLOSSUS_EVENT,
DATA_GAL_DARAH_EVENT,
DATA_ECK_THE_FEROCIOUS_EVENT,
DATA_RUIN_DIED_DWELLER
DATA_ALIVE_RUIN_DWELLERS
};
enum Data64
@@ -37,7 +37,8 @@ enum Data64
DATA_SLAD_RAN_STATUE,
DATA_MOORABI_STATUE,
DATA_DRAKKARI_COLOSSUS_STATUE,
DATA_DRAKKARI_COLOSSUS
DATA_DRAKKARI_COLOSSUS,
DATA_RUIN_DWELLER_DIED
};
enum mainCreatures

View File

@@ -137,7 +137,10 @@ struct instance_gundrak : public ScriptedInstance
case CREATURE_GALDARAH: uiGalDarah = pCreature->GetGUID(); break;
case CREATURE_DRAKKARICOLOSSUS: uiDrakkariColossus = 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,14 +289,17 @@ struct instance_gundrak : public ScriptedInstance
if (bHeroicMode && data == DONE)
HandleGameObject(uiEckTheFerociousDoorBehind,true);
break;
case DATA_RUIN_DIED_DWELLER:
DwellerGUIDs.erase(data);
break;
}
if (data == DONE)
SaveToDB();
}
void SetData64(uint32 type, uint64 data)
{
if (type == DATA_RUIN_DWELLER_DIED)
DwellerGUIDs.erase(data);
}
uint32 GetData(uint32 type)
{
@@ -304,7 +310,7 @@ struct instance_gundrak : public ScriptedInstance
case DATA_GAL_DARAH_EVENT: return m_auiEncounter[2];
case DATA_DRAKKARI_COLOSSUS_EVENT: return m_auiEncounter[3];
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;