All pastes #947527 Raw Edit

Something

public text v1 · immutable
·published 2008-03-18 15:38 UTC
rendered paste body
Index: scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp
===================================================================
--- scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp	(revision 290)
+++ scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp	(working copy)
@@ -149,9 +149,14 @@
         //MortalStrike_Timer
         if (MortalStrike_Timer < diff)
         {
-            //Cast
-            DoCast(m_creature->getVictim(),SPELL_MORTALSTRIKE);
-
+            // lower the ap for MS because otherwise he 1hits the tank
+            // 
+            float realap = m_creature->GetModifierValue(UNIT_MOD_ATTACK_POWER,BASE_VALUE);
+            m_creature->SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE,2800);
+            m_creature->UpdateAttackPowerAndDamage();
+            DoCast(m_creature->getVictim(),SPELL_MORTALSTRIKE,true);
+            m_creature->SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, realap);
+            m_creature->UpdateAttackPowerAndDamage();
             //30 seconds until we should cast this agian
             MortalStrike_Timer = 30000;
         }else MortalStrike_Timer -= diff;
Index: scripts/zone/blackwing_lair/boss_vaelastrasz.cpp
===================================================================
--- scripts/zone/blackwing_lair/boss_vaelastrasz.cpp	(revision 290)
+++ scripts/zone/blackwing_lair/boss_vaelastrasz.cpp	(working copy)
@@ -16,8 +16,8 @@
 
 /* ScriptData
 SDName: Boss_Vaelastrasz
-SD%Complete: 75
-SDComment: Burning Adrenaline not correctly implemented in core
+SD%Complete: 90
+SDComment: Burning Adrenaline not correctly implemented in core, workaround added
 SDCategory: Blackwing Lair
 EndScriptData */
 
@@ -88,7 +88,7 @@
         HasYelled = false;
         DoingSpeach = false;
         InCombat = false;
-
+        m_creature->setFaction(35); // blike???
         //m_creature->RemoveAllAuras();
         //m_creature->DeleteThreatList();
         //m_creature->CombatStop();
@@ -234,18 +234,22 @@
             FlameBreath_Timer = 4000 + rand()%4000;
         }else FlameBreath_Timer -= diff;
 
-        //BurningAdrenalineCaster_Timer (NOT YET IMPLEMENTED due to the fact that we can't randomly select a target yet)
+        //BurningAdrenalineCaster_Timer 
         if (BurningAdrenalineCaster_Timer < diff)
         {
-            //Cast
-            //DoCast(m_creature->getVictim(),SPELL_BURNINGADRENALINE);
             Unit* target = NULL;
+            int i = 0 ;            
+            while (i < 3) // max 3 tries to get a random target with power_mana
+            {
+                ++i;
+                target = SelectUnit(SELECT_TARGET_RANDOM,1); //not aggro leader
+                if (target)
+                    if (target->getPowerType() == POWER_MANA) 
+                        i=3;
+            }
+            if (target) // cast on self (see below)
+                target->CastSpell(target,SPELL_BURNINGADRENALINE,1);
 
-            target = SelectUnit(SELECT_TARGET_RANDOM,0);
-
-            if (target)
-                DoCast(target,SPELL_BURNINGADRENALINE);
-
             //15 seconds until we should cast this agian
             BurningAdrenalineCaster_Timer = 15000;
         }else BurningAdrenalineCaster_Timer -= diff;
@@ -253,8 +257,9 @@
         //BurningAdrenalineTank_Timer
         if (BurningAdrenalineTank_Timer < diff)
         {
-            //Cast
-            DoCast(m_creature->getVictim(),SPELL_BURNINGADRENALINE);
+            // have the victim cast the spell on himself otherwise the third effect aura will be applied 
+            // to Vael instead of the player
+            m_creature->getVictim()->CastSpell(m_creature->getVictim(),SPELL_BURNINGADRENALINE,1);
 
             //45 seconds until we should cast this agian
             BurningAdrenalineTank_Timer = 45000;