aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp11
-rw-r--r--src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp4
2 files changed, 14 insertions, 1 deletions
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp
index 4ecfda2e329..2dfdc2ab26d 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp
@@ -70,6 +70,8 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI
uint32 ClassCall_Timer;
bool Phase3;
+ uint32 DespawnTimer;
+
void Reset()
{
ShadowFlame_Timer = 12000; //These times are probably wrong
@@ -79,6 +81,8 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI
TailLash_Timer = 10000;
ClassCall_Timer = 35000; //35-40 seconds
Phase3 = false;
+
+ DespawnTimer = 5000;
}
void KilledUnit(Unit* Victim)
@@ -109,6 +113,13 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
+ if(DespawnTimer < diff)
+ {
+ if(!UpdateVictim())
+ m_creature->ForcedDespawn();
+ DespawnTimer = 5000;
+ }else DespawnTimer -= diff;
+
if (!UpdateVictim())
return;
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp
index 39fbd1f4be9..32597b06008 100644
--- a/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp
+++ b/src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp
@@ -85,6 +85,8 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI
SpeachTimer = 10000;
SpeachNum = 0;
DoingSpeach = true;
+
+ m_creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
}
void KilledUnit(Unit *victim)
@@ -99,6 +101,7 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI
{
DoCast(m_creature,SPELL_ESSENCEOFTHERED);
DoZoneInCombat();
+ m_creature->SetHealth(int(m_creature->GetMaxHealth()*.3));
}
void UpdateAI(const uint32 diff)
@@ -124,7 +127,6 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI
break;
case 2:
m_creature->setFaction(103);
- m_creature->SetHealth(int(m_creature->GetMaxHealth()*.3));
if (PlayerGUID && Unit::GetUnit((*m_creature),PlayerGUID))
{
AttackStart(Unit::GetUnit((*m_creature),PlayerGUID));