aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
index 9142b003755..2dc69259bac 100644
--- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
@@ -123,7 +123,7 @@ class instance_naxxramas : public InstanceMapScript
hadSapphironBirth = false;
CurrentWingTaunt = SAY_KELTHUZAD_FIRST_WING_TAUNT;
- playerDied = 0;
+ playerDied = false;
}
void OnCreatureCreate(Creature* creature) override
@@ -248,9 +248,9 @@ class instance_naxxramas : public InstanceMapScript
void OnUnitDeath(Unit* unit) override
{
- if (unit->GetTypeId() == TYPEID_PLAYER && IsEncounterInProgress())
+ if (!playerDied && unit->IsPlayer() && IsEncounterInProgress())
{
- playerDied = 1;
+ playerDied = true;
SaveToDB();
}
@@ -552,6 +552,18 @@ class instance_naxxramas : public InstanceMapScript
return false;
}
+ void WriteSaveDataMore(std::ostringstream& data) override
+ {
+ data << uint32(playerDied ? 1 : 0);
+ }
+
+ void ReadSaveDataMore(std::istringstream& data) override
+ {
+ uint32 tmpState;
+ data >> tmpState;
+ playerDied = tmpState != 0;
+ }
+
protected:
/* The Arachnid Quarter */
// Anub'rekhan
@@ -597,7 +609,7 @@ class instance_naxxramas : public InstanceMapScript
uint8 CurrentWingTaunt;
/* The Immortal / The Undying */
- uint32 playerDied;
+ bool playerDied;
EventMap events;
};