aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRat <none@none>2009-04-13 17:08:24 +0200
committerRat <none@none>2009-04-13 17:08:24 +0200
commitdd93679f5f0d36705d5bd39fee4b0ec9e0ed5b2a (patch)
treea5ef1791647af30bb006d15c8e13669530d27d68 /src
parent6b7d0c7cfea6fa104830ad79394aaa9965532325 (diff)
*fixed essence of suffering (reliquary of souls)
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp35
1 files changed, 20 insertions, 15 deletions
diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp
index 5bd2685b7a6..aee145b6938 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp
@@ -366,9 +366,9 @@ struct TRINITY_DLL_DECL boss_essence_of_sufferingAI : public ScriptedAI
{
switch(rand()%2)
{
- case 0: DoScriptText(SUFF_SAY_SLAY1, m_creature); break;
- case 1: DoScriptText(SUFF_SAY_SLAY2, m_creature); break;
- case 2: DoScriptText(SUFF_SAY_SLAY3, m_creature); break;
+ case 0: DoScriptText(SUFF_SAY_SLAY1, m_creature); break;
+ case 1: DoScriptText(SUFF_SAY_SLAY2, m_creature); break;
+ case 2: DoScriptText(SUFF_SAY_SLAY3, m_creature); break;
}
}
@@ -391,25 +391,30 @@ struct TRINITY_DLL_DECL boss_essence_of_sufferingAI : public ScriptedAI
targets.resize(1); // Only need closest target.
Unit* target = targets.front(); // Get the first target.
target->CastSpell(m_creature, SPELL_FIXATE_TAUNT, true);
+ DoResetThreat();
+ m_creature->AddThreat(target,1000000);
}
void UpdateAI(const uint32 diff)
{
+ if(InCombat)
+ {
+ //Supposed to be cast on nearest target
+ if(FixateTimer < diff)
+ {
+ CastFixate();
+ FixateTimer = 5000;
+ if(!(rand()%16))
+ {
+ DoScriptText(SUFF_SAY_AGGRO, m_creature);
+ }
+ }else FixateTimer -= diff;
+ }
+
//Return since we have no target
if (!UpdateVictim())
return;
- //Supposed to be cast on nearest target
- if(FixateTimer < diff)
- {
- CastFixate();
- FixateTimer = 5000;
- if(!(rand()%16))
- {
- DoScriptText(SUFF_SAY_AGGRO, m_creature);
- }
- }else FixateTimer -= diff;
-
if(EnrageTimer < diff)
{
DoCast(m_creature, SPELL_ENRAGE);
@@ -419,7 +424,7 @@ struct TRINITY_DLL_DECL boss_essence_of_sufferingAI : public ScriptedAI
if(SoulDrainTimer < diff)
{
- DoCast(m_creature->getVictim(), SPELL_SOUL_DRAIN);
+ DoCast(SelectUnit(SELECT_TARGET_RANDOM,0), SPELL_SOUL_DRAIN);
SoulDrainTimer = 60000;
}else SoulDrainTimer -= diff;