mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-30 21:57:01 +01:00
*Some fix of sapphiron script.
--HG-- branch : trunk
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user