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) @@ -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;