Converting EasternKingdoms/ZulAman and EasternKingdoms/ZulGurub.

Need to recheck tomorrow. :)

--HG--
branch : trunk
This commit is contained in:
John Holiver
2010-08-08 05:01:17 -03:00
parent 0ce01cdb63
commit 99a054bfd2
24 changed files with 5403 additions and 5149 deletions
@@ -374,12 +374,12 @@ EndScriptData */
#define SPELL_BOSS_OBJECT_VISUAL 11206
class go_altar_of_archaedas : public CreatureScript
class go_altar_of_archaedas : public GameObjectScript
{
public:
go_altar_of_archaedas()
: CreatureScript("go_altar_of_archaedas")
: GameObjectScript("go_altar_of_archaedas")
{
}
@@ -406,12 +406,12 @@ EndScriptData */
#define SPELL_BOSS_OBJECT_VISUAL 11206
class go_altar_of_the_keepers : public CreatureScript
class go_altar_of_the_keepers : public GameObjectScript
{
public:
go_altar_of_the_keepers()
: CreatureScript("go_altar_of_the_keepers")
: GameObjectScript("go_altar_of_the_keepers")
{
}
@@ -298,5 +298,5 @@ class instance_uldaman : public InstanceMapScript
void AddSC_instance_uldaman()
{
new instance_uldaman;
new instance_uldaman();
}
@@ -59,8 +59,17 @@ EndScriptData */
#define SE_LOC_Y_MAX 1435
#define SE_LOC_Y_MIN 1370
struct boss_akilzonAI : public ScriptedAI
class boss_akilzon : public CreatureScript
{
public:
boss_akilzon()
: CreatureScript("boss_akilzon")
{
}
struct boss_akilzonAI : public ScriptedAI
{
boss_akilzonAI(Creature *c) : ScriptedAI(c)
{
SpellEntry *TempSpell = GET_SPELL(SPELL_ELECTRICAL_DAMAGE);
@@ -372,11 +381,26 @@ struct boss_akilzonAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_akilzonAI(creature);
}
};
struct mob_soaring_eagleAI : public ScriptedAI
class mob_akilzon_eagle : public CreatureScript
{
mob_soaring_eagleAI(Creature *c) : ScriptedAI(c) {}
public:
mob_akilzon_eagle()
: CreatureScript("mob_akilzon_eagle")
{
}
struct mob_akilzon_eagleAI : public ScriptedAI
{
mob_akilzon_eagleAI(Creature *c) : ScriptedAI(c) {}
uint32 EagleSwoop_Timer;
bool arrived;
@@ -439,31 +463,17 @@ struct mob_soaring_eagleAI : public ScriptedAI
}
}
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_akilzon_eagleAI(creature);
}
};
//Soaring Eagle
CreatureAI* GetAI_mob_soaring_eagle(Creature* pCreature)
{
return new mob_soaring_eagleAI(pCreature);
}
CreatureAI* GetAI_boss_akilzon(Creature* pCreature)
{
return new boss_akilzonAI(pCreature);
}
void AddSC_boss_akilzon()
{
Script *newscript = NULL;
newscript = new Script;
newscript->Name = "boss_akilzon";
newscript->GetAI = &GetAI_boss_akilzon;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_akilzon_eagle";
newscript->GetAI = &GetAI_mob_soaring_eagle;
newscript->RegisterSelf();
new boss_akilzon();
new mob_akilzon_eagle();
}
@@ -73,8 +73,17 @@ enum PhaseHalazzi
PHASE_ENRAGE = 5
};
struct boss_halazziAI : public ScriptedAI
class boss_halazzi : public CreatureScript
{
public:
boss_halazzi()
: CreatureScript("boss_halazzi")
{
}
struct boss_halazziAI : public ScriptedAI
{
boss_halazziAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
@@ -324,13 +333,27 @@ struct boss_halazziAI : public ScriptedAI
me->MonsterYell(YELL_DEATH, LANG_UNIVERSAL, NULL);
DoPlaySoundToSet(me, SOUND_DEATH);
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_halazziAI(creature);
}
};
// Spirits Lynx AI
struct boss_spiritlynxAI : public ScriptedAI
class mob_halazzi_lynx : public CreatureScript
{
boss_spiritlynxAI(Creature *c) : ScriptedAI(c) {}
public:
mob_halazzi_lynx()
: CreatureScript("mob_halazzi_lynx")
{
}
struct mob_halazzi_lynxAI : public ScriptedAI
{
mob_halazzi_lynxAI(Creature *c) : ScriptedAI(c) {}
uint32 FrenzyTimer;
uint32 shredder_timer;
@@ -375,29 +398,17 @@ struct boss_spiritlynxAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_halazzi_lynxAI(creature);
}
};
CreatureAI* GetAI_boss_halazziAI(Creature* pCreature)
{
return new boss_halazziAI (pCreature);
}
CreatureAI* GetAI_boss_spiritlynxAI(Creature* pCreature)
{
return new boss_spiritlynxAI (pCreature);
}
void AddSC_boss_halazzi()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_halazzi";
newscript->GetAI = &GetAI_boss_halazziAI;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_halazzi_lynx";
newscript->GetAI = &GetAI_boss_spiritlynxAI;
newscript->RegisterSelf();
new boss_halazzi();
new mob_halazzi_lynx();
}
@@ -200,8 +200,17 @@ struct boss_hexlord_addAI : public ScriptedAI
}
};
struct boss_hex_lord_malacrassAI : public ScriptedAI
class boss_hexlord_malacrass : public CreatureScript
{
public:
boss_hexlord_malacrass()
: CreatureScript("boss_hexlord_malacrass")
{
}
struct boss_hex_lord_malacrassAI : public ScriptedAI
{
boss_hex_lord_malacrassAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
@@ -456,13 +465,28 @@ struct boss_hex_lord_malacrassAI : public ScriptedAI
if (pTarget)
DoCast(pTarget, PlayerAbility[PlayerClass][random].spell, false);
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_hexlord_malacrassAI(creature);
}
};
#define SPELL_BLOODLUST 43578
#define SPELL_CLEAVE 15496
struct boss_thurgAI : public boss_hexlord_addAI
class boss_thurg : public CreatureScript
{
public:
boss_thurg()
: CreatureScript("boss_thurg")
{
}
struct boss_thurgAI : public boss_hexlord_addAI
{
boss_thurgAI(Creature *c) : boss_hexlord_addAI(c) {}
@@ -501,13 +525,28 @@ struct boss_thurgAI : public boss_hexlord_addAI
boss_hexlord_addAI::UpdateAI(diff);
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_thurgAI(creature);
}
};
#define SPELL_FLASH_HEAL 43575
#define SPELL_DISPEL_MAGIC 43577
struct boss_alyson_antilleAI : public boss_hexlord_addAI
class boss_alyson_antille : public CreatureScript
{
public:
boss_alyson_antille()
: CreatureScript("boss_alyson_antille")
{
}
struct boss_alyson_antilleAI : public boss_hexlord_addAI
{
//Holy Priest
boss_alyson_antilleAI(Creature *c) : boss_hexlord_addAI(c) {}
@@ -586,6 +625,12 @@ struct boss_alyson_antilleAI : public boss_hexlord_addAI
boss_hexlord_addAI::UpdateAI(diff);
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_alyson_antilleAI(creature);
}
};
#define SPELL_FIREBOLT 43584
@@ -635,8 +680,17 @@ struct boss_gazakrothAI : public boss_hexlord_addAI
#define SPELL_FLAME_BREATH 43582
#define SPELL_THUNDERCLAP 43583
struct boss_lord_raadanAI : public boss_hexlord_addAI
class boss_lord_raadan : public CreatureScript
{
public:
boss_lord_raadan()
: CreatureScript("boss_lord_raadan")
{
}
struct boss_lord_raadanAI : public boss_hexlord_addAI
{
boss_lord_raadanAI(Creature *c) : boss_hexlord_addAI(c) {}
uint32 flamebreath_timer;
@@ -669,12 +723,27 @@ struct boss_lord_raadanAI : public boss_hexlord_addAI
boss_hexlord_addAI::UpdateAI(diff);
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_lord_raadanAI(creature);
}
};
#define SPELL_PSYCHIC_WAIL 43590
struct boss_darkheartAI : public boss_hexlord_addAI
class boss_darkheart : public CreatureScript
{
public:
boss_darkheart()
: CreatureScript("boss_darkheart")
{
}
struct boss_darkheartAI : public boss_hexlord_addAI
{
boss_darkheartAI(Creature *c) : boss_hexlord_addAI(c) {}
uint32 psychicwail_timer;
@@ -697,12 +766,27 @@ struct boss_darkheartAI : public boss_hexlord_addAI
boss_hexlord_addAI::UpdateAI(diff);
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_darkheartAI(creature);
}
};
#define SPELL_VENOM_SPIT 43579
struct boss_slitherAI : public boss_hexlord_addAI
class boss_slither : public CreatureScript
{
public:
boss_slither()
: CreatureScript("boss_slither")
{
}
struct boss_slitherAI : public boss_hexlord_addAI
{
boss_slitherAI(Creature *c) : boss_hexlord_addAI(c) {}
uint32 venomspit_timer;
@@ -742,13 +826,27 @@ struct boss_slitherAI : public boss_hexlord_addAI
boss_hexlord_addAI::UpdateAI(diff);
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_slitherAI(creature);
}
};
//Fenstalker
#define SPELL_VOLATILE_INFECTION 43586
struct boss_fenstalkerAI : public boss_hexlord_addAI
class boss_fenstalker : public CreatureScript
{
public:
boss_fenstalker()
: CreatureScript("boss_fenstalker")
{
}
struct boss_fenstalkerAI : public boss_hexlord_addAI
{
boss_fenstalkerAI(Creature *c) : boss_hexlord_addAI(c) {}
uint32 volatileinf_timer;
@@ -773,14 +871,29 @@ struct boss_fenstalkerAI : public boss_hexlord_addAI
boss_hexlord_addAI::UpdateAI(diff);
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_fenstalkerAI(creature);
}
};
//Koragg
#define SPELL_COLD_STARE 43593
#define SPELL_MIGHTY_BLOW 43592
struct boss_koraggAI : public boss_hexlord_addAI
class boss_koragg : public CreatureScript
{
public:
boss_koragg()
: CreatureScript("boss_koragg")
{
}
struct boss_koraggAI : public boss_hexlord_addAI
{
boss_koraggAI(Creature *c) : boss_hexlord_addAI(c) {}
uint32 coldstare_timer;
@@ -812,98 +925,24 @@ struct boss_koraggAI : public boss_hexlord_addAI
boss_hexlord_addAI::UpdateAI(diff);
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_koraggAI(creature);
}
};
CreatureAI* GetAI_boss_hex_lord_malacrass(Creature* pCreature)
{
return new boss_hex_lord_malacrassAI (pCreature);
}
CreatureAI* GetAI_boss_thurg(Creature* pCreature)
{
return new boss_thurgAI (pCreature);
}
CreatureAI* GetAI_boss_alyson_antille(Creature* pCreature)
{
return new boss_alyson_antilleAI (pCreature);
}
CreatureAI* GetAI_boss_gazakroth(Creature* pCreature)
{
return new boss_gazakrothAI (pCreature);
}
CreatureAI* GetAI_boss_lord_raadan(Creature* pCreature)
{
return new boss_lord_raadanAI (pCreature);
}
CreatureAI* GetAI_boss_darkheart(Creature* pCreature)
{
return new boss_darkheartAI (pCreature);
}
CreatureAI* GetAI_boss_slither(Creature* pCreature)
{
return new boss_slitherAI (pCreature);
}
CreatureAI* GetAI_boss_fenstalker(Creature* pCreature)
{
return new boss_fenstalkerAI (pCreature);
}
CreatureAI* GetAI_boss_koragg(Creature* pCreature)
{
return new boss_koraggAI (pCreature);
}
void AddSC_boss_hex_lord_malacrass()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_hexlord_malacrass";
newscript->GetAI = &GetAI_boss_hex_lord_malacrass;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "boss_thurg";
newscript->GetAI = &GetAI_boss_thurg;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "boss_gazakroth";
newscript->GetAI = &GetAI_boss_gazakroth;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "boss_lord_raadan";
newscript->GetAI = &GetAI_boss_lord_raadan;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "boss_darkheart";
newscript->GetAI = &GetAI_boss_darkheart;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "boss_slither";
newscript->GetAI = &GetAI_boss_slither;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "boss_fenstalker";
newscript->GetAI = &GetAI_boss_fenstalker;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "boss_koragg";
newscript->GetAI = &GetAI_boss_koragg;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "boss_alyson_antille";
newscript->GetAI = &GetAI_boss_alyson_antille;
newscript->RegisterSelf();
new boss_hexlord_malacrass();
new boss_thurg();
new boss_gazakroth();
new boss_lord_raadan();
new boss_darkheart();
new boss_slither();
new boss_fenstalker();
new boss_koragg();
new boss_alyson_antille();
}
@@ -101,9 +101,17 @@ float hatcherway[2][5][3] =
{-34.29,1095.22,19}
}
};
struct boss_janalaiAI : public ScriptedAI
class boss_janalai : public CreatureScript
{
public:
boss_janalai()
: CreatureScript("boss_janalai")
{
}
struct boss_janalaiAI : public ScriptedAI
{
boss_janalaiAI(Creature *c) : ScriptedAI(c)
{
pInstance =c->GetInstanceData();
@@ -176,7 +184,7 @@ struct boss_janalaiAI : public ScriptedAI
pInstance->SetData(DATA_JANALAIEVENT, IN_PROGRESS);
DoScriptText(SAY_AGGRO, me);
// DoZoneInCombat();
// DoZoneInCombat();
}
void DamageDealt(Unit *pTarget, uint32 &damage)
@@ -429,15 +437,26 @@ struct boss_janalaiAI : public ScriptedAI
FireBreathTimer = 8000;
} else FireBreathTimer -= diff;
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_janalaiAI(creature);
}
};
CreatureAI* GetAI_boss_janalaiAI(Creature* pCreature)
class mob_janalai_firebomb : public CreatureScript
{
return new boss_janalaiAI(pCreature);
}
public:
struct mob_janalai_firebombAI : public ScriptedAI
{
mob_janalai_firebomb()
: CreatureScript("mob_janalai_firebomb")
{
}
struct mob_janalai_firebombAI : public ScriptedAI
{
mob_janalai_firebombAI(Creature *c) : ScriptedAI(c){}
void Reset() {}
@@ -455,15 +474,25 @@ struct mob_janalai_firebombAI : public ScriptedAI
void MoveInLineOfSight(Unit* /*who*/) {}
void UpdateAI(const uint32 /*diff*/) {}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_janalai_firebombAI(creature);
}
};
CreatureAI* GetAI_mob_janalai_firebombAI(Creature* pCreature)
class mob_janalai_hatcher : public CreatureScript
{
return new mob_janalai_firebombAI(pCreature);
}
public:
struct mob_amanishi_hatcherAI : public ScriptedAI
{
mob_janalai_hatcher()
: CreatureScript("mob_janalai_hatcher")
{
}
struct mob_janalai_hatcherAI : public ScriptedAI
{
mob_amanishi_hatcherAI(Creature *c) : ScriptedAI(c)
{
pInstance =c->GetInstanceData();
@@ -578,16 +607,26 @@ struct mob_amanishi_hatcherAI : public ScriptedAI
} else WaitTimer -= diff;
}
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_janalai_hatcherAI(creature);
}
};
CreatureAI* GetAI_mob_amanishi_hatcherAI(Creature* pCreature)
class mob_janalai_hatchling : public CreatureScript
{
return new mob_amanishi_hatcherAI(pCreature);
}
public:
struct mob_hatchlingAI : public ScriptedAI
{
mob_hatchlingAI(Creature *c) : ScriptedAI(c)
mob_janalai_hatchling()
: CreatureScript("mob_janalai_hatchling")
{
}
struct mob_janalai_hatchlingAI : public ScriptedAI
{
mob_janalai_hatchlingAI(Creature *c) : ScriptedAI(c)
{
pInstance =c->GetInstanceData();
}
@@ -627,12 +666,30 @@ struct mob_hatchlingAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_janalai_hatchlingAI(creature);
}
};
CreatureAI* GetAI_mob_hatchlingAI(Creature* pCreature)
class mob_janalai_egg : public CreatureScript
{
return new mob_hatchlingAI(pCreature);
}
public:
mob_janalai_egg()
: CreatureScript("mob_janalai_egg")
{
}
CreatureAI* GetAI(Creature* creature) const
{
return new mob_janalai_eggAI(creature);
}
};
struct mob_eggAI : public ScriptedAI
{
@@ -653,37 +710,12 @@ struct mob_eggAI : public ScriptedAI
}
};
CreatureAI* GetAI_mob_eggAI(Creature* pCreature)
{
return new mob_eggAI(pCreature);
}
void AddSC_boss_janalai()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_janalai";
newscript->GetAI = &GetAI_boss_janalaiAI;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_janalai_firebomb";
newscript->GetAI = &GetAI_mob_janalai_firebombAI;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_janalai_hatcher";
newscript->GetAI = &GetAI_mob_amanishi_hatcherAI;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_janalai_hatchling";
newscript->GetAI = &GetAI_mob_hatchlingAI;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_janalai_egg";
newscript->GetAI = &GetAI_mob_eggAI;
newscript->RegisterSelf();
new boss_janalai();
new mob_janalai_firebomb();
new mob_janalai_hatcher();
new mob_janalai_hatchling();
new mob_janalai_egg();
}
@@ -90,8 +90,17 @@ float NalorakkWay[8][3] =
#define YELL_SHIFTEDTOBEAR "You call on da beast, you gonna get more dan you bargain for!"
#define SOUND_YELL_TOBEAR 12072
struct boss_nalorakkAI : public ScriptedAI
class boss_nalorakk : public CreatureScript
{
public:
boss_nalorakk()
: CreatureScript("boss_nalorakk")
{
}
struct boss_nalorakkAI : public ScriptedAI
{
boss_nalorakkAI(Creature *c) : ScriptedAI(c)
{
MoveEvent = true;
@@ -435,19 +444,17 @@ struct boss_nalorakkAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
};
CreatureAI* GetAI_boss_nalorakk(Creature* pCreature)
{
return new boss_nalorakkAI (pCreature);
}
CreatureAI* GetAI(Creature* creature) const
{
return new boss_nalorakkAI(creature);
}
};
void AddSC_boss_nalorakk()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_nalorakk";
newscript->GetAI = &GetAI_boss_nalorakk;
newscript->RegisterSelf();
new boss_nalorakk();
}
@@ -140,8 +140,17 @@ static TransformStruct Transform[] =
{SOUND_TRANSFORM_TO_DRAGONHAWK, YELL_TRANSFORM_TO_DRAGONHAWK, SPELL_SHAPE_OF_THE_DRAGONHAWK, SPELL_SHAPE_OF_THE_LYNX}
};
struct boss_zuljinAI : public ScriptedAI
class boss_zuljin : public CreatureScript
{
public:
boss_zuljin()
: CreatureScript("boss_zuljin")
{
}
struct boss_zuljinAI : public ScriptedAI
{
boss_zuljinAI(Creature *c) : ScriptedAI(c), Summons(me)
{
pInstance = c->GetInstanceData();
@@ -575,16 +584,27 @@ struct boss_zuljinAI : public ScriptedAI
if (!TankGUID)
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_zuljinAI(creature);
}
};
CreatureAI* GetAI_boss_zuljin(Creature* pCreature)
class mob_zuljin_vortex : public CreatureScript
{
return new boss_zuljinAI (pCreature);
}
public:
struct feather_vortexAI : public ScriptedAI
{
feather_vortexAI(Creature *c) : ScriptedAI(c) {}
mob_zuljin_vortex()
: CreatureScript("mob_zuljin_vortex")
{
}
struct mob_zuljin_vortexAI : public ScriptedAI
{
mob_zuljin_vortexAI(Creature *c) : ScriptedAI(c) {}
void Reset() {}
@@ -602,24 +622,18 @@ struct feather_vortexAI : public ScriptedAI
if (me->IsWithinMeleeRange(me->getVictim()))
AttackStart(SelectUnit(SELECT_TARGET_RANDOM, 0));
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_zuljin_vortexAI(creature);
}
};
CreatureAI* GetAI_feather_vortexAI(Creature* pCreature)
{
return new feather_vortexAI (pCreature);
}
void AddSC_boss_zuljin()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_zuljin";
newscript->GetAI = &GetAI_boss_zuljin;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_zuljin_vortex";
newscript->GetAI = &GetAI_feather_vortexAI;
newscript->RegisterSelf();
new boss_zuljin();
new mob_zuljin_vortex();
}
@@ -51,9 +51,17 @@ static SHostageInfo HostageInfo[] =
};
struct instance_zulaman : public ScriptedInstance
class instance_zulaman : public InstanceMapScript
{
instance_zulaman(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
public:
instance_zulaman()
: InstanceMapScript("instance_zulaman")
{
}
struct instance_zulaman_InstanceMapScript : public ScriptedInstance
{
instance_zulaman_InstanceMapScript(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
uint64 HarkorsSatchelGUID;
uint64 TanzarsTrunkGUID;
@@ -304,19 +312,16 @@ struct instance_zulaman : public ScriptedInstance
QuestTimer -= diff;
}
}
};
};
InstanceData* GetInstanceData_instance_zulaman(Map* pMap)
{
return new instance_zulaman(pMap);
}
InstanceData* GetInstanceData(InstanceMap* pMap) const
{
return new instance_zulaman_InstanceMapScript(pMap);
}
};
void AddSC_instance_zulaman()
{
Script *newscript;
newscript = new Script;
newscript->Name = "instance_zulaman";
newscript->GetInstanceData = &GetInstanceData_instance_zulaman;
newscript->RegisterSelf();
new instance_zulaman();
}
@@ -38,8 +38,17 @@ EndContentData */
#define SPELL_PUSH_MOJO 43923
#define ENTRY_FOREST_FROG 24396
struct npc_forest_frogAI : public ScriptedAI
class npc_forest_frog : public CreatureScript
{
public:
npc_forest_frog()
: CreatureScript("npc_forest_frog")
{
}
struct npc_forest_frogAI : public ScriptedAI
{
npc_forest_frogAI(Creature* c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
@@ -91,11 +100,13 @@ struct npc_forest_frogAI : public ScriptedAI
else DoSpawnRandom();
}
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new npc_forest_frogAI(creature);
}
};
CreatureAI* GetAI_npc_forest_frog(Creature* pCreature)
{
return new npc_forest_frogAI (pCreature);
}
/*######
## npc_zulaman_hostage
@@ -106,8 +117,17 @@ CreatureAI* GetAI_npc_forest_frog(Creature* pCreature)
static uint32 HostageEntry[] = {23790, 23999, 24024, 24001};
static uint32 ChestEntry[] = {186648, 187021, 186672, 186667};
struct npc_zulaman_hostageAI : public ScriptedAI
class npc_zulaman_hostage : public CreatureScript
{
public:
npc_zulaman_hostage()
: CreatureScript("npc_zulaman_hostage")
{
}
struct npc_zulaman_hostageAI : public ScriptedAI
{
npc_zulaman_hostageAI(Creature *c) : ScriptedAI(c) {IsLoot = false;}
bool IsLoot;
uint64 PlayerGUID;
@@ -123,17 +143,22 @@ struct npc_zulaman_hostageAI : public ScriptedAI
if (IsLoot)
DoCast(me, 7, false);
}
};
};
bool GossipHello_npc_zulaman_hostage(Player* pPlayer, Creature* pCreature)
{
CreatureAI* GetAI(Creature* creature) const
{
return new npc_zulaman_hostageAI(creature);
}
bool OnGossipHello(Player* pPlayer, Creature* pCreature)
{
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HOSTAGE1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
pPlayer->SEND_GOSSIP_MENU(pPlayer->GetGossipTextId(pCreature), pCreature->GetGUID());
return true;
}
}
bool GossipSelect_npc_zulaman_hostage(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
{
bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
{
if (uiAction == GOSSIP_ACTION_INFO_DEF + 1)
pPlayer->CLOSE_GOSSIP_MENU();
@@ -157,38 +182,14 @@ bool GossipSelect_npc_zulaman_hostage(Player* pPlayer, Creature* pCreature, uint
break;
}
}
/*Creature* summon = pCreature->SummonCreature(HostageInfo[progress], x-2, y, z, 0, TEMPSUMMON_DEAD_DESPAWN, 0);
if (summon)
{
CAST_AI(npc_zulaman_hostageAI, summon->AI())->PlayerGUID = pPlayer->GetGUID();
CAST_AI(npc_zulaman_hostageAI, summon->AI())->IsLoot = true;
summon->SetDisplayId(10056);
summon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
summon->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
}*/
}
return true;
}
CreatureAI* GetAI_npc_zulaman_hostage(Creature* pCreature)
{
return new npc_zulaman_hostageAI(pCreature);
}
}
};
void AddSC_zulaman()
{
Script *newscript;
newscript = new Script;
newscript->Name = "npc_forest_frog";
newscript->GetAI = &GetAI_npc_forest_frog;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "npc_zulaman_hostage";
newscript->GetAI = &GetAI_npc_zulaman_hostage;
newscript->pGossipHello = &GossipHello_npc_zulaman_hostage;
newscript->pGossipSelect = &GossipSelect_npc_zulaman_hostage;
newscript->RegisterSelf();
new npc_forest_frog();
new npc_zulaman_hostage();
}
@@ -26,26 +26,15 @@ EndScriptData */
#include "ScriptPCH.h"
#include "zulgurub.h"
bool GOHello_go_gong_of_bethekk(Player* /*pPlayer*/, GameObject* pGo)
{
if (ScriptedInstance* m_pInstance = pGo->GetInstanceData())
{
if (m_pInstance->GetData(TYPE_ARLOKK) == DONE || m_pInstance->GetData(TYPE_ARLOKK) == IN_PROGRESS)
return true;
m_pInstance->SetData(TYPE_ARLOKK, IN_PROGRESS);
return true;
}
return true;
}
enum eEnums
enum eYells
{
SAY_AGGRO = -1309011,
SAY_FEAST_PANTHER = -1309012,
SAY_DEATH = -1309013,
};
enum eSpells
{
SPELL_SHADOWWORDPAIN = 23952,
SPELL_GOUGE = 24698,
SPELL_MARK = 24210,
@@ -59,8 +48,17 @@ enum eEnums
NPC_ZULIAN_PROWLER = 15101
};
struct boss_arlokkAI : public ScriptedAI
class boss_arlokk : public CreatureScript
{
public:
boss_arlokk()
: CreatureScript("boss_arlokk")
{
}
struct boss_arlokkAI : public ScriptedAI
{
boss_arlokkAI(Creature* pCreature) : ScriptedAI(pCreature)
{
m_pInstance = pCreature->GetInstanceData();
@@ -256,25 +254,39 @@ struct boss_arlokkAI : public ScriptedAI
else
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_arlokkAI(creature);
}
};
CreatureAI* GetAI_boss_arlokk(Creature* pCreature)
class go_gong_of_bethekk : public GameObjectScript
{
return new boss_arlokkAI (pCreature);
}
public:
go_gong_of_bethekk() : GameObjectScript("go_gong_of_bethekk")
{
}
bool OnGossipHello(Player* /*pPlayer*/, GameObject* pGo)
{
if (ScriptedInstance* m_pInstance = pGo->GetInstanceData())
{
if (m_pInstance->GetData(TYPE_ARLOKK) == DONE || m_pInstance->GetData(TYPE_ARLOKK) == IN_PROGRESS)
return true;
m_pInstance->SetData(TYPE_ARLOKK, IN_PROGRESS);
return true;
}
return true;
}
};
void AddSC_boss_arlokk()
{
Script *newscript;
newscript = new Script;
newscript->Name = "go_gong_of_bethekk";
newscript->pGOHello = &GOHello_go_gong_of_bethekk;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "boss_arlokk";
newscript->GetAI = &GetAI_boss_arlokk;
newscript->RegisterSelf();
new boss_arlokk();
new go_gong_of_bethekk();
}
@@ -29,8 +29,17 @@ EndScriptData */
#define SPELL_MASSIVEGEYSER 22421 //Not working. Cause its a summon...
#define SPELL_SLAM 24326
struct boss_gahzrankaAI : public ScriptedAI
class boss_gahzranka : public CreatureScript
{
public:
boss_gahzranka()
: CreatureScript("boss_gahzranka")
{
}
struct boss_gahzrankaAI : public ScriptedAI
{
boss_gahzrankaAI(Creature *c) : ScriptedAI(c) {}
uint32 Frostbreath_Timer;
uint32 MassiveGeyser_Timer;
@@ -78,18 +87,16 @@ struct boss_gahzrankaAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_gahzrankaAI(creature);
}
};
CreatureAI* GetAI_boss_gahzranka(Creature* pCreature)
{
return new boss_gahzrankaAI (pCreature);
}
void AddSC_boss_gahzranka()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_gahzranka";
newscript->GetAI = &GetAI_boss_gahzranka;
newscript->RegisterSelf();
new boss_gahzranka();
}
@@ -29,8 +29,17 @@ EndScriptData */
#define SPELL_AVARTAR 24646 //The Enrage Spell
#define SPELL_GROUNDTREMOR 6524
struct boss_grilekAI : public ScriptedAI
class boss_grilek : public CreatureScript
{
public:
boss_grilek()
: CreatureScript("boss_grilek")
{
}
struct boss_grilekAI : public ScriptedAI
{
boss_grilekAI(Creature *c) : ScriptedAI(c) {}
uint32 Avartar_Timer;
@@ -78,18 +87,16 @@ struct boss_grilekAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_grilekAI(creature);
}
};
CreatureAI* GetAI_boss_grilek(Creature* pCreature)
{
return new boss_grilekAI (pCreature);
}
void AddSC_boss_grilek()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_grilek";
newscript->GetAI = &GetAI_boss_grilek;
newscript->RegisterSelf();
new boss_grilek();
}
@@ -44,8 +44,17 @@ EndScriptData */
#define SPELL_ASPECT_OF_THEKAL 24689
#define SPELL_ASPECT_OF_ARLOKK 24690
struct boss_hakkarAI : public ScriptedAI
class boss_hakkar : public CreatureScript
{
public:
boss_hakkar()
: CreatureScript("boss_hakkar")
{
}
struct boss_hakkarAI : public ScriptedAI
{
boss_hakkarAI(Creature *c) : ScriptedAI(c)
{
m_pInstance = c->GetInstanceData();
@@ -234,19 +243,16 @@ struct boss_hakkarAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
};
CreatureAI* GetAI_boss_hakkar(Creature* pCreature)
{
return new boss_hakkarAI (pCreature);
}
CreatureAI* GetAI(Creature* creature) const
{
return new boss_hakkarAI(creature);
}
};
void AddSC_boss_hakkar()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_hakkar";
newscript->GetAI = &GetAI_boss_hakkar;
newscript->RegisterSelf();
new boss_hakkar();
}
@@ -29,8 +29,17 @@ EndScriptData */
#define SPELL_MANABURN 26046
#define SPELL_SLEEP 24664
struct boss_hazzarahAI : public ScriptedAI
class boss_hazzarah : public CreatureScript
{
public:
boss_hazzarah()
: CreatureScript("boss_hazzarah")
{
}
struct boss_hazzarahAI : public ScriptedAI
{
boss_hazzarahAI(Creature *c) : ScriptedAI(c) {}
uint32 ManaBurn_Timer;
@@ -89,18 +98,16 @@ struct boss_hazzarahAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_hazzarahAI(creature);
}
};
CreatureAI* GetAI_boss_hazzarah(Creature* pCreature)
{
return new boss_hazzarahAI (pCreature);
}
void AddSC_boss_hazzarah()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_hazzarah";
newscript->GetAI = &GetAI_boss_hazzarah;
newscript->RegisterSelf();
new boss_hazzarah();
}
@@ -43,8 +43,17 @@ EndScriptData */
#define SPELL_BOMB 40332 //Wrong ID but Magmadars bomb is not working...
struct boss_jeklikAI : public ScriptedAI
class boss_jeklik : public CreatureScript
{
public:
boss_jeklik()
: CreatureScript("boss_jeklik")
{
}
struct boss_jeklikAI : public ScriptedAI
{
boss_jeklikAI(Creature *c) : ScriptedAI(c)
{
m_pInstance = c->GetInstanceData();
@@ -207,11 +216,26 @@ struct boss_jeklikAI : public ScriptedAI
DoMeleeAttackIfReady();
}
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_jeklikAI(creature);
}
};
//Flying Bat
struct mob_batriderAI : public ScriptedAI
class mob_batrider : public CreatureScript
{
public:
mob_batrider()
: CreatureScript("mob_batrider")
{
}
struct mob_batriderAI : public ScriptedAI
{
mob_batriderAI(Creature *c) : ScriptedAI(c)
{
m_pInstance = c->GetInstanceData();
@@ -265,29 +289,17 @@ struct mob_batriderAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_batriderAI(creature);
}
};
CreatureAI* GetAI_boss_jeklik(Creature* pCreature)
{
return new boss_jeklikAI (pCreature);
}
CreatureAI* GetAI_mob_batrider(Creature* pCreature)
{
return new mob_batriderAI (pCreature);
}
void AddSC_boss_jeklik()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_jeklik";
newscript->GetAI = &GetAI_boss_jeklik;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_batrider";
newscript->GetAI = &GetAI_mob_batrider;
newscript->RegisterSelf();
new boss_jeklik();
new mob_batrider();
}
@@ -41,8 +41,17 @@ EndScriptData */
#define SPELL_SHADOWSHOCK 19460
#define SPELL_INVISIBLE 24699
struct boss_jindoAI : public ScriptedAI
class boss_jindo : public CreatureScript
{
public:
boss_jindo()
: CreatureScript("boss_jindo")
{
}
struct boss_jindoAI : public ScriptedAI
{
boss_jindoAI(Creature *c) : ScriptedAI(c) {}
uint32 BrainWashTotem_Timer;
@@ -158,11 +167,26 @@ struct boss_jindoAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_jindoAI(creature);
}
};
//Healing Ward
struct mob_healing_wardAI : public ScriptedAI
class mob_healing_ward : public CreatureScript
{
public:
mob_healing_ward()
: CreatureScript("mob_healing_ward")
{
}
struct mob_healing_wardAI : public ScriptedAI
{
mob_healing_wardAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
@@ -197,11 +221,26 @@ struct mob_healing_wardAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_healing_wardAI(creature);
}
};
//Shade of Jindo
struct mob_shade_of_jindoAI : public ScriptedAI
class mob_shade_of_jindo : public CreatureScript
{
public:
mob_shade_of_jindo()
: CreatureScript("mob_shade_of_jindo")
{
}
struct mob_shade_of_jindoAI : public ScriptedAI
{
mob_shade_of_jindoAI(Creature *c) : ScriptedAI(c) {}
uint32 ShadowShock_Timer;
@@ -226,40 +265,18 @@ struct mob_shade_of_jindoAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_shade_of_jindoAI(creature);
}
};
CreatureAI* GetAI_boss_jindo(Creature* pCreature)
{
return new boss_jindoAI (pCreature);
}
CreatureAI* GetAI_mob_healing_ward(Creature* pCreature)
{
return new mob_healing_wardAI (pCreature);
}
CreatureAI* GetAI_mob_shade_of_jindo(Creature* pCreature)
{
return new mob_shade_of_jindoAI (pCreature);
}
void AddSC_boss_jindo()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_jindo";
newscript->GetAI = &GetAI_boss_jindo;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_healing_ward";
newscript->GetAI = &GetAI_mob_healing_ward;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_shade_of_jindo";
newscript->GetAI = &GetAI_mob_shade_of_jindo;
newscript->RegisterSelf();
new boss_jindo();
new mob_healing_ward();
new mob_shade_of_jindo();
}
@@ -44,8 +44,17 @@ EndScriptData */
//Ohgans Spells
#define SPELL_SUNDERARMOR 24317
struct boss_mandokirAI : public ScriptedAI
class boss_mandokir : public CreatureScript
{
public:
boss_mandokir()
: CreatureScript("boss_mandokir")
{
}
struct boss_mandokirAI : public ScriptedAI
{
boss_mandokirAI(Creature *c) : ScriptedAI(c)
{
m_pInstance = c->GetInstanceData();
@@ -265,11 +274,26 @@ struct boss_mandokirAI : public ScriptedAI
DoMeleeAttackIfReady();
}
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_mandokirAI(creature);
}
};
//Ohgan
struct mob_ohganAI : public ScriptedAI
class mob_ohgan : public CreatureScript
{
public:
mob_ohgan()
: CreatureScript("mob_ohgan")
{
}
struct mob_ohganAI : public ScriptedAI
{
mob_ohganAI(Creature *c) : ScriptedAI(c)
{
m_pInstance = c->GetInstanceData();
@@ -306,30 +330,17 @@ struct mob_ohganAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_ohganAI(creature);
}
};
CreatureAI* GetAI_boss_mandokir(Creature* pCreature)
{
return new boss_mandokirAI (pCreature);
}
CreatureAI* GetAI_mob_ohgan(Creature* pCreature)
{
return new mob_ohganAI (pCreature);
}
void AddSC_boss_mandokir()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_mandokir";
newscript->GetAI = &GetAI_boss_mandokir;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_ohgan";
newscript->GetAI = &GetAI_mob_ohgan;
newscript->RegisterSelf();
new boss_mandokir();
new mob_ohgan();
}
@@ -40,8 +40,17 @@ EndScriptData */
//The Spider Spells
#define SPELL_LEVELUP 24312 //Not right Spell.
struct boss_marliAI : public ScriptedAI
class boss_marli : public CreatureScript
{
public:
boss_marli()
: CreatureScript("boss_marli")
{
}
struct boss_marliAI : public ScriptedAI
{
boss_marliAI(Creature *c) : ScriptedAI(c)
{
m_pInstance = c->GetInstanceData();
@@ -201,11 +210,27 @@ struct boss_marliAI : public ScriptedAI
DoMeleeAttackIfReady();
}
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new example_creatureAI(creature);
}
};
//Spawn of Marli
struct mob_spawn_of_marliAI : public ScriptedAI
class mob_spawn_of_marli : public CreatureScript
{
public:
mob_spawn_of_marli()
: CreatureScript("mob_spawn_of_marli")
{
}
struct mob_spawn_of_marliAI : public ScriptedAI
{
mob_spawn_of_marliAI(Creature *c) : ScriptedAI(c) {}
uint32 LevelUp_Timer;
@@ -234,30 +259,17 @@ struct mob_spawn_of_marliAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_spawn_of_marliAI(creature);
}
};
CreatureAI* GetAI_boss_marli(Creature* pCreature)
{
return new boss_marliAI (pCreature);
}
CreatureAI* GetAI_mob_spawn_of_marli(Creature* pCreature)
{
return new mob_spawn_of_marliAI (pCreature);
}
void AddSC_boss_marli()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_marli";
newscript->GetAI = &GetAI_boss_marli;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_spawn_of_marli";
newscript->GetAI = &GetAI_mob_spawn_of_marli;
newscript->RegisterSelf();
new boss_marli();
new mob_spawn_of_marli();
}
@@ -31,8 +31,17 @@ EndScriptData */
#define EQUIP_ID_MAIN_HAND 0 //was item display id 31818, but this id does not exist
struct boss_renatakiAI : public ScriptedAI
class boss_renataki : public CreatureScript
{
public:
boss_renataki()
: CreatureScript("boss_renataki")
{
}
struct boss_renatakiAI : public ScriptedAI
{
boss_renatakiAI(Creature *c) : ScriptedAI(c) {}
uint32 Invisible_Timer;
@@ -137,18 +146,16 @@ struct boss_renatakiAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_renatakiAI(creature);
}
};
CreatureAI* GetAI_boss_renataki(Creature* pCreature)
{
return new boss_renatakiAI (pCreature);
}
void AddSC_boss_renataki()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_renataki";
newscript->GetAI = &GetAI_boss_renataki;
newscript->RegisterSelf();
new boss_renataki();
}
@@ -29,31 +29,43 @@ EndScriptData */
#define SAY_AGGRO -1309009
#define SAY_DEATH -1309010
#define SPELL_MORTALCLEAVE 22859
#define SPELL_SILENCE 23207
#define SPELL_FRENZY 23342
#define SPELL_FORCEPUNCH 24189
#define SPELL_CHARGE 24408
#define SPELL_ENRAGE 23537
#define SPELL_SUMMONTIGERS 24183
#define SPELL_TIGER_FORM 24169
#define SPELL_RESURRECT 24173 //We will not use this spell.
//Zealot Lor'Khan Spells
#define SPELL_SHIELD 25020
#define SPELL_BLOODLUST 24185
#define SPELL_GREATERHEAL 24208
#define SPELL_DISARM 22691
//Zealot Lor'Khan Spells
#define SPELL_SWEEPINGSTRIKES 18765
#define SPELL_SINISTERSTRIKE 15667
#define SPELL_GOUGE 24698
#define SPELL_KICK 15614
#define SPELL_BLIND 21060
struct boss_thekalAI : public ScriptedAI
enum eSpells
{
SPELL_MORTALCLEAVE = 22859,
SPELL_SILENCE = 23207,
SPELL_FRENZY = 23342,
SPELL_FORCEPUNCH = 24189,
SPELL_CHARGE = 24408,
SPELL_ENRAGE = 23537,
SPELL_SUMMONTIGERS = 24183,
SPELL_TIGER_FORM = 24169,
SPELL_RESURRECT = 24173, //We will not use this spell.
//Zealot Lor'Khan Spells
SPELL_SHIELD = 25020,
SPELL_BLOODLUST = 24185,
SPELL_GREATERHEAL = 24208,
SPELL_DISARM = 22691,
//Zealot Lor'Khan Spells
SPELL_SWEEPINGSTRIKES = 18765,
SPELL_SINISTERSTRIKE = 15667,
SPELL_GOUGE = 24698,
SPELL_KICK = 15614,
SPELL_BLIND = 21060,
};
class boss_thekal : public CreatureScript
{
public:
boss_thekal()
: CreatureScript("boss_thekal")
{
}
struct boss_thekalAI : public ScriptedAI
{
boss_thekalAI(Creature *c) : ScriptedAI(c)
{
m_pInstance = c->GetInstanceData();
@@ -242,11 +254,26 @@ struct boss_thekalAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_thekalAI(creature);
}
};
//Zealot Lor'Khan
struct mob_zealot_lorkhanAI : public ScriptedAI
class mob_zealot_lorkhan : public CreatureScript
{
public:
mob_zealot_lorkhan()
: CreatureScript("mob_zealot_lorkhan")
{
}
struct mob_zealot_lorkhanAI : public ScriptedAI
{
mob_zealot_lorkhanAI(Creature *c) : ScriptedAI(c)
{
m_pInstance = c->GetInstanceData();
@@ -384,11 +411,26 @@ struct mob_zealot_lorkhanAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_zealot_lorkhanAI(creature);
}
};
//Zealot Zath
struct mob_zealot_zathAI : public ScriptedAI
class mob_zealot_zath : public CreatureScript
{
public:
mob_zealot_zath()
: CreatureScript("mob_zealot_zath")
{
}
struct mob_zealot_zathAI : public ScriptedAI
{
mob_zealot_zathAI(Creature *c) : ScriptedAI(c)
{
m_pInstance = c->GetInstanceData();
@@ -519,40 +561,18 @@ struct mob_zealot_zathAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_zealot_zathAI(creature);
}
};
CreatureAI* GetAI_boss_thekal(Creature* pCreature)
{
return new boss_thekalAI (pCreature);
}
CreatureAI* GetAI_mob_zealot_lorkhan(Creature* pCreature)
{
return new mob_zealot_lorkhanAI (pCreature);
}
CreatureAI* GetAI_mob_zealot_zath(Creature* pCreature)
{
return new mob_zealot_zathAI (pCreature);
}
void AddSC_boss_thekal()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_thekal";
newscript->GetAI = &GetAI_boss_thekal;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_zealot_lorkhan";
newscript->GetAI = &GetAI_mob_zealot_lorkhan;
newscript->RegisterSelf();
newscript = new Script;
newscript->Name = "mob_zealot_zath";
newscript->GetAI = &GetAI_mob_zealot_zath;
newscript->RegisterSelf();
new boss_thekal();
new mob_zealot_lorkhan();
new mob_zealot_zath();
}
@@ -39,8 +39,17 @@ EndScriptData */
#define SPELL_BERSERK 23537
#define SPELL_DISPELL 23859
struct boss_venoxisAI : public ScriptedAI
class boss_venoxis : public CreatureScript
{
public:
boss_venoxis()
: CreatureScript("boss_venoxis")
{
}
struct boss_venoxisAI : public ScriptedAI
{
boss_venoxisAI(Creature *c) : ScriptedAI(c)
{
m_pInstance = c->GetInstanceData();
@@ -183,19 +192,16 @@ struct boss_venoxisAI : public ScriptedAI
}
DoMeleeAttackIfReady();
}
};
};
CreatureAI* GetAI_boss_venoxis(Creature* pCreature)
{
return new boss_venoxisAI (pCreature);
}
CreatureAI* GetAI(Creature* creature) const
{
return new boss_venoxisAI(creature);
}
};
void AddSC_boss_venoxis()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_venoxis";
newscript->GetAI = &GetAI_boss_venoxis;
newscript->RegisterSelf();
new boss_venoxis();
}
@@ -29,8 +29,17 @@ EndScriptData */
#define SPELL_LIGHTNINGCLOUD 25033
#define SPELL_LIGHTNINGWAVE 24819
struct boss_wushoolayAI : public ScriptedAI
class boss_wushoolay : public CreatureScript
{
public:
boss_wushoolay()
: CreatureScript("boss_wushoolay")
{
}
struct boss_wushoolayAI : public ScriptedAI
{
boss_wushoolayAI(Creature *c) : ScriptedAI(c) {}
uint32 LightningCloud_Timer;
@@ -70,18 +79,16 @@ struct boss_wushoolayAI : public ScriptedAI
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_wushoolayAI(creature);
}
};
CreatureAI* GetAI_boss_wushoolay(Creature* pCreature)
{
return new boss_wushoolayAI (pCreature);
}
void AddSC_boss_wushoolay()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_wushoolay";
newscript->GetAI = &GetAI_boss_wushoolay;
newscript->RegisterSelf();
new boss_wushoolay();
}
@@ -26,8 +26,16 @@ EndScriptData */
#include "ScriptPCH.h"
#include "zulgurub.h"
struct instance_zulgurub : public ScriptedInstance
class instance_zulgurub : public InstanceMapScript
{
public:
instance_zulgurub()
: InstanceMapScript("instance_zulgurub")
{
}
struct instance_zulgurub_InstanceMapScript : public ScriptedInstance
{
instance_zulgurub(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
//If all High Priest bosses were killed. Lorkhan, Zath and Ohgan are added too.
@@ -143,19 +151,15 @@ struct instance_zulgurub : public ScriptedInstance
}
return 0;
}
};
};
InstanceData* GetInstanceData_instance_zulgurub(Map* pMap)
{
return new instance_zulgurub(pMap);
}
InstanceData* OnGetInstanceData(InstanceMap* pMap)
{
return new instance_zulgurub_InstanceMapScript(pMap);
}
};
void AddSC_instance_zulgurub()
{
Script *newscript;
newscript = new Script;
newscript->Name = "instance_zulgurub";
newscript->GetInstanceData = &GetInstanceData_instance_zulgurub;
newscript->RegisterSelf();
new instance_zulgurub();
}