mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 08:55:32 +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();
|
||||
|
||||
@@ -2427,6 +2427,9 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
case 41071: // Raise Dead (HACK)
|
||||
spellInfo->MaxAffectedTargets = 1;
|
||||
break;
|
||||
case 28542: // Life Drain - Sapphiron
|
||||
spellInfo->MaxAffectedTargets = 1;
|
||||
break;
|
||||
case 41376: // Spite
|
||||
case 39992: // Needle Spine
|
||||
case 29576: //Multi-Shot
|
||||
@@ -2447,6 +2450,7 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
case 46009: //Negative Energy
|
||||
case 45641: //Fire Bloom
|
||||
case 54937: //Glyph of Holy Light
|
||||
case 55665: // Life Drain - Sapphiron
|
||||
spellInfo->MaxAffectedTargets = 5;
|
||||
break;
|
||||
case 40827: //Sinful Beam
|
||||
|
||||
Reference in New Issue
Block a user