rendered paste bodyIndex: 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)
@@ -36,7 +36,6 @@
struct MANGOS_DLL_DECL boss_broodlordAI : public ScriptedAI
{
boss_broodlordAI(Creature *c) : ScriptedAI(c) {Reset();}
-
uint32 Cleave_Timer;
uint32 BlastWave_Timer;
uint32 MortalStrike_Timer;
@@ -149,9 +148,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;