diff options
author | Rat <none@none> | 2009-07-18 19:46:14 +0200 |
---|---|---|
committer | Rat <none@none> | 2009-07-18 19:46:14 +0200 |
commit | 99112d1966044460e7747b94f9a117b5d024ce8e (patch) | |
tree | c4d13d29b0d74a25ba8e89f6de6c94befed3a3a4 | |
parent | 69c8c84f09ae725e4e998d248a267b3f2a46a3d0 (diff) |
*fixed Supremus' Vulcanos (temp fix untill summon spell fixed)
*fixed Supremus Molten Flame
--HG--
branch : trunk
-rw-r--r-- | src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp index 6fc202f2105..2c64c7657e4 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp @@ -58,8 +58,10 @@ struct TRINITY_DLL_DECL molten_flameAI : public NullCreatureAI void InitializeAI() { float x, y, z; - me->GetNearPoint(me, x, y, z, 1, 50, M_PI*2*rand_norm()); + me->GetNearPoint(me, x, y, z, 1, 100, M_PI*2*rand_norm()); me->GetMotionMaster()->MovePoint(0, x, y, z); + me->SetVisibility(VISIBILITY_OFF); + me->CastSpell(me,SPELL_MOLTEN_FLAME,true); } }; @@ -205,7 +207,8 @@ struct TRINITY_DLL_DECL boss_supremusAI : public ScriptedAI if(!target) target = m_creature->getVictim(); if(target) { - DoCast(target, SPELL_VOLCANIC_SUMMON); + //DoCast(target, SPELL_VOLCANIC_SUMMON);//movement bugged + m_creature->SummonCreature(CREATURE_VOLCANO,target->GetPositionX(),target->GetPositionY(),target->GetPositionZ(),0,TEMPSUMMON_TIMED_DESPAWN,30000); DoScriptText(EMOTE_GROUND_CRACK, m_creature); events.DelayEvents(1500, GCD_CAST); } @@ -222,17 +225,19 @@ struct TRINITY_DLL_DECL boss_supremusAI : public ScriptedAI } }; -struct TRINITY_DLL_DECL npc_volcanoAI : public ScriptedAI +struct TRINITY_DLL_DECL npc_volcanoAI : public Scripted_NoMovementAI { - npc_volcanoAI(Creature *c) : ScriptedAI(c) {} + npc_volcanoAI(Creature *c) : Scripted_NoMovementAI(c) {} void Reset() { m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); - DoCast(m_creature, SPELL_VOLCANIC_ERUPTION); + //DoCast(m_creature, SPELL_VOLCANIC_ERUPTION); me->SetReactState(REACT_PASSIVE); + wait = 3000; } + uint32 wait; void EnterCombat(Unit *who) {} @@ -243,7 +248,15 @@ struct TRINITY_DLL_DECL npc_volcanoAI : public ScriptedAI m_creature->RemoveAura(SPELL_VOLCANIC_ERUPTION); } - void UpdateAI(const uint32 diff) {} + void UpdateAI(const uint32 diff) + { + if(wait<=diff)//wait 3secs before casting + { + DoCast(m_creature, SPELL_VOLCANIC_ERUPTION); + wait = 60000; + } + else wait -= diff; + } }; |