*Cleanup (Brutallus' Intro should start properly now)
--HG-- branch : trunk
This commit is contained in:
@@ -265,18 +265,21 @@ struct TRINITY_DLL_DECL boss_moroesAI : public ScriptedAI
|
|||||||
|
|
||||||
if (Gouge_Timer <= diff)
|
if (Gouge_Timer <= diff)
|
||||||
{
|
{
|
||||||
DoCast(m_creature->getVictim(), SPELL_GOUGE);
|
DoCastVictim(SPELL_GOUGE);
|
||||||
Gouge_Timer = 40000;
|
Gouge_Timer = 40000;
|
||||||
} else Gouge_Timer -= diff;
|
} else Gouge_Timer -= diff;
|
||||||
|
|
||||||
if (Blind_Timer <= diff)
|
if (Blind_Timer <= diff)
|
||||||
{
|
{
|
||||||
Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, m_creature->GetMeleeReach()*5, true);
|
std::list<Unit*> pTargets;
|
||||||
if (pTarget && m_creature->IsWithinMeleeRange(pTarget))
|
SelectTargetList(pTargets, 5, SELECT_TARGET_RANDOM, m_creature->GetMeleeReach()*5, true);
|
||||||
|
for (std::list<Unit*>::iterator i = pTargets.begin(); i != pTargets.end(); ++i)
|
||||||
|
if(!m_creature->IsWithinMeleeRange(*i))
|
||||||
{
|
{
|
||||||
DoCast(pTarget, SPELL_BLIND);
|
DoCast(pTarget, SPELL_BLIND);
|
||||||
|
break;
|
||||||
|
}
|
||||||
Blind_Timer = 40000;
|
Blind_Timer = 40000;
|
||||||
} else Blind_Timer = 1000 + diff; // if target is out of melee range, wait a bit.
|
|
||||||
} else Blind_Timer -= diff;
|
} else Blind_Timer -= diff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ struct TRINITY_DLL_DECL boss_brutallusAI : public ScriptedAI
|
|||||||
|
|
||||||
m_creature->CastSpell(m_creature, SPELL_DUAL_WIELD, true);
|
m_creature->CastSpell(m_creature, SPELL_DUAL_WIELD, true);
|
||||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||||
|
m_creature->SetReactState(REACT_DEFENSIVE); //enables MoveInLineOfSight
|
||||||
Madrigosa = Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_MADRIGOSA));
|
Madrigosa = Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_MADRIGOSA));
|
||||||
//Creature* boss = Unit::GetCreature((*m_creature),AzgalorGUID);
|
//Creature* boss = Unit::GetCreature((*m_creature),AzgalorGUID);
|
||||||
if (!Madrigosa) error_log("Madrigosa was not found");
|
if (!Madrigosa) error_log("Madrigosa was not found");
|
||||||
@@ -217,7 +218,7 @@ struct TRINITY_DLL_DECL boss_brutallusAI : public ScriptedAI
|
|||||||
++IntroPhase;
|
++IntroPhase;
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
m_creature->DealDamage(Madrigosa, Madrigosa->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, true);
|
m_creature->Kill(Madrigosa);
|
||||||
DoScriptText(YELL_MADR_DEATH, Madrigosa);
|
DoScriptText(YELL_MADR_DEATH, Madrigosa);
|
||||||
m_creature->SetHealth(m_creature->GetMaxHealth());
|
m_creature->SetHealth(m_creature->GetMaxHealth());
|
||||||
m_creature->AttackStop();
|
m_creature->AttackStop();
|
||||||
@@ -291,15 +292,15 @@ struct TRINITY_DLL_DECL boss_brutallusAI : public ScriptedAI
|
|||||||
|
|
||||||
if (BurnTimer <= diff)
|
if (BurnTimer <= diff)
|
||||||
{
|
{
|
||||||
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
std::list<Unit*> pTargets;
|
||||||
if(!pTarget->HasAura(SPELL_BURN))
|
SelectTargetList(pTargets, 10, SELECT_TARGET_RANDOM, 100, true);
|
||||||
|
for (std::list<Unit*>::iterator i = pTargets.begin(); i != pTargets.end(); ++i)
|
||||||
|
if(!(*i)->HasAura(SPELL_BURN))
|
||||||
{
|
{
|
||||||
pTarget->CastSpell(pTarget, SPELL_BURN, true);
|
DoCast(*i, SPELL_BURN, true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
BurnTimer = urand(60000,180000);
|
BurnTimer = urand(60000,180000);
|
||||||
} else
|
|
||||||
BurnTimer = 1000 + diff; // if target has SPELL_BURN, wait a bit.
|
|
||||||
else
|
|
||||||
BurnTimer = urand(60000,180000); // no targets!?
|
|
||||||
} else BurnTimer -= diff;
|
} else BurnTimer -= diff;
|
||||||
|
|
||||||
if (BerserkTimer < diff && !Enraged)
|
if (BerserkTimer < diff && !Enraged)
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ enum Quotes
|
|||||||
SAY_GOOD_NEAR_DEATH2 = -1580008,
|
SAY_GOOD_NEAR_DEATH2 = -1580008,
|
||||||
SAY_GOOD_PLRWIN = -1580009,
|
SAY_GOOD_PLRWIN = -1580009,
|
||||||
|
|
||||||
//Shattrowar
|
//Sathrovarr
|
||||||
SAY_SATH_AGGRO = -1580010,
|
SAY_SATH_AGGRO = -1580010,
|
||||||
SAY_SATH_DEATH = -1580011,
|
SAY_SATH_DEATH = -1580011,
|
||||||
SAY_SATH_SPELL1 = -1580012,
|
SAY_SATH_SPELL1 = -1580012,
|
||||||
@@ -165,7 +165,7 @@ struct TRINITY_DLL_DECL boss_kalecgosAI : public ScriptedAI
|
|||||||
FrostBreathTimer = 15000;
|
FrostBreathTimer = 15000;
|
||||||
WildMagicTimer = 10000;
|
WildMagicTimer = 10000;
|
||||||
TailLashTimer = 25000;
|
TailLashTimer = 25000;
|
||||||
SpectralBlastTimer = 20000+(rand()%5000);
|
SpectralBlastTimer = urand(20000,25000);
|
||||||
CheckTimer = 1000;
|
CheckTimer = 1000;
|
||||||
ResetTimer = 30000;
|
ResetTimer = 30000;
|
||||||
|
|
||||||
|
|||||||
@@ -581,7 +581,7 @@ inline bool CreatureAI::_EnterEvadeMode()
|
|||||||
|
|
||||||
inline void UnitAI::DoCast(Unit* victim, uint32 spellId, bool triggered)
|
inline void UnitAI::DoCast(Unit* victim, uint32 spellId, bool triggered)
|
||||||
{
|
{
|
||||||
if(!victim || me->hasUnitState(UNIT_STAT_CASTING) && !triggered)
|
if(!victim || (me->hasUnitState(UNIT_STAT_CASTING) && !triggered))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
me->CastSpell(victim, spellId, triggered);
|
me->CastSpell(victim, spellId, triggered);
|
||||||
|
|||||||
Reference in New Issue
Block a user