aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp26
2 files changed, 7 insertions, 22 deletions
diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp
index 8ed47127e16..f2c683ac4bf 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp
@@ -114,8 +114,7 @@ struct TRINITY_DLL_DECL boss_nightbaneAI : public ScriptedAI
m_creature->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE);
m_creature->setActive(true);
- pInstance->SetData(DATA_NIGHTBANE_EVENT, 6);
- if(pInstance->GetData(DATA_NIGHTBANE_EVENT) > 1)
+ if(pInstance->GetData(DATA_NIGHTBANE_EVENT) == DONE || pInstance->GetData(DATA_NIGHTBANE_EVENT) == IN_PROGRESS)
{
m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
m_creature->RemoveCorpse();
diff --git a/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp b/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp
index f274e81b5c4..c43d5f69590 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/instance_karazhan.cpp
@@ -64,9 +64,6 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance
uint64 MastersTerraceDoor[2];
uint64 ImageGUID;
- uint8 Nightbane;
- bool CheckNightbane;
-
void Initialize()
{
for (uint8 i = 0; i < ENCOUNTERS; ++i)
@@ -91,10 +88,6 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance
MastersTerraceDoor[0]= 0;
MastersTerraceDoor[1]= 0;
ImageGUID = 0;
-
- Nightbane = 0;
-
- CheckNightbane = false;
}
bool IsEncounterInProgress() const
@@ -121,12 +114,7 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance
case DATA_NETHERSPITE_EVENT: return Encounters[8];
case DATA_CHESS_EVENT: return Encounters[9];
case DATA_MALCHEZZAR_EVENT: return Encounters[10];
- case DATA_NIGHTBANE_EVENT:
- if(CheckNightbane)
- {
- CheckNightbane = false;
- return Nightbane;
- }else return Encounters[11];
+ case DATA_NIGHTBANE_EVENT: return Encounters[11];
case DATA_OPERA_PERFORMANCE: return OperaEvent;
case DATA_OPERA_OZ_DEATHCOUNT: return OzDeathCount;
case DATA_IMAGE_OF_MEDIVH: return ImageGUID;
@@ -187,11 +175,9 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance
case DATA_CHESS_EVENT: Encounters[9] = data; break;
case DATA_MALCHEZZAR_EVENT: Encounters[10] = data; break;
case DATA_NIGHTBANE_EVENT:
- if(data == 6)
- {
- Nightbane;
- CheckNightbane = true;
- }else Encounters[11] = data;
+ if (Encounters[11] == DONE)
+ break;
+ Encounters[11] = data;
break;
case DATA_OPERA_OZ_DEATHCOUNT: ++OzDeathCount; break;
}
@@ -244,7 +230,7 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance
std::ostringstream stream;
stream << Encounters[0] << " " << Encounters[1] << " " << Encounters[2] << " " << Encounters[3] << " "
<< Encounters[4] << " " << Encounters[5] << " " << Encounters[6] << " " << Encounters[7] << " "
- << Encounters[8] << " " << Encounters[9] << " " << Encounters[10];
+ << Encounters[8] << " " << Encounters[9] << " " << Encounters[10] << " " << Encounters[11];
char* out = new char[stream.str().length() + 1];
strcpy(out, stream.str().c_str());
if(out)
@@ -268,7 +254,7 @@ struct TRINITY_DLL_DECL instance_karazhan : public ScriptedInstance
std::istringstream stream(in);
stream >> Encounters[0] >> Encounters[1] >> Encounters[2] >> Encounters[3]
>> Encounters[4] >> Encounters[5] >> Encounters[6] >> Encounters[7]
- >> Encounters[8] >> Encounters[9] >> Encounters[10];
+ >> Encounters[8] >> Encounters[9] >> Encounters[10] >> Encounters[11];
for(uint8 i = 0; i < ENCOUNTERS; ++i)
if(Encounters[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead.
Encounters[i] = NOT_STARTED;