*Replace taunt immunities with extra flags
--HG-- branch : trunk
This commit is contained in:
-2
@@ -195,8 +195,6 @@ struct TRINITY_DLL_DECL boss_leotheras_the_blindAI : public ScriptedAI
|
||||
EnrageUsed = false;
|
||||
InnderDemon_Count = 0;
|
||||
m_creature->SetSpeed( MOVE_RUN, 2.0f, true);
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
m_creature->SetUInt32Value(UNIT_FIELD_DISPLAYID, MODEL_NIGHTELF);
|
||||
m_creature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY , 0);
|
||||
m_creature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY+1, 0);
|
||||
|
||||
@@ -58,9 +58,6 @@ struct TRINITY_DLL_DECL boss_maiden_of_virtueAI : public ScriptedAI
|
||||
Enrage_Timer = 600000;
|
||||
|
||||
Enraged = false;
|
||||
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(1, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* Victim)
|
||||
|
||||
@@ -386,9 +386,6 @@ struct TRINITY_DLL_DECL boss_kaelthasAI : public ScriptedAI
|
||||
|
||||
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
|
||||
|
||||
|
||||
if(pInstance)
|
||||
pInstance->SetData(DATA_KAELTHASEVENT, NOT_STARTED);
|
||||
|
||||
@@ -52,16 +52,17 @@ struct TRINITY_DLL_DECL boss_void_reaverAI : public ScriptedAI
|
||||
uint32 KnockAway_Timer;
|
||||
uint32 Berserk_Timer;
|
||||
|
||||
bool Enraged;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
|
||||
m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, true);
|
||||
|
||||
Pounding_Timer = 15000;
|
||||
ArcaneOrb_Timer = 3000;
|
||||
KnockAway_Timer = 30000;
|
||||
Berserk_Timer = 600000;
|
||||
|
||||
Enraged = false;
|
||||
|
||||
if (pInstance && m_creature->isAlive())
|
||||
pInstance->SetData(DATA_VOIDREAVEREVENT, NOT_STARTED);
|
||||
}
|
||||
@@ -120,7 +121,7 @@ struct TRINITY_DLL_DECL boss_void_reaverAI : public ScriptedAI
|
||||
{
|
||||
target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid());
|
||||
//18 yard radius minimum
|
||||
if(target && target->GetTypeId() == TYPEID_PLAYER && target->isAlive() && target->GetDistance2d(m_creature) > 18)
|
||||
if(target && target->GetTypeId() == TYPEID_PLAYER && target->isAlive() && target->GetDistance2d(m_creature) >= 18)
|
||||
target_list.push_back(target);
|
||||
target = NULL;
|
||||
}
|
||||
@@ -146,13 +147,10 @@ struct TRINITY_DLL_DECL boss_void_reaverAI : public ScriptedAI
|
||||
}else KnockAway_Timer -= diff;
|
||||
|
||||
//Berserk
|
||||
if(Berserk_Timer < diff)
|
||||
if(Berserk_Timer < diff && !Enraged)
|
||||
{
|
||||
if (m_creature->IsNonMeleeSpellCasted(false))
|
||||
m_creature->InterruptNonMeleeSpells(false);
|
||||
|
||||
DoCast(m_creature,SPELL_BERSERK);
|
||||
Berserk_Timer = 600000;
|
||||
Enraged = true;
|
||||
}else Berserk_Timer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
Reference in New Issue
Block a user