diff options
| author | Drahy <none@none> | 2009-05-03 19:24:24 +0200 |
|---|---|---|
| committer | Drahy <none@none> | 2009-05-03 19:24:24 +0200 |
| commit | 23933c7412a4ad81677a2d345bdb6f53f0d7dbe9 (patch) | |
| tree | a7ba215204e4cc6c5b3f624cb4d18a7a17c945ef /src/bindings/scripts | |
| parent | 260a864031c6c8b6ce1bfda2db4c2060c9437a90 (diff) | |
| parent | 2e364b61027dc67ac729b96af290e25d2015db39 (diff) | |
* Merge
--HG--
branch : trunk
Diffstat (limited to 'src/bindings/scripts')
3 files changed, 15 insertions, 25 deletions
diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp index 0c139ddefb2..f18cd81064a 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_grobbulus.cpp @@ -96,8 +96,9 @@ struct TRINITY_DLL_DECL boss_grobbulusAI : public ScriptedAI return; case EVENT_INJECT: if(Unit *target = SelectUnit(SELECT_TARGET_RANDOM, 0)) - DoCast(target, SPELL_MUTATING_INJECTION); - events.ScheduleEvent(EVENT_INJECT, 8000 + 12000 * me->GetHealth() / me->GetMaxHealth()); + if(!target->HasAura(SPELL_MUTATING_INJECTION)) + DoCast(target, SPELL_MUTATING_INJECTION); + events.ScheduleEvent(EVENT_INJECT, 8000 + 12000 * ((float)me->GetHealth() / me->GetMaxHealth())); return; } } diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp index 2d827bd4ff0..5e7bd69e41a 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp @@ -214,7 +214,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI if(Phase == 1) { m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - EnterEvadeMode(); + //EnterEvadeMode(); //SummonWasters_Timer at far positon if ( SummonWasters_Timer< diff) { diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp index 0e2498dc679..a0cfb77c06c 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp @@ -28,8 +28,8 @@ EndScriptData */ #define SPELL_ICEBOLT 28522 #define SPELL_FROST_BREATH 29318 -#define SPELL_FROST_AURA 28531 -#define SPELL_LIFE_DRAIN 28542 +#define SPELL_FROST_AURA HEROIC(28531,55799) +#define SPELL_LIFE_DRAIN HEROIC(28542,55665) //#define SPELL_CHILL 28560 #define SPELL_BLIZZARD 28547 #define SPELL_BESERK 26662 @@ -66,7 +66,7 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public ScriptedAI Fly_Timer = 45000; Icebolt_Timer = 4000; land_Timer = 0; - Beserk_Timer = 0; + Beserk_Timer = 15*60000; phase = 1; Icebolt_Count = 0; IsInFly = false; @@ -76,6 +76,8 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public ScriptedAI void EnterCombat(Unit *who) { + DoZoneInCombat(); + me->CastSpell(me, SPELL_FROST_AURA, true); } void UpdateAI(const uint32 diff) @@ -85,19 +87,9 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public ScriptedAI if(phase == 1) { - if(FrostAura_Timer < diff) - { - DoCast(m_creature->getVictim(),SPELL_FROST_AURA); - FrostAura_Timer = 5000; - }else FrostAura_Timer -= diff; - if(LifeDrain_Timer < diff) { - if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0)) - DoCast(target,SPELL_LIFE_DRAIN); - if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0)) - DoCast(target,SPELL_LIFE_DRAIN); - + DoCastAOE(SPELL_LIFE_DRAIN); LifeDrain_Timer = 24000; }else LifeDrain_Timer -= diff; @@ -178,15 +170,12 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public ScriptedAI }else land_Timer -= diff; } - if ((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() <= 10) + if (Beserk_Timer < diff) { - if (Beserk_Timer < diff) - { - DoScriptText(EMOTE_ENRAGE, m_creature); - DoCast(m_creature,SPELL_BESERK); - Beserk_Timer = 300000; - }else Beserk_Timer -= diff; - } + DoScriptText(EMOTE_ENRAGE, m_creature); + DoCast(m_creature,SPELL_BESERK); + Beserk_Timer = 300000; + }else Beserk_Timer -= diff; if (phase!=2) DoMeleeAttackIfReady(); |
