diff options
-rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp | 11 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp | 4 |
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)); |