*Minor clean and some typos in WLK only scripts.

--HG--
branch : trunk
This commit is contained in:
Anubisss
2009-05-01 19:17:00 +02:00
parent 182a04f5ea
commit 923a4bd389
69 changed files with 785 additions and 780 deletions
@@ -24,7 +24,7 @@ SDComment: Only appears in heroic mode
SDCategory: Ahn'kahet SDCategory: Ahn'kahet
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_amanitar' where entry = ''; update creature_template set scriptname = 'boss_amanitar' where entry = '';
*** SQL END ***/ *** SQL END ***/
@@ -34,26 +34,26 @@ update creature_template set scriptname = 'boss_amanitar' where entry = '';
#define SPELL_BASH 57094 #define SPELL_BASH 57094
#define SPELL_ENTANGLING_ROOTS 57095 #define SPELL_ENTANGLING_ROOTS 57095
#define SPELL_MINI 57055 #define SPELL_MINI 57055
#define SPELL_VENOM_BOLT_VOLLEY 57088 #define SPELL_VENOM_BOLT_VOLLEY 57088
struct TRINITY_DLL_DECL boss_amanitarAI : public ScriptedAI struct TRINITY_DLL_DECL boss_amanitarAI : public ScriptedAI
{ {
boss_amanitarAI(Creature *c) : ScriptedAI(c) {} boss_amanitarAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
void KilledUnit(Unit *victim) void KilledUnit(Unit *victim)
@@ -74,6 +74,6 @@ void AddSC_boss_amanitar()
newscript = new Script; newscript = new Script;
newscript->Name="boss_amanitar"; newscript->Name="boss_amanitar";
newscript->GetAI = GetAI_boss_amanitar; newscript->GetAI = &GetAI_boss_amanitar;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -19,7 +19,7 @@
/* ScriptData /* ScriptData
SDName: boss_elder_nadox SDName: boss_elder_nadox
SD%Complete: 100 SD%Complete: 100
SDComment: SDComment:
SDCategory: Ahn'kahet SDCategory: Ahn'kahet
EndScriptData */ EndScriptData */
@@ -48,7 +48,7 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_elder_nadoxAI : public ScriptedAI struct TRINITY_DLL_DECL boss_elder_nadoxAI : public ScriptedAI
{ {
boss_elder_nadoxAI(Creature *c) : ScriptedAI(c) boss_elder_nadoxAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
HeroicMode = c->GetMap()->IsHeroic(); HeroicMode = c->GetMap()->IsHeroic();
@@ -99,7 +99,7 @@ struct TRINITY_DLL_DECL boss_elder_nadoxAI : public ScriptedAI
} }
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_SLAY_3,m_creature); DoScriptText(SAY_SLAY_3,m_creature);
@@ -180,7 +180,7 @@ CreatureAI* GetAI_boss_elder_nadox(Creature *_Creature)
#define SPELL_SPRINT 56354 #define SPELL_SPRINT 56354
struct TRINITY_DLL_DECL mob_ahnkahar_nerubianAI : public ScriptedAI struct TRINITY_DLL_DECL mob_ahnkahar_nerubianAI : public ScriptedAI
{ {
mob_ahnkahar_nerubianAI(Creature *c) : ScriptedAI(c) mob_ahnkahar_nerubianAI(Creature *c) : ScriptedAI(c)
{ {
pInstance = ((ScriptedInstance*)c->GetInstanceData()); pInstance = ((ScriptedInstance*)c->GetInstanceData());
Reset(); Reset();
@@ -24,7 +24,7 @@ SDComment:
SDCategory: Ahn'kahet SDCategory: Ahn'kahet
EndScriptData */ EndScriptData */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_volazj' where entry = ''; update creature_template set scriptname = 'boss_volazj' where entry = '';
*** SQL END ***/ *** SQL END ***/
@@ -35,11 +35,11 @@ update creature_template set scriptname = 'boss_volazj' where entry = '';
#define SPELL_INSANITY 57496 //Dummy #define SPELL_INSANITY 57496 //Dummy
#define INSANITY_VISUAL 57561 #define INSANITY_VISUAL 57561
#define SPELL_MIND_FLAY_N 57941 #define SPELL_MIND_FLAY_N 57941
#define SPELL_MIND_FLAY_H 59974 #define SPELL_MIND_FLAY_H 59974
#define SPELL_SHADOW_BOLT_VOLLEY_1 57942 #define SPELL_SHADOW_BOLT_VOLLEY_1 57942
#define SPELL_SHADOW_BOLT_VOLLEY_2 59975 #define SPELL_SHADOW_BOLT_VOLLEY_2 59975
#define SPELL_SHIVER_N 57949 #define SPELL_SHIVER_N 57949
#define SPELL_SHIVER_H 59978 #define SPELL_SHIVER_H 59978
//Yell //Yell
#define SAY_AGGRO -1619030 #define SAY_AGGRO -1619030
@@ -55,29 +55,29 @@ struct TRINITY_DLL_DECL boss_volazjAI : public ScriptedAI
boss_volazjAI(Creature *c) : ScriptedAI(c) {} boss_volazjAI(Creature *c) : ScriptedAI(c) {}
uint32 phase; uint32 phase;
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
phase =1; phase =1;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
if(phase == 1) if(phase == 1)
DoScriptText(SAY_DEATH_1, m_creature); DoScriptText(SAY_DEATH_1, m_creature);
else else
DoScriptText(SAY_DEATH_2, m_creature); DoScriptText(SAY_DEATH_2, m_creature);
} }
@@ -106,6 +106,6 @@ void AddSC_boss_volazj()
newscript = new Script; newscript = new Script;
newscript->Name="boss_volazj"; newscript->Name="boss_volazj";
newscript->GetAI = GetAI_boss_volazj; newscript->GetAI = &GetAI_boss_volazj;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -24,7 +24,7 @@ SDComment:
SDCategory: Ahn'kahet SDCategory: Ahn'kahet
EndScriptData */ EndScriptData */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_jedoga' where entry = ''; update creature_template set scriptname = 'boss_jedoga' where entry = '';
*** SQL END ***/ *** SQL END ***/
@@ -48,7 +48,7 @@ update creature_template set scriptname = 'boss_jedoga' where entry = '';
#define SAY_SLAY_2 -1619006 #define SAY_SLAY_2 -1619006
#define SAY_SLAY_3 -1619007 #define SAY_SLAY_3 -1619007
#define SAY_DEATH -1619008 #define SAY_DEATH -1619008
#define SAY_PREACHING_1 -1619009 #define SAY_PREACHING_1 -1619009
#define SAY_PREACHING_2 -1619010 #define SAY_PREACHING_2 -1619010
#define SAY_PREACHING_3 -1619011 #define SAY_PREACHING_3 -1619011
#define SAY_PREACHING_4 -1619012 #define SAY_PREACHING_4 -1619012
@@ -59,26 +59,26 @@ struct TRINITY_DLL_DECL boss_jedogaAI : public ScriptedAI
boss_jedogaAI(Creature *c) : ScriptedAI(c) {} boss_jedogaAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
void KilledUnit(Unit *victim) void KilledUnit(Unit *victim)
{ {
if (victim == m_creature) if (victim == m_creature)
@@ -104,6 +104,6 @@ void AddSC_boss_jedoga()
newscript = new Script; newscript = new Script;
newscript->Name="boss_jedoga"; newscript->Name="boss_jedoga";
newscript->GetAI = GetAI_boss_jedoga; newscript->GetAI = &GetAI_boss_jedoga;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -58,27 +58,27 @@ EndScriptData */
struct TRINITY_DLL_DECL boss_taldaramAI : public ScriptedAI struct TRINITY_DLL_DECL boss_taldaramAI : public ScriptedAI
{ {
boss_taldaramAI(Creature *c) : ScriptedAI(c) {} boss_taldaramAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
void KilledUnit(Unit *victim) void KilledUnit(Unit *victim)
{ {
if (victim == m_creature) if (victim == m_creature)
@@ -104,6 +104,6 @@ void AddSC_boss_taldaram()
newscript = new Script; newscript = new Script;
newscript->Name="boss_taldaram"; newscript->Name="boss_taldaram";
newscript->GetAI = GetAI_boss_taldaram; newscript->GetAI = &GetAI_boss_taldaram;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -24,7 +24,7 @@ SDComment:
SDCategory: Azjol Nerub SDCategory: Azjol Nerub
EndScriptData */ EndScriptData */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_anub_arak' where entry = ''; update creature_template set scriptname = 'boss_anub_arak' where entry = '';
*** SQL END ***/ *** SQL END ***/
@@ -43,11 +43,11 @@ update creature_template set scriptname = 'boss_anub_arak' where entry = '';
#define SAY_SLAY_1 -1601001 #define SAY_SLAY_1 -1601001
#define SAY_SLAY_2 -1601002 #define SAY_SLAY_2 -1601002
#define SAY_SLAY_3 -1601003 #define SAY_SLAY_3 -1601003
#define SAY_LOCUST_1 -1601005 #define SAY_LOCUST_1 -1601005
#define SAY_LOCUST_2 -1601006 #define SAY_LOCUST_2 -1601006
#define SAY_LOCUST_3 -1601007 #define SAY_LOCUST_3 -1601007
#define SAY_SUBMERGE_1 -1601008 #define SAY_SUBMERGE_1 -1601008
#define SAY_SUBMERGE_2 -1601009 #define SAY_SUBMERGE_2 -1601009
#define SAY_DEATH -1601004 #define SAY_DEATH -1601004
struct TRINITY_DLL_DECL boss_anub_arakAI : public ScriptedAI struct TRINITY_DLL_DECL boss_anub_arakAI : public ScriptedAI
@@ -55,33 +55,33 @@ struct TRINITY_DLL_DECL boss_anub_arakAI : public ScriptedAI
boss_anub_arakAI(Creature *c) : ScriptedAI(c) {} boss_anub_arakAI(Creature *c) : ScriptedAI(c) {}
uint32 phase; uint32 phase;
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
phase =1; phase =1;
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) <= 33) if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) <= 33)
phase = 2; phase = 2;
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) == 15) if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) == 15)
phase = 3; phase = 3;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
void KilledUnit(Unit *victim) void KilledUnit(Unit *victim)
{ {
if (victim == m_creature) if (victim == m_creature)
@@ -107,6 +107,6 @@ void AddSC_boss_anub_arak()
newscript = new Script; newscript = new Script;
newscript->Name="boss_anub_arak"; newscript->Name="boss_anub_arak";
newscript->GetAI = GetAI_boss_anub_arak; newscript->GetAI = &GetAI_boss_anub_arak;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -40,12 +40,12 @@ EndScriptData */
/* Script Data Start /* Script Data Start
SDName: Boss hadronox SDName: Boss hadronox
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_hadronox' where entry = ''; update creature_template set scriptname = 'boss_hadronox' where entry = '';
*** SQL END ***/ *** SQL END ***/
@@ -58,8 +58,8 @@ update creature_template set scriptname = 'boss_hadronox' where entry = '';
//Phase 0 => Gauntlet Event described below //Phase 0 => Gauntlet Event described below
//Phase 1 => Boss Encounter //Phase 1 => Boss Encounter
/*When your group enters the main room (the one after the bridge), you will notice a group of 3 Nerubians. /*When your group enters the main room (the one after the bridge), you will notice a group of 3 Nerubians.
When you engage them, 2 more groups like this one spawn behind the first one - it is important to pull the first group back, When you engage them, 2 more groups like this one spawn behind the first one - it is important to pull the first group back,
so you don't aggro all 3. Hadronox will be under you, fighting Nerubians. so you don't aggro all 3. Hadronox will be under you, fighting Nerubians.
This is the timed gauntlet - waves of non-elite spiders This is the timed gauntlet - waves of non-elite spiders
@@ -72,28 +72,28 @@ struct TRINITY_DLL_DECL boss_hadronoxAI : public ScriptedAI
boss_hadronoxAI(Creature *c) : ScriptedAI(c) {} boss_hadronoxAI(Creature *c) : ScriptedAI(c) {}
uint32 phase; uint32 phase;
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
phase =1; phase =1;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
void KilledUnit(Unit *victim) void KilledUnit(Unit *victim)
{ {
if (victim == m_creature) if (victim == m_creature)
return; return;
//when Hadronox kills any enemy (that includes a party member) she will regain 10% of her HP if the target had Leech Poison on //when Hadronox kills any enemy (that includes a party member) she will regain 10% of her HP if the target had Leech Poison on
} }
}; };
@@ -109,6 +109,6 @@ void AddSC_boss_hadronox()
newscript = new Script; newscript = new Script;
newscript->Name="boss_hadronox"; newscript->Name="boss_hadronox";
newscript->GetAI = GetAI_boss_hadronox; newscript->GetAI = &GetAI_boss_hadronox;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -24,7 +24,7 @@ SDComment: Placeholder
SDCategory: Azjol Nerub SDCategory: Azjol Nerub
EndScriptData */ EndScriptData */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_krik_thir' where entry = ''; update creature_template set scriptname = 'boss_krik_thir' where entry = '';
*** SQL END ***/ *** SQL END ***/
@@ -61,27 +61,27 @@ update creature_template set scriptname = 'boss_krik_thir' where entry = '';
struct TRINITY_DLL_DECL boss_krik_thirAI : public ScriptedAI struct TRINITY_DLL_DECL boss_krik_thirAI : public ScriptedAI
{ {
boss_krik_thirAI(Creature *c) : ScriptedAI(c) {} boss_krik_thirAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) >= 10) if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) >= 10)
{ {
//Frenzy //Frenzy
} }
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -110,7 +110,7 @@ void AddSC_boss_krik_thir()
newscript = new Script; newscript = new Script;
newscript->Name="boss_krik_thir"; newscript->Name="boss_krik_thir";
newscript->GetAI = GetAI_boss_krik_thir; newscript->GetAI = &GetAI_boss_krik_thir;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss epoch SDName: Boss epoch
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -34,24 +34,24 @@ struct TRINITY_DLL_DECL boss_epochAI : public ScriptedAI
boss_epochAI(Creature *c) : ScriptedAI(c) {} boss_epochAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -81,6 +81,6 @@ void AddSC_boss_epoch()
newscript = new Script; newscript = new Script;
newscript->Name="boss_epoch"; newscript->Name="boss_epoch";
newscript->GetAI = GetAI_boss_epoch; newscript->GetAI = &GetAI_boss_epoch;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss mal_ganis SDName: Boss mal_ganis
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_mal_ganis' where entry = ''; update creature_template set scriptname = 'boss_mal_ganis' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -34,61 +34,61 @@ update creature_template set scriptname = 'boss_mal_ganis' where entry = '';
#define SAY_SLEEP_1 -1595020 #define SAY_SLEEP_1 -1595020
#define SAY_SLEEP_2 -1595021 #define SAY_SLEEP_2 -1595021
#define SAY_30HEALTH -1595022 #define SAY_30HEALTH -1595022
#define SAY_15HEALTH -1595023 #define SAY_15HEALTH -1595023
#define SAY_ESCAPE_SPEECH_1 -1595024 #define SAY_ESCAPE_SPEECH_1 -1595024
#define SAY_ESCAPE_SPEECH_2 -1595025 #define SAY_ESCAPE_SPEECH_2 -1595025
struct TRINITY_DLL_DECL boss_mal_ganisAI : public ScriptedAI struct TRINITY_DLL_DECL boss_mal_ganisAI : public ScriptedAI
{ {
boss_mal_ganisAI(Creature *c) : ScriptedAI(c) {} boss_mal_ganisAI(Creature *c) : ScriptedAI(c) {}
bool yelled, bool yelled,
yelled2, yelled2,
yelled3; yelled3;
void Reset()
{
yelled = false;
yelled2 = false;
yelled3 = false;
}
void EnterCombat(Unit* who) void Reset()
{ {
DoScriptText(SAY_AGGRO, m_creature); yelled = false;
} yelled2 = false;
yelled3 = false;
}
void EnterCombat(Unit* who)
{
DoScriptText(SAY_AGGRO, m_creature);
}
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
if(!yelled) if(!yelled)
{ {
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 30) if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 30)
{ {
DoScriptText(SAY_30HEALTH, m_creature); DoScriptText(SAY_30HEALTH, m_creature);
yelled = true; yelled = true;
} }
} }
if(!yelled2) if(!yelled2)
{ {
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 15) if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 15)
{ {
DoScriptText(SAY_15HEALTH, m_creature); DoScriptText(SAY_15HEALTH, m_creature);
yelled2 = true; yelled2 = true;
} }
} }
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 1)
{
//Handle Escape Event
}
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 1)
{
//Handle Escape Event
}
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
@@ -118,6 +118,6 @@ void AddSC_boss_mal_ganis()
newscript = new Script; newscript = new Script;
newscript->Name="boss_mal_ganis"; newscript->Name="boss_mal_ganis";
newscript->GetAI = GetAI_boss_mal_ganis; newscript->GetAI = &GetAI_boss_mal_ganis;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -47,7 +47,7 @@ struct TRINITY_DLL_DECL boss_meathookAI : public ScriptedAI
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
std::list <Unit*>pList; std::list <Unit*>pList;
void MoveInLineOfSight(Unit* who, const uint32 diff) void MoveInLineOfSight(Unit* who, const uint32 diff)
{ {
@@ -133,6 +133,6 @@ void AddSC_boss_meathook()
newscript = new Script; newscript = new Script;
newscript->Name="boss_meathook"; newscript->Name="boss_meathook";
newscript->GetAI = GetAI_boss_meathook; newscript->GetAI = &GetAI_boss_meathook;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss salramm SDName: Boss salramm
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_salramm' where entry = ''; update creature_template set scriptname = 'boss_salramm' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -22,18 +22,18 @@ update creature_template set scriptname = 'boss_salramm' where entry = '';
//Yell //Yell
#define SAY_AGGRO -1595032 #define SAY_AGGRO -1595032
#define SAY_SPAWN -1595033 #define SAY_SPAWN -1595033
#define SAY_SLAY_1 -1595034 #define SAY_SLAY_1 -1595034
#define SAY_SLAY_2 -1595035 #define SAY_SLAY_2 -1595035
#define SAY_SLAY_3 -1595036 #define SAY_SLAY_3 -1595036
#define SAY_DEATH -1595037 #define SAY_DEATH -1595037
#define SAY_EXPLODE_GHOUL_1 -1595038 #define SAY_EXPLODE_GHOUL_1 -1595038
#define SAY_EXPLODE_GHOUL_2 -1595039 #define SAY_EXPLODE_GHOUL_2 -1595039
#define SAY_STEAL_FLESH_1 -1595040 #define SAY_STEAL_FLESH_1 -1595040
#define SAY_STEAL_FLESH_2 -1595041 #define SAY_STEAL_FLESH_2 -1595041
#define SAY_STEAL_FLESH_3 -1595042 #define SAY_STEAL_FLESH_3 -1595042
#define SAY_SUMMON_GHOULS_1 -1595043 #define SAY_SUMMON_GHOULS_1 -1595043
#define SAY_SUMMON_GHOULS_2 -1595044 #define SAY_SUMMON_GHOULS_2 -1595044
struct TRINITY_DLL_DECL boss_salrammAI : public ScriptedAI struct TRINITY_DLL_DECL boss_salrammAI : public ScriptedAI
{ {
@@ -44,8 +44,8 @@ struct TRINITY_DLL_DECL boss_salrammAI : public ScriptedAI
Shadow_bolt_Timer, Shadow_bolt_Timer,
Steal_flesh_Timer, Steal_flesh_Timer,
Summon_ghouls_Timer; Summon_ghouls_Timer;
void Reset() void Reset()
{ {
Curse_flesh_Timer = 30000; //30s DBM Curse_flesh_Timer = 30000; //30s DBM
Explode_ghoul_Timer = 25000 + rand()%3000; //approx 6 sec after summon ghouls Explode_ghoul_Timer = 25000 + rand()%3000; //approx 6 sec after summon ghouls
@@ -53,18 +53,18 @@ struct TRINITY_DLL_DECL boss_salrammAI : public ScriptedAI
Steal_flesh_Timer = 12345; Steal_flesh_Timer = 12345;
Summon_ghouls_Timer = 19000 + rand()%5000; //on a video approx 24s after aggro Summon_ghouls_Timer = 19000 + rand()%5000; //on a video approx 24s after aggro
} }
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{DoScriptText(SAY_AGGRO, m_creature);} {DoScriptText(SAY_AGGRO, m_creature);}
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
Unit* random_target = SelectUnit(SELECT_TARGET_RANDOM, 0); Unit* random_target = SelectUnit(SELECT_TARGET_RANDOM, 0);
//Curse of twisted flesh timer //Curse of twisted flesh timer
@@ -77,10 +77,11 @@ struct TRINITY_DLL_DECL boss_salrammAI : public ScriptedAI
//Shadow bolt timer //Shadow bolt timer
if (Shadow_bolt_Timer < diff) if (Shadow_bolt_Timer < diff)
{ {
DoCast(random_target,SPELL_SHADOW_BOLT_N); if(random_target)
DoCast(random_target,SPELL_SHADOW_BOLT_N);
Shadow_bolt_Timer = 8000 + rand()%4000; Shadow_bolt_Timer = 8000 + rand()%4000;
}else Shadow_bolt_Timer -= diff; }else Shadow_bolt_Timer -= diff;
//Steal Flesh timer //Steal Flesh timer
if (Steal_flesh_Timer < diff) if (Steal_flesh_Timer < diff)
{ {
@@ -96,10 +97,11 @@ struct TRINITY_DLL_DECL boss_salrammAI : public ScriptedAI
DoScriptText(SAY_STEAL_FLESH_3, m_creature); DoScriptText(SAY_STEAL_FLESH_3, m_creature);
break; break;
} }
DoCast(random_target,SPELL_STEAL_FLESH); if(random_target)
DoCast(random_target,SPELL_STEAL_FLESH);
Steal_flesh_Timer = 10000; Steal_flesh_Timer = 10000;
}else Steal_flesh_Timer -= diff; }else Steal_flesh_Timer -= diff;
//Summon ghouls timer //Summon ghouls timer
if (Summon_ghouls_Timer < diff) if (Summon_ghouls_Timer < diff)
{ {
@@ -112,16 +114,17 @@ struct TRINITY_DLL_DECL boss_salrammAI : public ScriptedAI
DoScriptText(SAY_SUMMON_GHOULS_2, m_creature); DoScriptText(SAY_SUMMON_GHOULS_2, m_creature);
break; break;
} }
DoCast(random_target,SPELL_SUMMON_GHOULS); if(random_target)
DoCast(random_target,SPELL_SUMMON_GHOULS);
Summon_ghouls_Timer = 10000; Summon_ghouls_Timer = 10000;
}else Summon_ghouls_Timer -= diff; }else Summon_ghouls_Timer -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{DoScriptText(SAY_DEATH, m_creature);} {DoScriptText(SAY_DEATH, m_creature);}
void KilledUnit(Unit *victim) void KilledUnit(Unit *victim)
{ {
if (victim == m_creature) if (victim == m_creature)
@@ -147,6 +150,6 @@ void AddSC_boss_salramm()
newscript = new Script; newscript = new Script;
newscript->Name="boss_salramm"; newscript->Name="boss_salramm";
newscript->GetAI = GetAI_boss_salramm; newscript->GetAI = &GetAI_boss_salramm;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -16,6 +16,6 @@ void AddSC_instance_culling_of_stratholme()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_culling_of_stratholme"; newscript->Name = "instance_culling_of_stratholme";
newscript->GetInstanceData = GetInstanceData_instance_culling_of_stratholme; newscript->GetInstanceData = &GetInstanceData_instance_culling_of_stratholme;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,41 +1,41 @@
/* Script Data Start /* Script Data Start
SDName: Boss dred SDName: Boss dred
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
//Spells //Spells
#define SPELL_BELLOWING_ROAR 44863 // fears the group, can be resisted/dispelled #define SPELL_BELLOWING_ROAR 44863 // fears the group, can be resisted/dispelled
#define SPELL_GRIEVOUS_BITE 48920 #define SPELL_GRIEVOUS_BITE 48920
#define SPELL_MANGLING_SLASH 48873 //casted on the current tank, adds debuf #define SPELL_MANGLING_SLASH 48873 //casted on the current tank, adds debuf
#define SPELL_FEARSOME_ROAR_N 48849 #define SPELL_FEARSOME_ROAR_N 48849
#define SPELL_FEARSOME_ROAR_H 48849 //Not stacking, debuff #define SPELL_FEARSOME_ROAR_H 48849 //Not stacking, debuff
#define SPELL_PIERCING_SLASH 48878 //debuff -->Armor reduced by 75% #define SPELL_PIERCING_SLASH 48878 //debuff -->Armor reduced by 75%
#define SPELL_RAPTOR_CALL 59416 //dummy #define SPELL_RAPTOR_CALL 59416 //dummy
struct TRINITY_DLL_DECL boss_dredAI : public ScriptedAI struct TRINITY_DLL_DECL boss_dredAI : public ScriptedAI
{ {
boss_dredAI(Creature *c) : ScriptedAI(c) {} boss_dredAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
}; };
@@ -51,6 +51,6 @@ void AddSC_boss_dred()
newscript = new Script; newscript = new Script;
newscript->Name="boss_dred"; newscript->Name="boss_dred";
newscript->GetAI = GetAI_boss_dred; newscript->GetAI = &GetAI_boss_dred;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss novos SDName: Boss novos
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_novos' where entry = ''; update creature_template set scriptname = 'boss_novos' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -27,28 +27,28 @@ update creature_template set scriptname = 'boss_novos' where entry = '';
#define SAY_AGGRO -1600000 #define SAY_AGGRO -1600000
#define SAY_KILL -1600001 #define SAY_KILL -1600001
#define SAY_DEATH -1600002 #define SAY_DEATH -1600002
#define SAY_NECRO_ADD -1600003 #define SAY_NECRO_ADD -1600003
#define SAY_REUBBLE_1 -1600004 #define SAY_REUBBLE_1 -1600004
#define SAY_REUBBLE_2 -1600005 #define SAY_REUBBLE_2 -1600005
struct TRINITY_DLL_DECL boss_novosAI : public ScriptedAI struct TRINITY_DLL_DECL boss_novosAI : public ScriptedAI
{ {
boss_novosAI(Creature *c) : ScriptedAI(c) {} boss_novosAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
void KilledUnit(Unit *victim) void KilledUnit(Unit *victim)
@@ -70,6 +70,6 @@ void AddSC_boss_novos()
newscript = new Script; newscript = new Script;
newscript->Name="boss_novos"; newscript->Name="boss_novos";
newscript->GetAI = GetAI_boss_novos; newscript->GetAI = &GetAI_boss_novos;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss tharon_ja SDName: Boss tharon_ja
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_tharon_ja' where entry = ''; update creature_template set scriptname = 'boss_tharon_ja' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -30,10 +30,10 @@ update creature_template set scriptname = 'boss_tharon_ja' where entry = '';
#define SPELL_SHADOW_VOLLEY_H 59973 #define SPELL_SHADOW_VOLLEY_H 59973
//Players skills durring Phase2 //Players skills durring Phase2
#define PLAYER_PHASE2_SLAYING_STRIKE 50799 #define PLAYER_PHASE2_SLAYING_STRIKE 50799
#define PLAYER_PHASE2_TAUNT 49613 #define PLAYER_PHASE2_TAUNT 49613
#define PLAYER_PHASE2_BONE_ARMOR 49609 #define PLAYER_PHASE2_BONE_ARMOR 49609
#define PLAYER_PHASE2_TOUCH_OF_LIFE 49617 #define PLAYER_PHASE2_TOUCH_OF_LIFE 49617
//Phase 1 all abilities except Eye beam //Phase 1 all abilities except Eye beam
//Phase 2 turns players to skeletons with new abilities, boss grows skin //Phase 2 turns players to skeletons with new abilities, boss grows skin
@@ -52,24 +52,24 @@ struct TRINITY_DLL_DECL boss_tharon_jaAI : public ScriptedAI
boss_tharon_jaAI(Creature *c) : ScriptedAI(c) {} boss_tharon_jaAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
}
void JustDied(Unit* killer)
{
DoScriptText(SAY_DEATH,m_creature);
} }
void JustDied(Unit* killer)
{
DoScriptText(SAY_DEATH,m_creature);
}
}; };
CreatureAI* GetAI_boss_tharon_ja(Creature *_Creature) CreatureAI* GetAI_boss_tharon_ja(Creature *_Creature)
@@ -83,6 +83,6 @@ void AddSC_boss_tharon_ja()
newscript = new Script; newscript = new Script;
newscript->Name="boss_tharon_ja"; newscript->Name="boss_tharon_ja";
newscript->GetAI = GetAI_boss_tharon_ja; newscript->GetAI = &GetAI_boss_tharon_ja;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss trollgore SDName: Boss trollgore
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_trollgore' where entry = ''; update creature_template set scriptname = 'boss_trollgore' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -33,21 +33,21 @@ struct TRINITY_DLL_DECL boss_trollgoreAI : public ScriptedAI
boss_trollgoreAI(Creature *c) : ScriptedAI(c) {} boss_trollgoreAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -70,6 +70,6 @@ void AddSC_boss_trollgore()
newscript = new Script; newscript = new Script;
newscript->Name="boss_trollgore"; newscript->Name="boss_trollgore";
newscript->GetAI = GetAI_boss_trollgore; newscript->GetAI = &GetAI_boss_trollgore;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -16,6 +16,6 @@ void AddSC_instance_drak_tharon()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_drak_tharon"; newscript->Name = "instance_drak_tharon";
newscript->GetInstanceData = GetInstanceData_instance_drak_tharon; newscript->GetInstanceData = &GetInstanceData_instance_drak_tharon;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -245,7 +245,7 @@ void npc_unworthy_initiateAI::UpdateAI(const uint32 diff)
switch(phase) switch(phase)
{ {
case Chained: case Chained:
if(!m_creature->HasAura(SPELL_SOUL_PRISON_CHAIN)) if(!m_creature->HasAura(SPELL_SOUL_PRISON_CHAIN))
{ {
float x, y, z; float x, y, z;
float dist = 99; float dist = 99;
@@ -351,7 +351,7 @@ bool GOHello_go_acherus_soul_prison(Player *player, GameObject* _GO)
uint64 owner = ((npc_unworthy_initiate_anchorAI*)((Creature*)prison_anchor)->AI())->GetTarget(); uint64 owner = ((npc_unworthy_initiate_anchorAI*)((Creature*)prison_anchor)->AI())->GetTarget();
Creature* prisoner = Creature::GetCreature((*player),owner); Creature* prisoner = Creature::GetCreature((*player),owner);
if(prisoner && prison_anchor) if(prisoner && prison_anchor)
{ {
((npc_unworthy_initiateAI*)(prisoner->AI()))->EventStart((Creature*)prison_anchor,player); ((npc_unworthy_initiateAI*)(prisoner->AI()))->EventStart((Creature*)prison_anchor,player);
@@ -367,12 +367,12 @@ void AddSC_the_scarlet_enclave()
newscript = new Script; newscript = new Script;
newscript->Name="npc_unworthy_initiate"; newscript->Name="npc_unworthy_initiate";
newscript->GetAI = GetAI_npc_unworthy_initiate; newscript->GetAI = &GetAI_npc_unworthy_initiate;
newscript->RegisterSelf(); newscript->RegisterSelf();
newscript = new Script; newscript = new Script;
newscript->Name="npc_unworthy_initiate_anchor"; newscript->Name="npc_unworthy_initiate_anchor";
newscript->GetAI = GetAI_npc_unworthy_initiate_anchor; newscript->GetAI = &GetAI_npc_unworthy_initiate_anchor;
newscript->RegisterSelf(); newscript->RegisterSelf();
newscript = new Script; newscript = new Script;
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss Drakkari Colossus SDName: Boss Drakkari Colossus
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -21,20 +21,20 @@ struct TRINITY_DLL_DECL boss_drakkari_colossusAI : public ScriptedAI
boss_drakkari_colossusAI(Creature *c) : ScriptedAI(c) {} boss_drakkari_colossusAI(Creature *c) : ScriptedAI(c) {}
uint32 phase; uint32 phase;
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
phase =1; phase =1;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
}; };
@@ -50,6 +50,6 @@ void AddSC_boss_drakkari_colossus()
newscript = new Script; newscript = new Script;
newscript->Name="boss_drakkari_colossus"; newscript->Name="boss_drakkari_colossus";
newscript->GetAI = GetAI_boss_drakkari_colossus; newscript->GetAI = &GetAI_boss_drakkari_colossus;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss Eck the Ferocious SDName: Boss Eck the Ferocious
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: Only appears in Heroic mode SDComment: Only appears in Heroic mode
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -22,29 +22,29 @@ struct TRINITY_DLL_DECL boss_eckAI : public ScriptedAI
boss_eckAI(Creature *c) : ScriptedAI(c) {} boss_eckAI(Creature *c) : ScriptedAI(c) {}
uint32 berserk; uint32 berserk;
void Reset() void Reset()
{ {
//Source Deadly Boss Mod //Source Deadly Boss Mod
berserk = 120000; //2min berserk = 120000; //2min
} }
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
if(berserk < diff) if(berserk < diff)
{ {
DoCast(m_creature,SPELL_ECK_BERSERK); DoCast(m_creature,SPELL_ECK_BERSERK);
berserk = 120000; berserk = 120000;
}else berserk -= diff; }else berserk -= diff;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
}; };
@@ -60,6 +60,6 @@ void AddSC_boss_eck()
newscript = new Script; newscript = new Script;
newscript->Name="boss_eck"; newscript->Name="boss_eck";
newscript->GetAI = GetAI_boss_eck; newscript->GetAI = &GetAI_boss_eck;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss gal_darah SDName: Boss gal_darah
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -37,21 +37,21 @@ struct TRINITY_DLL_DECL boss_gal_darahAI : public ScriptedAI
boss_gal_darahAI(Creature *c) : ScriptedAI(c) {} boss_gal_darahAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -80,6 +80,6 @@ void AddSC_boss_gal_darah()
newscript = new Script; newscript = new Script;
newscript->Name="boss_gal_darah"; newscript->Name="boss_gal_darah";
newscript->GetAI = GetAI_boss_gal_darah; newscript->GetAI = &GetAI_boss_gal_darah;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss moorabi SDName: Boss moorabi
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_moorabi' where entry = ''; update creature_template set scriptname = 'boss_moorabi' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -37,24 +37,24 @@ struct TRINITY_DLL_DECL boss_moorabiAI : public ScriptedAI
boss_moorabiAI(Creature *c) : ScriptedAI(c) {} boss_moorabiAI(Creature *c) : ScriptedAI(c) {}
uint32 phase; uint32 phase;
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
phase =1; phase =1;
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -83,6 +83,6 @@ void AddSC_boss_moorabi()
newscript = new Script; newscript = new Script;
newscript->Name="boss_moorabi"; newscript->Name="boss_moorabi";
newscript->GetAI = GetAI_boss_moorabi; newscript->GetAI = &GetAI_boss_moorabi;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss slad_ran SDName: Boss slad_ran
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_slad_ran' where entry = ''; update creature_template set scriptname = 'boss_slad_ran' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -29,20 +29,20 @@ update creature_template set scriptname = 'boss_slad_ran' where entry = '';
#define SAY_SLAY_3 -1604020 #define SAY_SLAY_3 -1604020
#define SAY_DEATH -1604021 #define SAY_DEATH -1604021
#define SAY_SUMMON_SNAKES -1604022 //npc 29680 #define SAY_SUMMON_SNAKES -1604022 //npc 29680
#define SAY_SUMMON_CONSTRICTORS -1604023 //npc 29713, can cast Grip of Slad'ran (spell 55093) #define SAY_SUMMON_CONSTRICTORS -1604023 //npc 29713, can cast Grip of Slad'ran (spell 55093)
struct TRINITY_DLL_DECL boss_slad_ranAI : public ScriptedAI struct TRINITY_DLL_DECL boss_slad_ranAI : public ScriptedAI
{ {
boss_slad_ranAI(Creature *c) : ScriptedAI(c) {} boss_slad_ranAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
@@ -58,10 +58,10 @@ struct TRINITY_DLL_DECL boss_slad_ranAI : public ScriptedAI
//Summon 3 constrictors --> npc 29713 //Summon 3 constrictors --> npc 29713
DoScriptText(SAY_SUMMON_CONSTRICTORS,m_creature); DoScriptText(SAY_SUMMON_CONSTRICTORS,m_creature);
} }
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -90,6 +90,6 @@ void AddSC_boss_slad_ran()
newscript = new Script; newscript = new Script;
newscript->Name="boss_slad_ran"; newscript->Name="boss_slad_ran";
newscript->GetAI = GetAI_boss_slad_ran; newscript->GetAI = &GetAI_boss_slad_ran;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -16,6 +16,6 @@ void AddSC_instance_gundrak()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_gundrak"; newscript->Name = "instance_gundrak";
newscript->GetInstanceData = GetInstanceData_instance_gundrak; newscript->GetInstanceData = &GetInstanceData_instance_gundrak;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -86,7 +86,7 @@ struct TRINITY_DLL_DECL boss_grobbulusAI : public ScriptedAI
case EVENT_CLOUD: case EVENT_CLOUD:
DoCastAOE(SPELL_POISON_CLOUD); DoCastAOE(SPELL_POISON_CLOUD);
events.ScheduleEvent(EVENT_CLOUD, 15000); events.ScheduleEvent(EVENT_CLOUD, 15000);
return; return;
case EVENT_BERSERK: case EVENT_BERSERK:
DoCastAOE(SPELL_BERSERK); DoCastAOE(SPELL_BERSERK);
return; return;
@@ -77,7 +77,7 @@ I also don't know the emotes
//common needed defines //common needed defines
#define NAXXRAMAS_MAP 533 #define NAXXRAMAS_MAP 533
//Positional defines //Positional defines
//spells to be casted //spells to be casted
#define SPELL_FROST_BOLT 28478 #define SPELL_FROST_BOLT 28478
@@ -93,7 +93,7 @@ I also don't know the emotes
#define NORMAL_RAID 10 #define NORMAL_RAID 10
//creature needed summoned //creature needed summoned
#define MOB_SUMMON_WASTE 16427 //Soldiers of the Frozen Wastes #define MOB_SUMMON_WASTE 16427 //Soldiers of the Frozen Wastes
#define MOB_SUMMON_ABOMINATION 16428 //Unstoppable Abominations #define MOB_SUMMON_ABOMINATION 16428 //Unstoppable Abominations
#define MOB_SUMMON_WEAVER 16429//Soul Weavers #define MOB_SUMMON_WEAVER 16429//Soul Weavers
#define MOB_SUMMON_FISSURE 16129 // Shadow Fissure #define MOB_SUMMON_FISSURE 16129 // Shadow Fissure
@@ -102,17 +102,17 @@ I also don't know the emotes
float Pos[12][4] = float Pos[12][4] =
{ {
{3783.272705, -5062.697266, 143.711203,3.617599},//LEFT_FAR {3783.272705, -5062.697266, 143.711203,3.617599},//LEFT_FAR
{3730.291260, -5027.239258,143.956909,4.461900},//LEFT_MIDDLE {3730.291260, -5027.239258,143.956909,4.461900},//LEFT_MIDDLE
{3683.868652,-5057.281250,143.183884,5.237086},//LEFT_NEAR {3683.868652,-5057.281250,143.183884,5.237086},//LEFT_NEAR
{3759.355225,-5174.128418,143.802383,2.170104},//RIGHT_FAR {3759.355225,-5174.128418,143.802383,2.170104},//RIGHT_FAR
{370.724365,-5185.123047,143.928024,1.309310},//RIGHT_MIDDLE {370.724365,-5185.123047,143.928024,1.309310},//RIGHT_MIDDLE
{3665.121094,-5138.679199,143.183212,0.604023},//RIGHT_NEAR {3665.121094,-5138.679199,143.183212,0.604023},//RIGHT_NEAR
{3754.431396,-5080.727734,142.036316,3.736189},//LEFT_FAR {3754.431396,-5080.727734,142.036316,3.736189},//LEFT_FAR
{3724.396484, -5061.330566,142.032700, 4.564785},//LEFT_MIDDLE {3724.396484, -5061.330566,142.032700, 4.564785},//LEFT_MIDDLE
{3687.158424,-5076.834473,142.017319,5.237086},//LEFT_NEAR {3687.158424,-5076.834473,142.017319,5.237086},//LEFT_NEAR
{3687.571777,-5126.831055,142.017807,0.604023},//RIGHT_FAR {3687.571777,-5126.831055,142.017807,0.604023},//RIGHT_FAR
{3707.990733,-5151.450195,142.032562,1.376855},//RIGHT_MIDDLE {3707.990733,-5151.450195,142.032562,1.376855},//RIGHT_MIDDLE
{3739.500000,-5141.883989,142.0141130, 2.121412}//RIGHT_NEAR {3739.500000,-5141.883989,142.0141130, 2.121412}//RIGHT_NEAR
}; };
struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
@@ -131,7 +131,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
uint32 GuardiansOfIcecrown_Count; uint32 GuardiansOfIcecrown_Count;
uint32 GuardiansOfIcecrown_Timer; uint32 GuardiansOfIcecrown_Timer;
//phase==1 summon_timer //phase==1 summon_timer
uint32 SummonWasters_Timer; uint32 SummonWasters_Timer;
uint32 SummonAbominations_Timer; uint32 SummonAbominations_Timer;
uint32 SummonAWeavers_Timer; uint32 SummonAWeavers_Timer;
@@ -142,16 +142,16 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
uint32 ChainsOfKelthuzad_Timer; uint32 ChainsOfKelthuzad_Timer;
uint32 ManaDetonation_Timer; uint32 ManaDetonation_Timer;
uint32 ShadowFisure_Timer; uint32 ShadowFisure_Timer;
uint32 FrostBlast_Timer; uint32 FrostBlast_Timer;
uint32 Phase1_Timer; uint32 Phase1_Timer;
uint32 Phase; uint32 Phase;
void Reset() void Reset()
{ {
SummonWasters_Timer=3000; // 3s summon waster SummonWasters_Timer=3000; // 3s summon waster
SummonAbominations_Timer=25000; //25s summon abomination SummonAbominations_Timer=25000; //25s summon abomination
SummonAWeavers_Timer=20000; //20s summon Weavers SummonAWeavers_Timer=20000; //20s summon Weavers
FrostBolt_Timer = 2000; //2s CD FrostBolt_Timer = 2000; //2s CD
FrostBoltNova_Timer = 15000; //Cast every 15 seconds FrostBoltNova_Timer = 15000; //Cast every 15 seconds
@@ -208,7 +208,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
return; return;
if (Phase1_Timer<diff && Phase==1) if (Phase1_Timer<diff && Phase==1)
{ {
Phase=2; Phase=2;
}else Phase1_Timer-=diff; }else Phase1_Timer-=diff;
if(Phase == 1) if(Phase == 1)
@@ -217,7 +217,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
EnterEvadeMode(); EnterEvadeMode();
//SummonWasters_Timer at far positon //SummonWasters_Timer at far positon
if ( SummonWasters_Timer< diff) if ( SummonWasters_Timer< diff)
{ {
Creature *Waster = NULL; Creature *Waster = NULL;
switch(rand()%4) switch(rand()%4)
@@ -226,7 +226,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
case 1: Waster = m_creature->SummonCreature(MOB_SUMMON_WASTE,Pos[3][0], Pos[3][1], Pos[3][2], Pos[3][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break; case 1: Waster = m_creature->SummonCreature(MOB_SUMMON_WASTE,Pos[3][0], Pos[3][1], Pos[3][2], Pos[3][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break;
case 2: Waster = m_creature->SummonCreature(MOB_SUMMON_WASTE,Pos[6][0], Pos[6][1], Pos[6][2], Pos[6][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break; case 2: Waster = m_creature->SummonCreature(MOB_SUMMON_WASTE,Pos[6][0], Pos[6][1], Pos[6][2], Pos[6][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break;
case 3: Waster = m_creature->SummonCreature(MOB_SUMMON_WASTE,Pos[9][0], Pos[9][1], Pos[9][2], Pos[9][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break; case 3: Waster = m_creature->SummonCreature(MOB_SUMMON_WASTE,Pos[9][0], Pos[9][1], Pos[9][2], Pos[9][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break;
} }
if(Waster) if(Waster)
{ {
@@ -240,7 +240,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
//MOB_SUMMON_ABOMINATION at middle positon //MOB_SUMMON_ABOMINATION at middle positon
if ( SummonAbominations_Timer< diff) if ( SummonAbominations_Timer< diff)
{ {
Creature *Abominations = NULL; Creature *Abominations = NULL;
switch(rand()%4) switch(rand()%4)
@@ -249,7 +249,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
case 1: Abominations = m_creature->SummonCreature(MOB_SUMMON_ABOMINATION,Pos[4][0], Pos[4][1], Pos[4][2], Pos[4][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break; case 1: Abominations = m_creature->SummonCreature(MOB_SUMMON_ABOMINATION,Pos[4][0], Pos[4][1], Pos[4][2], Pos[4][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break;
case 2: Abominations = m_creature->SummonCreature(MOB_SUMMON_ABOMINATION,Pos[7][0], Pos[7][1], Pos[7][2], Pos[7][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break; case 2: Abominations = m_creature->SummonCreature(MOB_SUMMON_ABOMINATION,Pos[7][0], Pos[7][1], Pos[7][2], Pos[7][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break;
case 3: Abominations = m_creature->SummonCreature(MOB_SUMMON_ABOMINATION,Pos[10][0], Pos[10][1], Pos[10][2], Pos[10][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break; case 3: Abominations = m_creature->SummonCreature(MOB_SUMMON_ABOMINATION,Pos[10][0], Pos[10][1], Pos[10][2], Pos[10][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break;
} }
if(Abominations) if(Abominations)
{ {
@@ -263,7 +263,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
//SummonAWeavers_Timer at far positon //SummonAWeavers_Timer at far positon
if ( SummonAWeavers_Timer< diff) if ( SummonAWeavers_Timer< diff)
{ {
Creature *Weavers = NULL; Creature *Weavers = NULL;
switch(rand()%4) switch(rand()%4)
@@ -272,7 +272,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
case 1: Weavers = m_creature->SummonCreature(MOB_SUMMON_WEAVER,Pos[3][0], Pos[3][1], Pos[3][2], Pos[3][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break; case 1: Weavers = m_creature->SummonCreature(MOB_SUMMON_WEAVER,Pos[3][0], Pos[3][1], Pos[3][2], Pos[3][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break;
case 2: Weavers = m_creature->SummonCreature(MOB_SUMMON_WEAVER,Pos[6][0], Pos[6][1], Pos[6][2], Pos[6][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break; case 2: Weavers = m_creature->SummonCreature(MOB_SUMMON_WEAVER,Pos[6][0], Pos[6][1], Pos[6][2], Pos[6][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break;
case 3: Weavers = m_creature->SummonCreature(MOB_SUMMON_WEAVER,Pos[9][0], Pos[9][1], Pos[9][2], Pos[9][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break; case 3: Weavers = m_creature->SummonCreature(MOB_SUMMON_WEAVER,Pos[9][0], Pos[9][1], Pos[9][2], Pos[9][3], TEMPSUMMON_CORPSE_DESPAWN, 0); break;
} }
if(Weavers) if(Weavers)
{ {
@@ -287,7 +287,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
} }
if( Phase!=1 && m_creature->getVictim() && m_creature->isAlive()) if( Phase!=1 && m_creature->getVictim() && m_creature->isAlive())
{ {
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
//Check for Frost Bolt //Check for Frost Bolt
@@ -323,7 +323,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
if(ManaDetonation_Timer < diff) if(ManaDetonation_Timer < diff)
{ {
Unit* target; Unit* target;
//select a manaplayer during 10 raid ,how to make sure we can succed in finding a manaplayer or it's safty if there is no manaplayer in raid //select a manaplayer during 10 raid ,how to make sure we can succed in finding a manaplayer or it's safty if there is no manaplayer in raid
for(uint8 i = 0; i <NORMAL_RAID; i++) for(uint8 i = 0; i <NORMAL_RAID; i++)
{ {
if (target = SelectUnit(SELECT_TARGET_RANDOM,0)) if (target = SelectUnit(SELECT_TARGET_RANDOM,0))
@@ -344,8 +344,8 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
ManaDetonation_Timer = 20000; ManaDetonation_Timer = 20000;
}else ManaDetonation_Timer -= diff; }else ManaDetonation_Timer -= diff;
//Summons a Shadow Fissure underneath a random player. //Summons a Shadow Fissure underneath a random player.
//The fissure will stay inactive for about 3 seconds, after which it will become a beam of purple energy, //The fissure will stay inactive for about 3 seconds, after which it will become a beam of purple energy,
//instantly killing the player if they remain in it. //instantly killing the player if they remain in it.
if(ShadowFisure_Timer < diff) if(ShadowFisure_Timer < diff)
@@ -365,22 +365,22 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
DoCast(target,SPELL_SHADOW_FISURE); DoCast(target,SPELL_SHADOW_FISURE);
Fissure->AI()->AttackStart(target); Fissure->AI()->AttackStart(target);
} }
} }
if (rand()%2) if (rand()%2)
DoScriptText(SAY_SPECIAL3_MANA_DET, m_creature); DoScriptText(SAY_SPECIAL3_MANA_DET, m_creature);
ShadowFisure_Timer = 25000; ShadowFisure_Timer = 25000;
}else ShadowFisure_Timer -= diff; }else ShadowFisure_Timer -= diff;
//cast Frost Blast to a random player //cast Frost Blast to a random player
if(FrostBlast_Timer < diff) if(FrostBlast_Timer < diff)
{ {
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0)) if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0))
{ {
DoCast(target,SPELL_FROST_BLAST); DoCast(target,SPELL_FROST_BLAST);
//obviously the spell doesn't work like the description //obviously the spell doesn't work like the description
//So, we need script this spell? //So, we need script this spell?
} }
if(rand()%2 == 0) if(rand()%2 == 0)
DoScriptText(SAY_FROST_BLAST, m_creature); DoScriptText(SAY_FROST_BLAST, m_creature);
FrostBlast_Timer = (rand()%30+30)*1000; FrostBlast_Timer = (rand()%30+30)*1000;
@@ -399,8 +399,8 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
if(Phase==3 && (GuardiansOfIcecrown_Count < 2)) //in normal raid ,only two Icecrown if(Phase==3 && (GuardiansOfIcecrown_Count < 2)) //in normal raid ,only two Icecrown
if(GuardiansOfIcecrown_Timer < diff) if(GuardiansOfIcecrown_Timer < diff)
{ {
//Summon a Guardian of Icecrown in a random alcove //Summon a Guardian of Icecrown in a random alcove
TempSummon* pUnit = NULL; TempSummon* pUnit = NULL;
switch(rand()%3) switch(rand()%3)
{ {
case 0: case 0:
@@ -411,7 +411,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI
break; break;
case 2: case 2:
pUnit = m_creature->SummonCreature(MOB_SUMMON_ICECROWN,Pos[8][0],Pos[8][1],Pos[8][2],Pos[8][3],TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,1000); pUnit = m_creature->SummonCreature(MOB_SUMMON_ICECROWN,Pos[8][0],Pos[8][1],Pos[8][2],Pos[8][3],TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,1000);
break; break;
} }
if (pUnit) if (pUnit)
@@ -47,7 +47,7 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public ScriptedAI
uint32 FrostAura_Timer; uint32 FrostAura_Timer;
uint32 LifeDrain_Timer; uint32 LifeDrain_Timer;
uint32 Blizzard_Timer; uint32 Blizzard_Timer;
uint32 Tail_Sweep_Timer; uint32 Tail_Sweep_Timer;
uint32 Cleave_Timer; uint32 Cleave_Timer;
uint32 Fly_Timer; uint32 Fly_Timer;
uint32 Fly2_Timer; uint32 Fly2_Timer;
@@ -104,14 +104,14 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public ScriptedAI
if(Blizzard_Timer < diff) if(Blizzard_Timer < diff)
{ {
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0)) if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0))
{ {
DoCast(target,SPELL_BLIZZARD); DoCast(target,SPELL_BLIZZARD);
//It seems NO damage? //It seems NO damage?
} }
Blizzard_Timer = 20000; Blizzard_Timer = 20000;
}else Blizzard_Timer -= diff; }else Blizzard_Timer -= diff;
//SPELL_CLEAVE //SPELL_CLEAVE
if(Cleave_Timer < diff) if(Cleave_Timer < diff)
{ {
DoCast(m_creature->getVictim(),SPELL_CLEAVE); DoCast(m_creature->getVictim(),SPELL_CLEAVE);
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss malygos SDName: Boss malygos
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -19,7 +19,7 @@ update creature_template set scriptname = '' where entry = '';
#define SPELL_ARCANE_STORM_2 61693 #define SPELL_ARCANE_STORM_2 61693
#define SPELL_ARCANE_STORM_3 61694 #define SPELL_ARCANE_STORM_3 61694
#define SPELL_STATIC_FIELD 57430 #define SPELL_STATIC_FIELD 57430
#define SPELL_SURGE_OF_POWER_1 56505 #define SPELL_SURGE_OF_POWER_1 56505
#define SPELL_SURGE_OF_POWER_2 57407 #define SPELL_SURGE_OF_POWER_2 57407
#define SPELL_SURGE_OF_POWER_3 60936 #define SPELL_SURGE_OF_POWER_3 60936
#define SPELL_VORTEX 56105 #define SPELL_VORTEX 56105
@@ -31,28 +31,28 @@ update creature_template set scriptname = '' where entry = '';
#define SPELL_DMOUNT_REVIVIFY 57090 #define SPELL_DMOUNT_REVIVIFY 57090
#define SPELL_DMOUNT_LIFE_BURST 57143 #define SPELL_DMOUNT_LIFE_BURST 57143
#define SPELL_DMOUNT_FLAME_SHIELD 57108 #define SPELL_DMOUNT_FLAME_SHIELD 57108
//#define SPELL_DMOUNT_UNKNOWN XYZ //Increases your drake's flight speed by 500%. //#define SPELL_DMOUNT_UNKNOWN XYZ //Increases your drake's flight speed by 500%.
//Yell //Yell
//-->Other //-->Other
#define SAY_ANTI_MAGIC_SHELL -1616000 #define SAY_ANTI_MAGIC_SHELL -1616000
#define SAY_BREATH_ATTACK -1616001 #define SAY_BREATH_ATTACK -1616001
#define SAY_HIGH_DAMAGE_MODE -1616002 #define SAY_HIGH_DAMAGE_MODE -1616002
#define SAY_MAGIC_BLAST -1616003 #define SAY_MAGIC_BLAST -1616003
//--> Generic Spells //--> Generic Spells
#define SAY_GENERIC_SPELL_1 -1616004 #define SAY_GENERIC_SPELL_1 -1616004
#define SAY_GENERIC_SPELL_2 -1616005 #define SAY_GENERIC_SPELL_2 -1616005
#define SAY_GENERIC_SPELL_3 -1616006 #define SAY_GENERIC_SPELL_3 -1616006
#define SAY_DEATH -1616007 #define SAY_DEATH -1616007
//--> Prefight //--> Prefight
#define SAY_PREFIGHT_1 -1616008 #define SAY_PREFIGHT_1 -1616008
#define SAY_PREFIGHT_2 -1616009 #define SAY_PREFIGHT_2 -1616009
#define SAY_PREFIGHT_3 -1616010 #define SAY_PREFIGHT_3 -1616010
#define SAY_PREFIGHT_4 -1616011 #define SAY_PREFIGHT_4 -1616011
#define SAY_PREFIGHT_5 -1616012 #define SAY_PREFIGHT_5 -1616012
//--> Phase1 //--> Phase1
#define SAY_PHASE1_AGGRO -1616013 #define SAY_PHASE1_AGGRO -1616013
#define SAY_PHASE1_END -1616014 #define SAY_PHASE1_END -1616014
#define SAY_PHASE1_SLAY_1 -1616015 #define SAY_PHASE1_SLAY_1 -1616015
#define SAY_PHASE1_SLAY_2 -1616016 #define SAY_PHASE1_SLAY_2 -1616016
@@ -64,8 +64,8 @@ update creature_template set scriptname = '' where entry = '';
During this phase he drops anti-magic zones onto the ground the raid MUST stand inside of, it reduces magical damage taken by 50%. They shrink over time, so it's important that your raid moves to each new one he drops. During this phase he drops anti-magic zones onto the ground the raid MUST stand inside of, it reduces magical damage taken by 50%. They shrink over time, so it's important that your raid moves to each new one he drops.
Throughout the phase, he will deep breath doing ~4k damage per second, unless you are standing inside of the anti-magic zone. Throughout the phase, he will deep breath doing ~4k damage per second, unless you are standing inside of the anti-magic zone.
The way the fight works during this phase is there are NPCs riding around on disks in the room. There are two types of mobs, Lords and Scions. The way the fight works during this phase is there are NPCs riding around on disks in the room. There are two types of mobs, Lords and Scions.
The Lords will move down onto the group, and need to be tanked (They will one-shot a non-tank). After they die, they drop a disk that a raid member can mount onto, which allows them to fly, to attack the Scions that do not come down to the ground. The Lords will move down onto the group, and need to be tanked (They will one-shot a non-tank). After they die, they drop a disk that a raid member can mount onto, which allows them to fly, to attack the Scions that do not come down to the ground.
It is recommended to let melee take the first disks, then ranged. As those mobs die, they also drop disks, which allows the rest of your dps to get onto them. It is recommended to let melee take the first disks, then ranged. As those mobs die, they also drop disks, which allows the rest of your dps to get onto them.
The Scions will continually cast Arcane Blast on random targets on the floor, which is mitigated by the anti-magic zones. While mounted on a disk, you will not take damage. The Scions will continually cast Arcane Blast on random targets on the floor, which is mitigated by the anti-magic zones. While mounted on a disk, you will not take damage.
After all of the NPCs riding on the disks die, the players on the disks need to dismount as Phase 3 is about to begin.*/ After all of the NPCs riding on the disks die, the players on the disks need to dismount as Phase 3 is about to begin.*/
@@ -88,13 +88,13 @@ struct TRINITY_DLL_DECL boss_malygosAI : public ScriptedAI
uint32 phase, uint32 phase,
enrage; enrage;
void Reset() void Reset()
{ {
//Source Deadly Boss Mod //Source Deadly Boss Mod
enrage = 615000; //10 min enrage = 615000; //10 min
} }
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
if(phase == 1) if(phase == 1)
DoScriptText(SAY_PHASE1_AGGRO, m_creature); DoScriptText(SAY_PHASE1_AGGRO, m_creature);
@@ -105,23 +105,23 @@ struct TRINITY_DLL_DECL boss_malygosAI : public ScriptedAI
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
phase =1; phase =1;
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) <= 50){ if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) <= 50){
phase = 2; phase = 2;
//spawn adds //spawn adds
//set malygos unatackable untill all adds spawned dead //set malygos unatackable untill all adds spawned dead
//start phase3 //start phase3
} }
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -165,6 +165,6 @@ void AddSC_boss_malygos()
newscript = new Script; newscript = new Script;
newscript->Name="boss_malygos"; newscript->Name="boss_malygos";
newscript->GetAI = GetAI_boss_malygos; newscript->GetAI = &GetAI_boss_malygos;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -16,6 +16,6 @@ void AddSC_instance_eye_of_eternity()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_eye_of_eternity"; newscript->Name = "instance_eye_of_eternity";
newscript->GetInstanceData = GetInstanceData_instance_eye_of_eternity; newscript->GetInstanceData = &GetInstanceData_instance_eye_of_eternity;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss anomalus SDName: Boss anomalus
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -34,18 +34,18 @@ struct TRINITY_DLL_DECL boss_anomalusAI : public ScriptedAI
boss_anomalusAI(Creature *c) : ScriptedAI(c) {} boss_anomalusAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
//Source DBM //Source DBM
if((((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 80) && ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) > 77)) if((((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 80) && ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) > 77))
|| (((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 55) && ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) > 52)) || (((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 55) && ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) > 52))
@@ -53,10 +53,10 @@ struct TRINITY_DLL_DECL boss_anomalusAI : public ScriptedAI
{ {
//Summon rift at a random location //Summon rift at a random location
} }
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -79,13 +79,13 @@ struct TRINITY_DLL_DECL mob_crazed_mana_wraithAI : public ScriptedAI
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
}; };
@@ -102,13 +102,13 @@ struct TRINITY_DLL_DECL npc_chaotic_riftAI : public ScriptedAI
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
}; };
@@ -134,16 +134,16 @@ void AddSC_boss_anomalus()
newscript = new Script; newscript = new Script;
newscript->Name="boss_anomalus"; newscript->Name="boss_anomalus";
newscript->GetAI = GetAI_boss_anomalus; newscript->GetAI = &GetAI_boss_anomalus;
newscript->RegisterSelf(); newscript->RegisterSelf();
newscript = new Script; newscript = new Script;
newscript->Name="mob_crazed_mana_wraith"; newscript->Name="mob_crazed_mana_wraith";
newscript->GetAI = GetAI_mob_crazed_mana_wraith; newscript->GetAI = &GetAI_mob_crazed_mana_wraith;
newscript->RegisterSelf(); newscript->RegisterSelf();
newscript = new Script; newscript = new Script;
newscript->Name="npc_chaotic_rift"; newscript->Name="npc_chaotic_rift";
newscript->GetAI = GetAI_npc_chaotic_rift; newscript->GetAI = &GetAI_npc_chaotic_rift;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss keristrasza SDName: Boss keristrasza
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_maiden_of_grief' where entry = ''; update creature_template set scriptname = 'boss_maiden_of_grief' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -30,20 +30,20 @@ update creature_template set scriptname = 'boss_maiden_of_grief' where entry = '
struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
{ {
boss_keristraszaAI(Creature *c) : ScriptedAI(c) {} boss_keristraszaAI(Creature *c) : ScriptedAI(c) {}
bool enraged; bool enraged;
void Reset() void Reset()
{ {
enraged = false; enraged = false;
} }
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
@@ -58,10 +58,10 @@ struct TRINITY_DLL_DECL boss_keristraszaAI : public ScriptedAI
enraged = true; enraged = true;
} }
} }
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -84,6 +84,6 @@ void AddSC_boss_keristrasza()
newscript = new Script; newscript = new Script;
newscript->Name="boss_keristrasza"; newscript->Name="boss_keristrasza";
newscript->GetAI = GetAI_boss_keristrasza; newscript->GetAI = &GetAI_boss_keristrasza;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss magus_telestra SDName: Boss magus_telestra
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -45,8 +45,8 @@ update creature_template set scriptname = '' where entry = '';
#define SPELL_TIME_STOP 47736 #define SPELL_TIME_STOP 47736
//Yell //Yell
#define SAY_AGGRO -1576010 #define SAY_AGGRO -1576010
#define SAY_KILL -1576011 #define SAY_KILL -1576011
#define SAY_DEATH -1576012 #define SAY_DEATH -1576012
#define SAY_MERGE -1576013 #define SAY_MERGE -1576013
#define SAY_SPLIT_1 -1576014 #define SAY_SPLIT_1 -1576014
@@ -57,43 +57,43 @@ struct TRINITY_DLL_DECL boss_magus_telestraAI : public ScriptedAI
{ {
boss_magus_telestraAI(Creature *c) : ScriptedAI(c) {} boss_magus_telestraAI(Creature *c) : ScriptedAI(c) {}
bool splited; bool splited;
uint64 Magus_frost, uint64 Magus_frost,
Magus_fire, Magus_fire,
Magus_arcane; Magus_arcane;
void Reset() void Reset()
{ {
splited = false; splited = false;
} }
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
if(!splited) if(!splited)
{ {
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) <= 50) if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) <= 50)
{ {
DoScriptText(SAY_SPLIT_1, m_creature); DoScriptText(SAY_SPLIT_1, m_creature);
//HandleSplit //HandleSplit
splited = true; splited = true;
} }
} }
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
void KilledUnit(Unit *victim) void KilledUnit(Unit *victim)
{ {
if(victim == m_creature) if(victim == m_creature)
@@ -113,6 +113,6 @@ void AddSC_boss_magus_telestra()
newscript = new Script; newscript = new Script;
newscript->Name="boss_magus_telestra"; newscript->Name="boss_magus_telestra";
newscript->GetAI = GetAI_boss_magus_telestra; newscript->GetAI = &GetAI_boss_magus_telestra;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss ormorok SDName: Boss ormorok
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -34,23 +34,23 @@ struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI
boss_ormorokAI(Creature *c) : ScriptedAI(c) {} boss_ormorokAI(Creature *c) : ScriptedAI(c) {}
bool frenzy; bool frenzy;
void Reset() void Reset()
{ {
frenzy = false; frenzy = false;
} }
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) == 25) if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) == 25)
{ {
if(!frenzy) if(!frenzy)
@@ -59,10 +59,10 @@ struct TRINITY_DLL_DECL boss_ormorokAI : public ScriptedAI
frenzy = true; frenzy = true;
} }
} }
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -85,6 +85,6 @@ void AddSC_boss_ormorok()
newscript = new Script; newscript = new Script;
newscript->Name="boss_ormorok"; newscript->Name="boss_ormorok";
newscript->GetAI = GetAI_boss_ormorok; newscript->GetAI = &GetAI_boss_ormorok;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss Commander Kolurg SDName: Boss Commander Kolurg
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: Only Alliance Heroic SDComment: Only Alliance Heroic
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_commander_kolurg' where entry = ''; update creature_template set scriptname = 'boss_commander_kolurg' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -25,18 +25,18 @@ update creature_template set scriptname = 'boss_commander_kolurg' where entry =
struct TRINITY_DLL_DECL boss_commander_kolurgAI : public ScriptedAI struct TRINITY_DLL_DECL boss_commander_kolurgAI : public ScriptedAI
{ {
boss_commander_kolurgAI(Creature *c) : ScriptedAI(c) {} boss_commander_kolurgAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
}; };
@@ -52,6 +52,6 @@ void AddSC_boss_commander_kolurg()
newscript = new Script; newscript = new Script;
newscript->Name="boss_commander_kolurg"; newscript->Name="boss_commander_kolurg";
newscript->GetAI = GetAI_boss_commander_kolurg; newscript->GetAI = &GetAI_boss_commander_kolurg;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss Commander Stoutbeard SDName: Boss Commander Stoutbeard
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: Only Horde Heroic SDComment: Only Horde Heroic
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_commander_stoutbeard' where entry = ''; update creature_template set scriptname = 'boss_commander_stoutbeard' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -25,26 +25,26 @@ update creature_template set scriptname = 'boss_commander_stoutbeard' where entr
struct TRINITY_DLL_DECL boss_commander_stoutbeardAI : public ScriptedAI struct TRINITY_DLL_DECL boss_commander_stoutbeardAI : public ScriptedAI
{ {
boss_commander_stoutbeardAI(Creature *c) : ScriptedAI(c) {} boss_commander_stoutbeardAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
}
void JustDied(Unit* killer)
{
DoScriptText(SAY_DEATH, m_creature);
} }
void JustDied(Unit* killer)
{
DoScriptText(SAY_DEATH, m_creature);
}
}; };
CreatureAI* GetAI_boss_commander_stoutbeard(Creature *_Creature) CreatureAI* GetAI_boss_commander_stoutbeard(Creature *_Creature)
@@ -58,6 +58,6 @@ void AddSC_boss_commander_stoutbeard()
newscript = new Script; newscript = new Script;
newscript->Name="boss_commander_stoutbeard"; newscript->Name="boss_commander_stoutbeard";
newscript->GetAI = GetAI_boss_commander_stoutbeard; newscript->GetAI = &GetAI_boss_commander_stoutbeard;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -5,40 +5,40 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
{ {
instance_nexus(Map *Map) : ScriptedInstance(Map) {Initialize();}; instance_nexus(Map *Map) : ScriptedInstance(Map) {Initialize();};
uint64 Anomalus, uint64 Anomalus,
Ormorok, Ormorok,
Magus_telestra, Magus_telestra,
Magus_frost, Magus_frost,
Magus_fire, Magus_fire,
Magus_arcane, Magus_arcane,
keristrasza, keristrasza,
Commander_kolurg, Commander_kolurg,
Commander_stoutbeard; Commander_stoutbeard;
bool IsBossDied[9]; bool IsBossDied[9];
void Initialize() void Initialize()
{ {
Anomalus = 0; Anomalus = 0;
Ormorok = 0; Ormorok = 0;
Magus_telestra =0; Magus_telestra =0;
Magus_frost =0; Magus_frost =0;
Magus_fire =0; Magus_fire =0;
Magus_arcane =0; Magus_arcane =0;
keristrasza =0; keristrasza =0;
Commander_kolurg = 0; Commander_kolurg = 0;
Commander_stoutbeard = 0; Commander_stoutbeard = 0;
IsBossDied[0] = false; IsBossDied[0] = false;
IsBossDied[1] = false; IsBossDied[1] = false;
IsBossDied[2] = false; IsBossDied[2] = false;
IsBossDied[3] = false; IsBossDied[3] = false;
IsBossDied[4] = false; IsBossDied[4] = false;
IsBossDied[5] = false; IsBossDied[5] = false;
IsBossDied[6] = false; IsBossDied[6] = false;
IsBossDied[7] = false; IsBossDied[7] = false;
IsBossDied[8] = false; IsBossDied[8] = false;
} }
bool IsEncounterInProgress() const bool IsEncounterInProgress() const
{ {
//not active //not active
return false; return false;
@@ -46,7 +46,7 @@ struct TRINITY_DLL_DECL instance_nexus : public ScriptedInstance
void OnCreatureCreate(Creature *creature, uint32 creature_entry) void OnCreatureCreate(Creature *creature, uint32 creature_entry)
{ {
switch(creature->GetEntry()) switch(creature->GetEntry())
{ {
case 26763: Anomalus = creature->GetGUID(); break; case 26763: Anomalus = creature->GetGUID(); break;
case 26794: Ormorok = creature->GetGUID(); break; case 26794: Ormorok = creature->GetGUID(); break;
case 26731: Magus_telestra = creature->GetGUID(); break; case 26731: Magus_telestra = creature->GetGUID(); break;
@@ -153,6 +153,6 @@ void AddSC_instance_nexus()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_nexus"; newscript->Name = "instance_nexus";
newscript->GetInstanceData = GetInstanceData_instance_nexus; newscript->GetInstanceData = &GetInstanceData_instance_nexus;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss drakos SDName: Boss drakos
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -35,21 +35,21 @@ struct TRINITY_DLL_DECL boss_drakosAI : public ScriptedAI
boss_drakosAI(Creature *c) : ScriptedAI(c) {} boss_drakosAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -77,6 +77,6 @@ void AddSC_boss_drakos()
newscript = new Script; newscript = new Script;
newscript->Name="boss_drakos"; newscript->Name="boss_drakos";
newscript->GetAI = GetAI_boss_drakos; newscript->GetAI = &GetAI_boss_drakos;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss eregos SDName: Boss eregos
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: Encounter is done entirely on drake vehicles SDComment: Encounter is done entirely on drake vehicles
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -25,9 +25,9 @@ update creature_template set scriptname = '' where entry = '';
#define SPELL_ARCANE_BARRAGE_H 59381 #define SPELL_ARCANE_BARRAGE_H 59381
#define SPELL_ARCANE_VOLLEY_H 59382 #define SPELL_ARCANE_VOLLEY_H 59382
/*Ruby Drake , /*Ruby Drake ,
(npc 27756) (item 37860) (npc 27756) (item 37860)
(summoned by spell Ruby Essence = 37860 ---> Call Amber Drake == 49462 ---> Summon 27756) (summoned by spell Ruby Essence = 37860 ---> Call Amber Drake == 49462 ---> Summon 27756)
*/ */
#define NPC_RUBY_DRAKE_VEHICLE 27756 #define NPC_RUBY_DRAKE_VEHICLE 27756
#define SPELL_RIDE_RUBY_DRAKE_QUE 49463 //Apply Aura: Periodic Trigger, Interval: 3 seconds ---> 49464 #define SPELL_RIDE_RUBY_DRAKE_QUE 49463 //Apply Aura: Periodic Trigger, Interval: 3 seconds ---> 49464
@@ -38,12 +38,12 @@ update creature_template set scriptname = '' where entry = '';
#define SPELL_RUBY_EVASIVE_MANEUVERS 50240 //Instant - 5 sec. cooldown - Allows your drake to dodge all incoming attacks and spells. Requires Evasive Charges to use. Each attack or spell dodged while this ability is active burns one Evasive Charge. Lasts 30 sec. or until all charges are exhausted. #define SPELL_RUBY_EVASIVE_MANEUVERS 50240 //Instant - 5 sec. cooldown - Allows your drake to dodge all incoming attacks and spells. Requires Evasive Charges to use. Each attack or spell dodged while this ability is active burns one Evasive Charge. Lasts 30 sec. or until all charges are exhausted.
//you do not have acces to until you kill Mage-Lord Urom //you do not have acces to until you kill Mage-Lord Urom
#define SPELL_RUBY_MARTYR 50253 //Instant - 10 sec. cooldown - Redirect all harmful spells cast at friendly drakes to yourself for 10 sec. #define SPELL_RUBY_MARTYR 50253 //Instant - 10 sec. cooldown - Redirect all harmful spells cast at friendly drakes to yourself for 10 sec.
/*Amber Drake, /*Amber Drake,
(npc 27755) (item 37859) (npc 27755) (item 37859)
(summoned by spell Amber Essence = 37859 ---> Call Amber Drake == 49461 ---> Summon 27755) (summoned by spell Amber Essence = 37859 ---> Call Amber Drake == 49461 ---> Summon 27755)
*/ */
#define NPC_AMBER_DRAKE_VEHICLE 27755 #define NPC_AMBER_DRAKE_VEHICLE 27755
#define SPELL_RIDE_AMBER_DRAKE_QUE 49459 //Apply Aura: Periodic Trigger, Interval: 3 seconds ---> 49460 #define SPELL_RIDE_AMBER_DRAKE_QUE 49459 //Apply Aura: Periodic Trigger, Interval: 3 seconds ---> 49460
#define SPELL_AMBER_DRAKE_SADDLE 49460 //Allows you to ride on the back of an Amber Drake. ---> Dummy #define SPELL_AMBER_DRAKE_SADDLE 49460 //Allows you to ride on the back of an Amber Drake. ---> Dummy
@@ -52,9 +52,9 @@ update creature_template set scriptname = '' where entry = '';
//you do not have access to until you kill the Mage-Lord Urom. //you do not have access to until you kill the Mage-Lord Urom.
#define SPELL_AMBER_TEMPORAL_RIFT 49592 //(60 yds) - Channeled - Channels a temporal rift on an enemy dragon for 10 sec. While trapped in the rift, all damage done to the target is increased by 100%. In addition, for every 15,000 damage done to a target affected by Temporal Rift, 1 Shock Charge is generated. #define SPELL_AMBER_TEMPORAL_RIFT 49592 //(60 yds) - Channeled - Channels a temporal rift on an enemy dragon for 10 sec. While trapped in the rift, all damage done to the target is increased by 100%. In addition, for every 15,000 damage done to a target affected by Temporal Rift, 1 Shock Charge is generated.
/*Emerald Drake, /*Emerald Drake,
(npc 27692) (item 37815), (npc 27692) (item 37815),
(summoned by spell Emerald Essence = 37815 ---> Call Emerald Drake == 49345 ---> Summon 27692) (summoned by spell Emerald Essence = 37815 ---> Call Emerald Drake == 49345 ---> Summon 27692)
*/ */
#define NPC_EMERALD_DRAKE_VEHICLE 27692 #define NPC_EMERALD_DRAKE_VEHICLE 27692
#define SPELL_RIDE_EMERALD_DRAKE_QUE 49427 //Apply Aura: Periodic Trigger, Interval: 3 seconds ---> 49346 #define SPELL_RIDE_EMERALD_DRAKE_QUE 49427 //Apply Aura: Periodic Trigger, Interval: 3 seconds ---> 49346
@@ -70,20 +70,20 @@ struct TRINITY_DLL_DECL boss_eregosAI : public ScriptedAI
boss_eregosAI(Creature *c) : ScriptedAI(c) {} boss_eregosAI(Creature *c) : ScriptedAI(c) {}
uint32 phase; uint32 phase;
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
phase =1; phase =1;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
}; };
@@ -99,6 +99,6 @@ void AddSC_boss_eregos()
newscript = new Script; newscript = new Script;
newscript->Name="boss_eregos"; newscript->Name="boss_eregos";
newscript->GetAI = GetAI_boss_eregos; newscript->GetAI = &GetAI_boss_eregos;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -2,11 +2,11 @@
SDName: Boss urom SDName: Boss urom
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: 1% SD%Complete: 1%
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -25,36 +25,36 @@ update creature_template set scriptname = '' where entry = '';
//Yell //Yell
#define SAY_AGGRO -1578012 #define SAY_AGGRO -1578012
#define SAY_KILL_1 -1578013 #define SAY_KILL_1 -1578013
#define SAY_KILL_2 -1578014 #define SAY_KILL_2 -1578014
#define SAY_KILL_3 -1578015 #define SAY_KILL_3 -1578015
#define SAY_DEATH -1578016 #define SAY_DEATH -1578016
#define SAY_EXPLOSION_1 -1578017 #define SAY_EXPLOSION_1 -1578017
#define SAY_EXPLOSION_2 -1578018 #define SAY_EXPLOSION_2 -1578018
#define SAY_SUMMON_1 -1578019 #define SAY_SUMMON_1 -1578019
#define SAY_SUMMON_2 -1578020 #define SAY_SUMMON_2 -1578020
#define SAY_SUMMON_3 -1578021 #define SAY_SUMMON_3 -1578021
struct TRINITY_DLL_DECL boss_uromAI : public ScriptedAI struct TRINITY_DLL_DECL boss_uromAI : public ScriptedAI
{ {
boss_uromAI(Creature *c) : ScriptedAI(c) {} boss_uromAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -82,6 +82,6 @@ void AddSC_boss_urom()
newscript = new Script; newscript = new Script;
newscript->Name="boss_urom"; newscript->Name="boss_urom";
newscript->GetAI = GetAI_boss_urom; newscript->GetAI = &GetAI_boss_urom;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,20 +1,20 @@
/* Script Data Start /* Script Data Start
SDName: Boss varos SDName: Boss varos
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
//Spells //Spells
#define SPELL_ENERGIZE_CORES 50785 //Damage 5938 to 6562, effec2 Triggers 54069, effect3 Triggers 56251 #define SPELL_ENERGIZE_CORES 50785 //Damage 5938 to 6562, effec2 Triggers 54069, effect3 Triggers 56251
#define SPELL_ENERGIZE_CORES_TRIGGER_1 54069 #define SPELL_ENERGIZE_CORES_TRIGGER_1 54069
#define SPELL_ENERGIZE_CORES_TRIGGER_2 56251 #define SPELL_ENERGIZE_CORES_TRIGGER_2 56251
#define SPELL_ENERGIZE_CORES_2 59372 //Damage 9025 to 9975, effect2 Triggers 54069, effect 56251 #define SPELL_ENERGIZE_CORES_2 59372 //Damage 9025 to 9975, effect2 Triggers 54069, effect 56251
#define SPELL_CALL_AZURE_RING_CAPTAIN 51002 //Effect Send Event (12229) #define SPELL_CALL_AZURE_RING_CAPTAIN 51002 //Effect Send Event (12229)
#define SPELL_CALL_AZURE_RING_CAPTAIN_2 51006 //Effect Send Event (10665) #define SPELL_CALL_AZURE_RING_CAPTAIN_2 51006 //Effect Send Event (10665)
@@ -24,36 +24,36 @@ update creature_template set scriptname = '' where entry = '';
#define SPELL_CALL_AMPLIFY_MAGIC_2 59371 #define SPELL_CALL_AMPLIFY_MAGIC_2 59371
//Yell //Yell
#define SAY_AGGRO -1578022 #define SAY_AGGRO -1578022
#define SAY_KILL_1 -1578023 #define SAY_KILL_1 -1578023
#define SAY_KILL_2 -1578024 #define SAY_KILL_2 -1578024
#define SAY_DEATH -1578025 #define SAY_DEATH -1578025
#define SAY_STRIKE_1 -1578026 #define SAY_STRIKE_1 -1578026
#define SAY_STRIKE_2 -1578027 #define SAY_STRIKE_2 -1578027
#define SAY_STRIKE_3 -1578028 #define SAY_STRIKE_3 -1578028
#define SAY_SPAWN -1578029 #define SAY_SPAWN -1578029
struct TRINITY_DLL_DECL boss_varosAI : public ScriptedAI struct TRINITY_DLL_DECL boss_varosAI : public ScriptedAI
{ {
boss_varosAI(Creature *c) : ScriptedAI(c) {} boss_varosAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -80,6 +80,6 @@ void AddSC_boss_varos()
newscript = new Script; newscript = new Script;
newscript->Name="boss_varos"; newscript->Name="boss_varos";
newscript->GetAI = GetAI_boss_varos; newscript->GetAI = &GetAI_boss_varos;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -16,6 +16,6 @@ void AddSC_instance_oculus()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_oculus"; newscript->Name = "instance_oculus";
newscript->GetInstanceData = GetInstanceData_instance_oculus; newscript->GetInstanceData = &GetInstanceData_instance_oculus;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss sartharion SDName: Boss sartharion
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -50,7 +50,7 @@ update creature_template set scriptname = '' where entry = '';
//Shadron //Shadron
#define MINIBOSS_SHADRON 30451 //npc 30451 //In portal is a disciple, when disciple killed remove Power_of_vesperon, portal spawns multiple times #define MINIBOSS_SHADRON 30451 //npc 30451 //In portal is a disciple, when disciple killed remove Power_of_vesperon, portal spawns multiple times
#define BUFF_POWER_OF_SHADRON 58105 //Shadron's presence increases Fire damage taken by all enemies by 100%. #define BUFF_POWER_OF_SHADRON 58105 //Shadron's presence increases Fire damage taken by all enemies by 100%.
//Tenebron //Tenebron
#define MINIBOSS_TENEBRON 30452 //npc 30452 //in the portal spawns 6 eggs, if not killed in time (approx. 20s) they will hatch, whelps can cast 60708 #define MINIBOSS_TENEBRON 30452 //npc 30452 //in the portal spawns 6 eggs, if not killed in time (approx. 20s) they will hatch, whelps can cast 60708
@@ -77,25 +77,25 @@ Hatch Eggs Tenebron summons a portal in which eggs are spawned. After about 20s
struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI
{ {
boss_sartharionAI(Creature *c) : ScriptedAI(c) {} boss_sartharionAI(Creature *c) : ScriptedAI(c) {}
bool berserk; bool berserk;
void Reset() void Reset()
{ {
berserk = false; berserk = false;
} }
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_SARTHARION_DEATH,m_creature); DoScriptText(SAY_SARTHARION_DEATH,m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) <= 10) if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) <= 10)
{ {
if(!berserk){ if(!berserk){
@@ -103,13 +103,13 @@ struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI
berserk = true; berserk = true;
} }
} }
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
}
void JustDied(Unit* killer)
{
DoScriptText(SAY_SARTHARION_DEATH,m_creature);
} }
void JustDied(Unit* killer)
{
DoScriptText(SAY_SARTHARION_DEATH,m_creature);
}
}; };
/*###### /*######
@@ -129,24 +129,24 @@ struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI
struct TRINITY_DLL_DECL mob_vesperonAI : public ScriptedAI struct TRINITY_DLL_DECL mob_vesperonAI : public ScriptedAI
{ {
mob_vesperonAI(Creature *c) : ScriptedAI(c) {} mob_vesperonAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_VESPERON_AGGRO,m_creature); DoScriptText(SAY_VESPERON_AGGRO,m_creature);
} }
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
}
void JustDied(Unit* killer)
{
DoScriptText(SAY_VESPERON_DEATH,m_creature);
} }
void JustDied(Unit* killer)
{
DoScriptText(SAY_VESPERON_DEATH,m_creature);
}
}; };
/*###### /*######
@@ -168,22 +168,22 @@ struct TRINITY_DLL_DECL mob_shadronAI : public ScriptedAI
mob_shadronAI(Creature *c) : ScriptedAI(c) {} mob_shadronAI(Creature *c) : ScriptedAI(c) {}
void Reset(){} void Reset(){}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_SHADRON_AGGRO,m_creature); DoScriptText(SAY_SHADRON_AGGRO,m_creature);
} }
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
}
void JustDied(Unit* killer)
{
DoScriptText(SAY_SHADRON_DEATH,m_creature);
} }
void JustDied(Unit* killer)
{
DoScriptText(SAY_SHADRON_DEATH,m_creature);
}
}; };
/*###### /*######
## Mob Tenebron ## Mob Tenebron
@@ -204,22 +204,22 @@ struct TRINITY_DLL_DECL mob_tenebronAI : public ScriptedAI
mob_tenebronAI(Creature *c) : ScriptedAI(c) {} mob_tenebronAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_TENEBRON_AGGRO,m_creature); DoScriptText(SAY_TENEBRON_AGGRO,m_creature);
} }
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
}
void JustDied(Unit* killer)
{
DoScriptText(SAY_TENEBRON_DEATH,m_creature);
} }
void JustDied(Unit* killer)
{
DoScriptText(SAY_TENEBRON_DEATH,m_creature);
}
}; };
/*###### /*######
@@ -228,9 +228,9 @@ struct TRINITY_DLL_DECL mob_tenebronAI : public ScriptedAI
struct TRINITY_DLL_DECL mob_whelpAI : public ScriptedAI struct TRINITY_DLL_DECL mob_whelpAI : public ScriptedAI
{ {
mob_whelpAI(Creature *c) : ScriptedAI(c) {} mob_whelpAI(Creature *c) : ScriptedAI(c) {}
uint32 Fade_armor_Timer; uint32 Fade_armor_Timer;
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
@@ -238,8 +238,8 @@ struct TRINITY_DLL_DECL mob_whelpAI : public ScriptedAI
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
}; };
@@ -275,26 +275,26 @@ void AddSC_boss_sartharion()
newscript = new Script; newscript = new Script;
newscript->Name="boss_sartharion"; newscript->Name="boss_sartharion";
newscript->GetAI = GetAI_boss_sartharion; newscript->GetAI = &GetAI_boss_sartharion;
newscript->RegisterSelf(); newscript->RegisterSelf();
newscript = new Script; newscript = new Script;
newscript->Name="mob_vesperon"; newscript->Name="mob_vesperon";
newscript->GetAI = GetAI_mob_vesperon; newscript->GetAI = &GetAI_mob_vesperon;
newscript->RegisterSelf(); newscript->RegisterSelf();
newscript = new Script; newscript = new Script;
newscript->Name="mob_shadron"; newscript->Name="mob_shadron";
newscript->GetAI = GetAI_mob_shadron; newscript->GetAI = &GetAI_mob_shadron;
newscript->RegisterSelf(); newscript->RegisterSelf();
newscript = new Script; newscript = new Script;
newscript->Name="mob_tenebron"; newscript->Name="mob_tenebron";
newscript->GetAI = GetAI_mob_tenebron; newscript->GetAI = &GetAI_mob_tenebron;
newscript->RegisterSelf(); newscript->RegisterSelf();
newscript = new Script; newscript = new Script;
newscript->Name="mob_whelp"; newscript->Name="mob_whelp";
newscript->GetAI = GetAI_mob_whelp; newscript->GetAI = &GetAI_mob_whelp;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -16,6 +16,6 @@ void AddSC_instance_obsidian_sanctum()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_obsidian_sanctum"; newscript->Name = "instance_obsidian_sanctum";
newscript->GetInstanceData = GetInstanceData_instance_obsidian_sanctum; newscript->GetInstanceData = &GetInstanceData_instance_obsidian_sanctum;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss bjarngrim SDName: Boss bjarngrim
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -45,23 +45,23 @@ struct TRINITY_DLL_DECL boss_bjarngrimAI : public ScriptedAI
boss_bjarngrimAI(Creature *c) : ScriptedAI(c) {} boss_bjarngrimAI(Creature *c) : ScriptedAI(c) {}
uint32 whirlwind; uint32 whirlwind;
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -89,6 +89,6 @@ void AddSC_boss_bjarngrim()
newscript = new Script; newscript = new Script;
newscript->Name="boss_bjarngrim"; newscript->Name="boss_bjarngrim";
newscript->GetAI = GetAI_boss_bjarngrim; newscript->GetAI = &GetAI_boss_bjarngrim;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,21 +1,21 @@
/* Script Data Start /* Script Data Start
SDName: Boss ionar SDName: Boss ionar
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_ionar' where entry = ''; update creature_template set scriptname = 'boss_ionar' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
//Spells //Spells
#define SPELL_BALL_LIGHTNING 52780 #define SPELL_BALL_LIGHTNING 52780
#define SPELL_BALL_LIGHTNING_2 59800 #define SPELL_BALL_LIGHTNING_2 59800
#define SPELL_DISPERSE 52770 //Disperse into Sparks of Ionar. #define SPELL_DISPERSE 52770 //Disperse into Sparks of Ionar.
#define SPELL_STATIC_OVERLOAD 52658 //Effect Apply Aura: Periodic Trigger Interval: 2 seconds Spell 52659 #define SPELL_STATIC_OVERLOAD 52658 //Effect Apply Aura: Periodic Trigger Interval: 2 seconds Spell 52659
#define SPELL_STATIC_OVERLOAD_2 52658 //Effect Apply Aura: Periodic Trigger Interval: 2 seconds Spell 59796 #define SPELL_STATIC_OVERLOAD_2 52658 //Effect Apply Aura: Periodic Trigger Interval: 2 seconds Spell 59796
//Spark of Ionar spells //Spark of Ionar spells
@@ -37,23 +37,23 @@ update creature_template set scriptname = 'boss_ionar' where entry = '';
struct TRINITY_DLL_DECL boss_ionarAI : public ScriptedAI struct TRINITY_DLL_DECL boss_ionarAI : public ScriptedAI
{ {
boss_ionarAI(Creature *c) : ScriptedAI(c) {} boss_ionarAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -78,13 +78,13 @@ struct TRINITY_DLL_DECL npc_spark_of_ionarAI : public ScriptedAI
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
}; };
@@ -104,11 +104,11 @@ void AddSC_boss_ionar()
newscript = new Script; newscript = new Script;
newscript->Name="boss_ionar"; newscript->Name="boss_ionar";
newscript->GetAI = GetAI_boss_ionar; newscript->GetAI = &GetAI_boss_ionar;
newscript->RegisterSelf(); newscript->RegisterSelf();
newscript = new Script; newscript = new Script;
newscript->Name="spark_of_ionar"; newscript->Name="spark_of_ionar";
newscript->GetAI = GetAI_npc_spark_of_ionar; newscript->GetAI = &GetAI_npc_spark_of_ionar;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,23 +1,23 @@
/* Script Data Start /* Script Data Start
SDName: Boss loken SDName: Boss loken
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_loken' where entry = ''; update creature_template set scriptname = 'boss_loken' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
//Spells //Spells
#define SPELL_ARC_NOVA 52921 #define SPELL_ARC_NOVA 52921
//Effect #1 School Damage (Nature), Value: 3238 to 3762 //Effect #1 School Damage (Nature), Value: 3238 to 3762
//Effect #2 Apply Aura: Dummy, Value: 3238 to 3762, Server-side script //Effect #2 Apply Aura: Dummy, Value: 3238 to 3762, Server-side script
#define SPELL_LIGHTNING_NOVA 52960 #define SPELL_LIGHTNING_NOVA 52960
#define SPELL_LIGHTNING_NOVA_2 59835 #define SPELL_LIGHTNING_NOVA_2 59835
//Yell //Yell
#define SAY_AGGRO -1602015 #define SAY_AGGRO -1602015
@@ -37,23 +37,23 @@ update creature_template set scriptname = 'boss_loken' where entry = '';
struct TRINITY_DLL_DECL boss_lokenAI : public ScriptedAI struct TRINITY_DLL_DECL boss_lokenAI : public ScriptedAI
{ {
boss_lokenAI(Creature *c) : ScriptedAI(c) {} boss_lokenAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -81,6 +81,6 @@ void AddSC_boss_loken()
newscript = new Script; newscript = new Script;
newscript->Name="boss_loken"; newscript->Name="boss_loken";
newscript->GetAI = GetAI_boss_loken; newscript->GetAI = &GetAI_boss_loken;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss volkhan SDName: Boss volkhan
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_volkhan' where entry = ''; update creature_template set scriptname = 'boss_volkhan' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -35,23 +35,23 @@ update creature_template set scriptname = 'boss_volkhan' where entry = '';
struct TRINITY_DLL_DECL boss_volkhanAI : public ScriptedAI struct TRINITY_DLL_DECL boss_volkhanAI : public ScriptedAI
{ {
boss_volkhanAI(Creature *c) : ScriptedAI(c) {} boss_volkhanAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -74,14 +74,14 @@ struct TRINITY_DLL_DECL boss_volkhanAI : public ScriptedAI
//Molten Golem Spells //Molten Golem Spells
#define SPELL_BLAST_WAVE 23113 #define SPELL_BLAST_WAVE 23113
#define SPELL_IMMOLATION_STRIKE 52433 #define SPELL_IMMOLATION_STRIKE 52433
#define SPELL_IMMOLATION_STRIKE_2 59530 #define SPELL_IMMOLATION_STRIKE_2 59530
//Effect #1 Apply Aura: Periodic Damage, value: 900 every 3 seconds //Effect #1 Apply Aura: Periodic Damage, value: 900 every 3 seconds
//Effect #2 School Damage (Fire), value: 900 //Effect #2 School Damage (Fire), value: 900
//Effect #3 Script Effect //Effect #3 Script Effect
#define SPELL_SHATTER 52429 #define SPELL_SHATTER 52429
//Effect #1 School Damage (Physical), value: 9250 to 10750, radius: 10 yards //Effect #1 School Damage (Physical), value: 9250 to 10750, radius: 10 yards
//Effect #2 Dummy, Server-side script //Effect #2 Dummy, Server-side script
#define SPELL_SHATTER_2 #define SPELL_SHATTER_2
struct TRINITY_DLL_DECL mob_molten_golemAI : public ScriptedAI struct TRINITY_DLL_DECL mob_molten_golemAI : public ScriptedAI
{ {
@@ -91,13 +91,13 @@ struct TRINITY_DLL_DECL mob_molten_golemAI : public ScriptedAI
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) {} void JustDied(Unit* killer) {}
}; };
@@ -118,11 +118,11 @@ void AddSC_boss_volkhan()
newscript = new Script; newscript = new Script;
newscript->Name="boss_volkhan"; newscript->Name="boss_volkhan";
newscript->GetAI = GetAI_boss_volkhan; newscript->GetAI = &GetAI_boss_volkhan;
newscript->RegisterSelf(); newscript->RegisterSelf();
newscript = new Script; newscript = new Script;
newscript->Name="mob_molten_golem"; newscript->Name="mob_molten_golem";
newscript->GetAI = GetAI_mob_molten_golem; newscript->GetAI = &GetAI_mob_molten_golem;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -16,6 +16,6 @@ void AddSC_instance_halls_of_lightning()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_halls_of_lightning"; newscript->Name = "instance_halls_of_lightning";
newscript->GetInstanceData = GetInstanceData_instance_halls_of_lightning; newscript->GetInstanceData = &GetInstanceData_instance_halls_of_lightning;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss krystallus SDName: Boss krystallus
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_krystallus' where entry = ''; update creature_template set scriptname = 'boss_krystallus' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -29,23 +29,23 @@ update creature_template set scriptname = 'boss_krystallus' where entry = '';
struct TRINITY_DLL_DECL boss_krystallusAI : public ScriptedAI struct TRINITY_DLL_DECL boss_krystallusAI : public ScriptedAI
{ {
boss_krystallusAI(Creature *c) : ScriptedAI(c) {} boss_krystallusAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -68,6 +68,6 @@ void AddSC_boss_krystallus()
newscript = new Script; newscript = new Script;
newscript->Name="boss_krystallus"; newscript->Name="boss_krystallus";
newscript->GetAI = GetAI_boss_krystallus; newscript->GetAI = &GetAI_boss_krystallus;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss maiden_of_grief SDName: Boss maiden_of_grief
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_maiden_of_grief' where entry = ''; update creature_template set scriptname = 'boss_maiden_of_grief' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -32,23 +32,23 @@ update creature_template set scriptname = 'boss_maiden_of_grief' where entry = '
struct TRINITY_DLL_DECL boss_maiden_of_griefAI : public ScriptedAI struct TRINITY_DLL_DECL boss_maiden_of_griefAI : public ScriptedAI
{ {
boss_maiden_of_griefAI(Creature *c) : ScriptedAI(c) {} boss_maiden_of_griefAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -76,6 +76,6 @@ void AddSC_boss_maiden_of_grief()
newscript = new Script; newscript = new Script;
newscript->Name="boss_maiden_of_grief"; newscript->Name="boss_maiden_of_grief";
newscript->GetAI = GetAI_boss_maiden_of_grief; newscript->GetAI = &GetAI_boss_maiden_of_grief;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss sjonnir SDName: Boss sjonnir
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_sjonnir' where entry = ''; update creature_template set scriptname = 'boss_sjonnir' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -36,21 +36,21 @@ struct TRINITY_DLL_DECL boss_sjonnirAI : public ScriptedAI
boss_sjonnirAI(Creature *c) : ScriptedAI(c) {} boss_sjonnirAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -78,6 +78,6 @@ void AddSC_boss_sjonnir()
newscript = new Script; newscript = new Script;
newscript->Name="boss_sjonnir"; newscript->Name="boss_sjonnir";
newscript->GetAI = GetAI_boss_sjonnir; newscript->GetAI = &GetAI_boss_sjonnir;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -16,6 +16,6 @@ void AddSC_instance_halls_of_stone()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_halls_of_stone"; newscript->Name = "instance_halls_of_stone";
newscript->GetInstanceData = GetInstanceData_instance_halls_of_stone; newscript->GetInstanceData = &GetInstanceData_instance_halls_of_stone;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -128,7 +128,8 @@ struct TRINITY_DLL_DECL boss_skarvald_the_constructorAI : public ScriptedAI
m_creature->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); m_creature->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
//DoCast(m_creature,SPELL_SUMMON_SKARVALD_GHOST,true); //DoCast(m_creature,SPELL_SUMMON_SKARVALD_GHOST,true);
Creature* temp = m_creature->SummonCreature(MOB_SKARVALD_GHOST,m_creature->GetPositionX(),m_creature->GetPositionY(),m_creature->GetPositionZ(),0,TEMPSUMMON_CORPSE_DESPAWN,5000); Creature* temp = m_creature->SummonCreature(MOB_SKARVALD_GHOST,m_creature->GetPositionX(),m_creature->GetPositionY(),m_creature->GetPositionZ(),0,TEMPSUMMON_CORPSE_DESPAWN,5000);
temp->AI()->AttackStart(Killer); if(temp)
temp->AI()->AttackStart(Killer);
} }
} }
} }
@@ -279,7 +280,8 @@ struct TRINITY_DLL_DECL boss_dalronn_the_controllerAI : public ScriptedAI
m_creature->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); m_creature->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
//DoCast(m_creature,SPELL_SUMMON_DALRONN_GHOST,true); //DoCast(m_creature,SPELL_SUMMON_DALRONN_GHOST,true);
Creature* temp = m_creature->SummonCreature(MOB_DALRONN_GHOST,m_creature->GetPositionX(),m_creature->GetPositionY(),m_creature->GetPositionZ(),0,TEMPSUMMON_CORPSE_DESPAWN,5000); Creature* temp = m_creature->SummonCreature(MOB_DALRONN_GHOST,m_creature->GetPositionX(),m_creature->GetPositionY(),m_creature->GetPositionZ(),0,TEMPSUMMON_CORPSE_DESPAWN,5000);
temp->AI()->AttackStart(Killer); if(temp)
temp->AI()->AttackStart(Killer);
} }
} }
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss palehoof SDName: Boss palehoof
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_palehoof' where entry = ''; update creature_template set scriptname = 'boss_palehoof' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -25,23 +25,23 @@ update creature_template set scriptname = 'boss_palehoof' where entry = '';
struct TRINITY_DLL_DECL boss_palehoofAI : public ScriptedAI struct TRINITY_DLL_DECL boss_palehoofAI : public ScriptedAI
{ {
boss_palehoofAI(Creature *c) : ScriptedAI(c) {} boss_palehoofAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -73,6 +73,6 @@ void AddSC_boss_palehoof()
newscript = new Script; newscript = new Script;
newscript->Name="boss_palehoof"; newscript->Name="boss_palehoof";
newscript->GetAI = GetAI_boss_palehoof; newscript->GetAI = &GetAI_boss_palehoof;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss skadi SDName: Boss skadi
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_skadi' where entry = ''; update creature_template set scriptname = 'boss_skadi' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -35,28 +35,28 @@ update creature_template set scriptname = 'boss_skadi' where entry = '';
struct TRINITY_DLL_DECL boss_skadiAI : public ScriptedAI struct TRINITY_DLL_DECL boss_skadiAI : public ScriptedAI
{ {
boss_skadiAI(Creature *c) : ScriptedAI(c) {} boss_skadiAI(Creature *c) : ScriptedAI(c) {}
uint32 phase; uint32 phase;
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
phase = 0; phase = 0;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -84,6 +84,6 @@ void AddSC_boss_skadi()
newscript = new Script; newscript = new Script;
newscript->Name="boss_skadi"; newscript->Name="boss_skadi";
newscript->GetAI = GetAI_boss_skadi; newscript->GetAI = &GetAI_boss_skadi;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss svala SDName: Boss svala
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_svala' where entry = ''; update creature_template set scriptname = 'boss_svala' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -36,21 +36,21 @@ struct TRINITY_DLL_DECL boss_svalaAI : public ScriptedAI
boss_svalaAI(Creature *c) : ScriptedAI(c) {} boss_svalaAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -78,6 +78,6 @@ void AddSC_boss_svala()
newscript = new Script; newscript = new Script;
newscript->Name="boss_svala"; newscript->Name="boss_svala";
newscript->GetAI = GetAI_boss_svala; newscript->GetAI = &GetAI_boss_svala;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss ymiron SDName: Boss ymiron
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = 'boss_ymiron' where entry = ''; update creature_template set scriptname = 'boss_ymiron' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -37,21 +37,21 @@ struct TRINITY_DLL_DECL boss_ymironAI : public ScriptedAI
boss_ymironAI(Creature *c) : ScriptedAI(c) {} boss_ymironAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) void EnterCombat(Unit* who)
{ {
DoScriptText(SAY_AGGRO, m_creature); DoScriptText(SAY_AGGRO, m_creature);
} }
void AttackStart(Unit* who) {} void AttackStart(Unit* who) {}
void MoveInLineOfSight(Unit* who) {} void MoveInLineOfSight(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
DoScriptText(SAY_DEATH, m_creature); DoScriptText(SAY_DEATH, m_creature);
} }
@@ -80,6 +80,6 @@ void AddSC_boss_ymiron()
newscript = new Script; newscript = new Script;
newscript->Name="boss_ymiron"; newscript->Name="boss_ymiron";
newscript->GetAI = GetAI_boss_ymiron; newscript->GetAI = &GetAI_boss_ymiron;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -16,6 +16,6 @@ void AddSC_instance_pinnacle()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_pinnacle"; newscript->Name = "instance_pinnacle";
newscript->GetInstanceData = GetInstanceData_instance_pinnacle; newscript->GetInstanceData = &GetInstanceData_instance_pinnacle;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -1,12 +1,12 @@
/* Script Data Start /* Script Data Start
SDName: Boss archavon SDName: Boss archavon
SDAuthor: LordVanMartin SDAuthor: LordVanMartin
SD%Complete: SD%Complete:
SDComment: SDComment:
SDCategory: SDCategory:
Script Data End */ Script Data End */
/*** SQL START *** /*** SQL START ***
update creature_template set scriptname = '' where entry = ''; update creature_template set scriptname = '' where entry = '';
*** SQL END ***/ *** SQL END ***/
#include "precompiled.h" #include "precompiled.h"
@@ -35,15 +35,15 @@ update creature_template set scriptname = '' where entry = '';
struct TRINITY_DLL_DECL boss_archavonAI : public ScriptedAI struct TRINITY_DLL_DECL boss_archavonAI : public ScriptedAI
{ {
boss_archavonAI(Creature *c) : ScriptedAI(c) {} boss_archavonAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
@@ -57,12 +57,12 @@ struct TRINITY_DLL_DECL mob_warderAI : public ScriptedAI //npc 32353
void Reset() {} void Reset() {}
void EnterCombat(Unit* who) {} void EnterCombat(Unit* who) {}
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
//Return since we have no target //Return since we have no target
if(!UpdateVictim()) if(!UpdateVictim())
return; return;
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
@@ -83,11 +83,11 @@ void AddSC_boss_archavon()
newscript = new Script; newscript = new Script;
newscript->Name="boss_archavon"; newscript->Name="boss_archavon";
newscript->GetAI = GetAI_boss_archavon; newscript->GetAI = &GetAI_boss_archavon;
newscript->RegisterSelf(); newscript->RegisterSelf();
newscript = new Script; newscript = new Script;
newscript->Name="mob_archavon_warder"; newscript->Name="mob_archavon_warder";
newscript->GetAI = GetAI_mob_warder; newscript->GetAI = &GetAI_mob_warder;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -16,6 +16,6 @@ void AddSC_instance_archavon()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_archavon"; newscript->Name = "instance_archavon";
newscript->GetInstanceData = GetInstanceData_instance_archavon; newscript->GetInstanceData = &GetInstanceData_instance_archavon;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -77,6 +77,6 @@ void AddSC_boss_cyanigosa()
newscript = new Script; newscript = new Script;
newscript->Name="boss_cyanigosa"; newscript->Name="boss_cyanigosa";
newscript->GetAI = GetAI_boss_cyanigosa; newscript->GetAI = &GetAI_boss_cyanigosa;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -77,6 +77,6 @@ void AddSC_boss_erekem()
newscript = new Script; newscript = new Script;
newscript->Name="boss_erekem"; newscript->Name="boss_erekem";
newscript->GetAI = GetAI_boss_erekem; newscript->GetAI = &GetAI_boss_erekem;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -76,6 +76,6 @@ void AddSC_boss_ichoron()
newscript = new Script; newscript = new Script;
newscript->Name="boss_ichoron"; newscript->Name="boss_ichoron";
newscript->GetAI = GetAI_boss_ichoron; newscript->GetAI = &GetAI_boss_ichoron;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -47,6 +47,6 @@ void AddSC_boss_lavanthor()
newscript = new Script; newscript = new Script;
newscript->Name="boss_lavanthor"; newscript->Name="boss_lavanthor";
newscript->GetAI = GetAI_boss_lavanthor; newscript->GetAI = &GetAI_boss_lavanthor;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -45,6 +45,6 @@ void AddSC_boss_moragg()
newscript = new Script; newscript = new Script;
newscript->Name="boss_moragg"; newscript->Name="boss_moragg";
newscript->GetAI = GetAI_boss_moragg; newscript->GetAI = &GetAI_boss_moragg;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -77,6 +77,6 @@ void AddSC_boss_xevozz()
newscript = new Script; newscript = new Script;
newscript->Name="boss_xevozz"; newscript->Name="boss_xevozz";
newscript->GetAI = GetAI_boss_xevozz; newscript->GetAI = &GetAI_boss_xevozz;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -77,6 +77,6 @@ void AddSC_boss_zuramat()
newscript = new Script; newscript = new Script;
newscript->Name="boss_zuramat"; newscript->Name="boss_zuramat";
newscript->GetAI = GetAI_boss_zuramat; newscript->GetAI = &GetAI_boss_zuramat;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }
@@ -16,6 +16,6 @@ void AddSC_instance_violet_hold()
Script *newscript; Script *newscript;
newscript = new Script; newscript = new Script;
newscript->Name = "instance_violet_hold"; newscript->Name = "instance_violet_hold";
newscript->GetInstanceData = GetInstanceData_instance_violet_hold; newscript->GetInstanceData = &GetInstanceData_instance_violet_hold;
newscript->RegisterSelf(); newscript->RegisterSelf();
} }