aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/scripts/northrend/gundrak/boss_eck.cpp4
-rw-r--r--src/scripts/northrend/gundrak/gundrak.h5
-rw-r--r--src/scripts/northrend/gundrak/instance_gundrak.cpp16
3 files changed, 16 insertions, 9 deletions
diff --git a/src/scripts/northrend/gundrak/boss_eck.cpp b/src/scripts/northrend/gundrak/boss_eck.cpp
index 89843bac7f5..cac1bfd8f3e 100644
--- a/src/scripts/northrend/gundrak/boss_eck.cpp
+++ b/src/scripts/northrend/gundrak/boss_eck.cpp
@@ -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);
}
}
diff --git a/src/scripts/northrend/gundrak/gundrak.h b/src/scripts/northrend/gundrak/gundrak.h
index f0ec7006a67..17f0097bbf7 100644
--- a/src/scripts/northrend/gundrak/gundrak.h
+++ b/src/scripts/northrend/gundrak/gundrak.h
@@ -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
diff --git a/src/scripts/northrend/gundrak/instance_gundrak.cpp b/src/scripts/northrend/gundrak/instance_gundrak.cpp
index 0356f6b9584..88043730ae5 100644
--- a/src/scripts/northrend/gundrak/instance_gundrak.cpp
+++ b/src/scripts/northrend/gundrak/instance_gundrak.cpp
@@ -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;