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 #define SPELL_BOSS_OBJECT_VISUAL 11206
class go_altar_of_archaedas : public CreatureScript class go_altar_of_archaedas : public GameObjectScript
{ {
public: public:
go_altar_of_archaedas() 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 #define SPELL_BOSS_OBJECT_VISUAL 11206
class go_altar_of_the_keepers : public CreatureScript class go_altar_of_the_keepers : public GameObjectScript
{ {
public: public:
go_altar_of_the_keepers() 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() void AddSC_instance_uldaman()
{ {
new instance_uldaman; new instance_uldaman();
} }
@@ -59,6 +59,15 @@ EndScriptData */
#define SE_LOC_Y_MAX 1435 #define SE_LOC_Y_MAX 1435
#define SE_LOC_Y_MIN 1370 #define SE_LOC_Y_MIN 1370
class boss_akilzon : public CreatureScript
{
public:
boss_akilzon()
: CreatureScript("boss_akilzon")
{
}
struct boss_akilzonAI : public ScriptedAI struct boss_akilzonAI : public ScriptedAI
{ {
boss_akilzonAI(Creature *c) : ScriptedAI(c) boss_akilzonAI(Creature *c) : ScriptedAI(c)
@@ -374,9 +383,24 @@ struct boss_akilzonAI : public ScriptedAI
} }
}; };
struct mob_soaring_eagleAI : public ScriptedAI CreatureAI* GetAI(Creature* creature) const
{ {
mob_soaring_eagleAI(Creature *c) : ScriptedAI(c) {} return new boss_akilzonAI(creature);
}
};
class mob_akilzon_eagle : public CreatureScript
{
public:
mob_akilzon_eagle()
: CreatureScript("mob_akilzon_eagle")
{
}
struct mob_akilzon_eagleAI : public ScriptedAI
{
mob_akilzon_eagleAI(Creature *c) : ScriptedAI(c) {}
uint32 EagleSwoop_Timer; uint32 EagleSwoop_Timer;
bool arrived; bool arrived;
@@ -441,29 +465,15 @@ struct mob_soaring_eagleAI : public ScriptedAI
} }
}; };
//Soaring Eagle CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI_mob_soaring_eagle(Creature* pCreature)
{ {
return new mob_soaring_eagleAI(pCreature); return new mob_akilzon_eagleAI(creature);
}
CreatureAI* GetAI_boss_akilzon(Creature* pCreature)
{
return new boss_akilzonAI(pCreature);
} }
};
void AddSC_boss_akilzon() void AddSC_boss_akilzon()
{ {
Script *newscript = NULL; new boss_akilzon();
new mob_akilzon_eagle();
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();
} }
@@ -73,6 +73,15 @@ enum PhaseHalazzi
PHASE_ENRAGE = 5 PHASE_ENRAGE = 5
}; };
class boss_halazzi : public CreatureScript
{
public:
boss_halazzi()
: CreatureScript("boss_halazzi")
{
}
struct boss_halazziAI : public ScriptedAI struct boss_halazziAI : public ScriptedAI
{ {
boss_halazziAI(Creature *c) : ScriptedAI(c) boss_halazziAI(Creature *c) : ScriptedAI(c)
@@ -326,11 +335,25 @@ struct boss_halazziAI : public ScriptedAI
} }
}; };
// Spirits Lynx AI CreatureAI* GetAI(Creature* creature) const
struct boss_spiritlynxAI : public ScriptedAI
{ {
boss_spiritlynxAI(Creature *c) : ScriptedAI(c) {} return new boss_halazziAI(creature);
}
};
// Spirits Lynx AI
class mob_halazzi_lynx : public CreatureScript
{
public:
mob_halazzi_lynx()
: CreatureScript("mob_halazzi_lynx")
{
}
struct mob_halazzi_lynxAI : public ScriptedAI
{
mob_halazzi_lynxAI(Creature *c) : ScriptedAI(c) {}
uint32 FrenzyTimer; uint32 FrenzyTimer;
uint32 shredder_timer; uint32 shredder_timer;
@@ -377,27 +400,15 @@ struct boss_spiritlynxAI : public ScriptedAI
}; };
CreatureAI* GetAI_boss_halazziAI(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_halazziAI (pCreature); return new mob_halazzi_lynxAI(creature);
}
CreatureAI* GetAI_boss_spiritlynxAI(Creature* pCreature)
{
return new boss_spiritlynxAI (pCreature);
} }
};
void AddSC_boss_halazzi() void AddSC_boss_halazzi()
{ {
Script *newscript; new boss_halazzi();
newscript = new Script; new mob_halazzi_lynx();
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();
} }
@@ -200,6 +200,15 @@ struct boss_hexlord_addAI : public ScriptedAI
} }
}; };
class boss_hexlord_malacrass : public CreatureScript
{
public:
boss_hexlord_malacrass()
: CreatureScript("boss_hexlord_malacrass")
{
}
struct boss_hex_lord_malacrassAI : public ScriptedAI struct boss_hex_lord_malacrassAI : public ScriptedAI
{ {
boss_hex_lord_malacrassAI(Creature *c) : ScriptedAI(c) boss_hex_lord_malacrassAI(Creature *c) : ScriptedAI(c)
@@ -458,9 +467,24 @@ struct boss_hex_lord_malacrassAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new boss_hexlord_malacrassAI(creature);
}
};
#define SPELL_BLOODLUST 43578 #define SPELL_BLOODLUST 43578
#define SPELL_CLEAVE 15496 #define SPELL_CLEAVE 15496
class boss_thurg : public CreatureScript
{
public:
boss_thurg()
: CreatureScript("boss_thurg")
{
}
struct boss_thurgAI : public boss_hexlord_addAI struct boss_thurgAI : public boss_hexlord_addAI
{ {
@@ -503,9 +527,24 @@ struct boss_thurgAI : public boss_hexlord_addAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new boss_thurgAI(creature);
}
};
#define SPELL_FLASH_HEAL 43575 #define SPELL_FLASH_HEAL 43575
#define SPELL_DISPEL_MAGIC 43577 #define SPELL_DISPEL_MAGIC 43577
class boss_alyson_antille : public CreatureScript
{
public:
boss_alyson_antille()
: CreatureScript("boss_alyson_antille")
{
}
struct boss_alyson_antilleAI : public boss_hexlord_addAI struct boss_alyson_antilleAI : public boss_hexlord_addAI
{ {
//Holy Priest //Holy Priest
@@ -588,6 +627,12 @@ struct boss_alyson_antilleAI : public boss_hexlord_addAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new boss_alyson_antilleAI(creature);
}
};
#define SPELL_FIREBOLT 43584 #define SPELL_FIREBOLT 43584
struct boss_gazakrothAI : public boss_hexlord_addAI struct boss_gazakrothAI : public boss_hexlord_addAI
@@ -635,6 +680,15 @@ struct boss_gazakrothAI : public boss_hexlord_addAI
#define SPELL_FLAME_BREATH 43582 #define SPELL_FLAME_BREATH 43582
#define SPELL_THUNDERCLAP 43583 #define SPELL_THUNDERCLAP 43583
class boss_lord_raadan : public CreatureScript
{
public:
boss_lord_raadan()
: CreatureScript("boss_lord_raadan")
{
}
struct boss_lord_raadanAI : public boss_hexlord_addAI struct boss_lord_raadanAI : public boss_hexlord_addAI
{ {
boss_lord_raadanAI(Creature *c) : boss_hexlord_addAI(c) {} boss_lord_raadanAI(Creature *c) : boss_hexlord_addAI(c) {}
@@ -671,8 +725,23 @@ struct boss_lord_raadanAI : public boss_hexlord_addAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new boss_lord_raadanAI(creature);
}
};
#define SPELL_PSYCHIC_WAIL 43590 #define SPELL_PSYCHIC_WAIL 43590
class boss_darkheart : public CreatureScript
{
public:
boss_darkheart()
: CreatureScript("boss_darkheart")
{
}
struct boss_darkheartAI : public boss_hexlord_addAI struct boss_darkheartAI : public boss_hexlord_addAI
{ {
boss_darkheartAI(Creature *c) : boss_hexlord_addAI(c) {} boss_darkheartAI(Creature *c) : boss_hexlord_addAI(c) {}
@@ -699,8 +768,23 @@ struct boss_darkheartAI : public boss_hexlord_addAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new boss_darkheartAI(creature);
}
};
#define SPELL_VENOM_SPIT 43579 #define SPELL_VENOM_SPIT 43579
class boss_slither : public CreatureScript
{
public:
boss_slither()
: CreatureScript("boss_slither")
{
}
struct boss_slitherAI : public boss_hexlord_addAI struct boss_slitherAI : public boss_hexlord_addAI
{ {
boss_slitherAI(Creature *c) : boss_hexlord_addAI(c) {} boss_slitherAI(Creature *c) : boss_hexlord_addAI(c) {}
@@ -744,8 +828,22 @@ struct boss_slitherAI : public boss_hexlord_addAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new boss_slitherAI(creature);
}
};
//Fenstalker //Fenstalker
#define SPELL_VOLATILE_INFECTION 43586 #define SPELL_VOLATILE_INFECTION 43586
class boss_fenstalker : public CreatureScript
{
public:
boss_fenstalker()
: CreatureScript("boss_fenstalker")
{
}
struct boss_fenstalkerAI : public boss_hexlord_addAI struct boss_fenstalkerAI : public boss_hexlord_addAI
{ {
@@ -775,10 +873,25 @@ struct boss_fenstalkerAI : public boss_hexlord_addAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new boss_fenstalkerAI(creature);
}
};
//Koragg //Koragg
#define SPELL_COLD_STARE 43593 #define SPELL_COLD_STARE 43593
#define SPELL_MIGHTY_BLOW 43592 #define SPELL_MIGHTY_BLOW 43592
class boss_koragg : public CreatureScript
{
public:
boss_koragg()
: CreatureScript("boss_koragg")
{
}
struct boss_koraggAI : public boss_hexlord_addAI struct boss_koraggAI : public boss_hexlord_addAI
{ {
boss_koraggAI(Creature *c) : boss_hexlord_addAI(c) {} boss_koraggAI(Creature *c) : boss_hexlord_addAI(c) {}
@@ -814,96 +927,22 @@ struct boss_koraggAI : public boss_hexlord_addAI
} }
}; };
CreatureAI* GetAI_boss_hex_lord_malacrass(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_hex_lord_malacrassAI (pCreature); return new boss_koraggAI(creature);
} }
};
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() void AddSC_boss_hex_lord_malacrass()
{ {
Script *newscript; new boss_hexlord_malacrass();
newscript = new Script; new boss_thurg();
newscript->Name = "boss_hexlord_malacrass"; new boss_gazakroth();
newscript->GetAI = &GetAI_boss_hex_lord_malacrass; new boss_lord_raadan();
newscript->RegisterSelf(); new boss_darkheart();
new boss_slither();
newscript = new Script; new boss_fenstalker();
newscript->Name = "boss_thurg"; new boss_koragg();
newscript->GetAI = &GetAI_boss_thurg; new boss_alyson_antille();
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();
} }
@@ -101,6 +101,14 @@ float hatcherway[2][5][3] =
{-34.29,1095.22,19} {-34.29,1095.22,19}
} }
}; };
class boss_janalai : public CreatureScript
{
public:
boss_janalai()
: CreatureScript("boss_janalai")
{
}
struct boss_janalaiAI : public ScriptedAI struct boss_janalaiAI : public ScriptedAI
{ {
@@ -431,9 +439,20 @@ struct boss_janalaiAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_boss_janalaiAI(Creature* pCreature)
CreatureAI* GetAI(Creature* creature) const
{
return new boss_janalaiAI(creature);
}
};
class mob_janalai_firebomb : public CreatureScript
{
public:
mob_janalai_firebomb()
: CreatureScript("mob_janalai_firebomb")
{ {
return new boss_janalaiAI(pCreature);
} }
struct mob_janalai_firebombAI : public ScriptedAI struct mob_janalai_firebombAI : public ScriptedAI
@@ -457,12 +476,22 @@ struct mob_janalai_firebombAI : public ScriptedAI
void UpdateAI(const uint32 /*diff*/) {} void UpdateAI(const uint32 /*diff*/) {}
}; };
CreatureAI* GetAI_mob_janalai_firebombAI(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{
return new mob_janalai_firebombAI(creature);
}
};
class mob_janalai_hatcher : public CreatureScript
{
public:
mob_janalai_hatcher()
: CreatureScript("mob_janalai_hatcher")
{ {
return new mob_janalai_firebombAI(pCreature);
} }
struct mob_amanishi_hatcherAI : public ScriptedAI struct mob_janalai_hatcherAI : public ScriptedAI
{ {
mob_amanishi_hatcherAI(Creature *c) : ScriptedAI(c) mob_amanishi_hatcherAI(Creature *c) : ScriptedAI(c)
{ {
@@ -580,14 +609,24 @@ struct mob_amanishi_hatcherAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_mob_amanishi_hatcherAI(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{
return new mob_janalai_hatcherAI(creature);
}
};
class mob_janalai_hatchling : public CreatureScript
{
public:
mob_janalai_hatchling()
: CreatureScript("mob_janalai_hatchling")
{ {
return new mob_amanishi_hatcherAI(pCreature);
} }
struct mob_hatchlingAI : public ScriptedAI struct mob_janalai_hatchlingAI : public ScriptedAI
{ {
mob_hatchlingAI(Creature *c) : ScriptedAI(c) mob_janalai_hatchlingAI(Creature *c) : ScriptedAI(c)
{ {
pInstance =c->GetInstanceData(); pInstance =c->GetInstanceData();
} }
@@ -629,10 +668,28 @@ struct mob_hatchlingAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_mob_hatchlingAI(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new mob_hatchlingAI(pCreature); return new mob_janalai_hatchlingAI(creature);
} }
};
class mob_janalai_egg : public CreatureScript
{
public:
mob_janalai_egg()
: CreatureScript("mob_janalai_egg")
{
}
CreatureAI* GetAI(Creature* creature) const
{
return new mob_janalai_eggAI(creature);
}
};
struct mob_eggAI : public ScriptedAI 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() void AddSC_boss_janalai()
{ {
Script *newscript; new boss_janalai();
newscript = new Script; new mob_janalai_firebomb();
newscript->Name = "boss_janalai"; new mob_janalai_hatcher();
newscript->GetAI = &GetAI_boss_janalaiAI; new mob_janalai_hatchling();
newscript->RegisterSelf(); new mob_janalai_egg();
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();
} }
@@ -90,6 +90,15 @@ float NalorakkWay[8][3] =
#define YELL_SHIFTEDTOBEAR "You call on da beast, you gonna get more dan you bargain for!" #define YELL_SHIFTEDTOBEAR "You call on da beast, you gonna get more dan you bargain for!"
#define SOUND_YELL_TOBEAR 12072 #define SOUND_YELL_TOBEAR 12072
class boss_nalorakk : public CreatureScript
{
public:
boss_nalorakk()
: CreatureScript("boss_nalorakk")
{
}
struct boss_nalorakkAI : public ScriptedAI struct boss_nalorakkAI : public ScriptedAI
{ {
boss_nalorakkAI(Creature *c) : ScriptedAI(c) boss_nalorakkAI(Creature *c) : ScriptedAI(c)
@@ -437,17 +446,15 @@ struct boss_nalorakkAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_boss_nalorakk(Creature* pCreature)
CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_nalorakkAI (pCreature); return new boss_nalorakkAI(creature);
} }
};
void AddSC_boss_nalorakk() void AddSC_boss_nalorakk()
{ {
Script *newscript; new boss_nalorakk();
newscript = new Script;
newscript->Name = "boss_nalorakk";
newscript->GetAI = &GetAI_boss_nalorakk;
newscript->RegisterSelf();
} }
@@ -140,6 +140,15 @@ static TransformStruct Transform[] =
{SOUND_TRANSFORM_TO_DRAGONHAWK, YELL_TRANSFORM_TO_DRAGONHAWK, SPELL_SHAPE_OF_THE_DRAGONHAWK, SPELL_SHAPE_OF_THE_LYNX} {SOUND_TRANSFORM_TO_DRAGONHAWK, YELL_TRANSFORM_TO_DRAGONHAWK, SPELL_SHAPE_OF_THE_DRAGONHAWK, SPELL_SHAPE_OF_THE_LYNX}
}; };
class boss_zuljin : public CreatureScript
{
public:
boss_zuljin()
: CreatureScript("boss_zuljin")
{
}
struct boss_zuljinAI : public ScriptedAI struct boss_zuljinAI : public ScriptedAI
{ {
boss_zuljinAI(Creature *c) : ScriptedAI(c), Summons(me) boss_zuljinAI(Creature *c) : ScriptedAI(c), Summons(me)
@@ -577,14 +586,25 @@ struct boss_zuljinAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_boss_zuljin(Creature* pCreature)
CreatureAI* GetAI(Creature* creature) const
{
return new boss_zuljinAI(creature);
}
};
class mob_zuljin_vortex : public CreatureScript
{
public:
mob_zuljin_vortex()
: CreatureScript("mob_zuljin_vortex")
{ {
return new boss_zuljinAI (pCreature);
} }
struct feather_vortexAI : public ScriptedAI struct mob_zuljin_vortexAI : public ScriptedAI
{ {
feather_vortexAI(Creature *c) : ScriptedAI(c) {} mob_zuljin_vortexAI(Creature *c) : ScriptedAI(c) {}
void Reset() {} void Reset() {}
@@ -604,22 +624,16 @@ struct feather_vortexAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_feather_vortexAI(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new feather_vortexAI (pCreature); return new mob_zuljin_vortexAI(creature);
} }
};
void AddSC_boss_zuljin() void AddSC_boss_zuljin()
{ {
Script *newscript; new boss_zuljin();
newscript = new Script; new mob_zuljin_vortex();
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();
} }
@@ -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 HarkorsSatchelGUID;
uint64 TanzarsTrunkGUID; uint64 TanzarsTrunkGUID;
@@ -306,17 +314,14 @@ struct instance_zulaman : public ScriptedInstance
} }
}; };
InstanceData* GetInstanceData_instance_zulaman(Map* pMap) InstanceData* GetInstanceData(InstanceMap* pMap) const
{ {
return new instance_zulaman(pMap); return new instance_zulaman_InstanceMapScript(pMap);
} }
};
void AddSC_instance_zulaman() void AddSC_instance_zulaman()
{ {
Script *newscript; new instance_zulaman();
newscript = new Script;
newscript->Name = "instance_zulaman";
newscript->GetInstanceData = &GetInstanceData_instance_zulaman;
newscript->RegisterSelf();
} }
@@ -38,6 +38,15 @@ EndContentData */
#define SPELL_PUSH_MOJO 43923 #define SPELL_PUSH_MOJO 43923
#define ENTRY_FOREST_FROG 24396 #define ENTRY_FOREST_FROG 24396
class npc_forest_frog : public CreatureScript
{
public:
npc_forest_frog()
: CreatureScript("npc_forest_frog")
{
}
struct npc_forest_frogAI : public ScriptedAI struct npc_forest_frogAI : public ScriptedAI
{ {
npc_forest_frogAI(Creature* c) : ScriptedAI(c) npc_forest_frogAI(Creature* c) : ScriptedAI(c)
@@ -92,10 +101,12 @@ struct npc_forest_frogAI : public ScriptedAI
} }
} }
}; };
CreatureAI* GetAI_npc_forest_frog(Creature* pCreature)
CreatureAI* GetAI(Creature* creature) const
{ {
return new npc_forest_frogAI (pCreature); return new npc_forest_frogAI(creature);
} }
};
/*###### /*######
## npc_zulaman_hostage ## npc_zulaman_hostage
@@ -106,6 +117,15 @@ CreatureAI* GetAI_npc_forest_frog(Creature* pCreature)
static uint32 HostageEntry[] = {23790, 23999, 24024, 24001}; static uint32 HostageEntry[] = {23790, 23999, 24024, 24001};
static uint32 ChestEntry[] = {186648, 187021, 186672, 186667}; static uint32 ChestEntry[] = {186648, 187021, 186672, 186667};
class npc_zulaman_hostage : public CreatureScript
{
public:
npc_zulaman_hostage()
: CreatureScript("npc_zulaman_hostage")
{
}
struct npc_zulaman_hostageAI : public ScriptedAI struct npc_zulaman_hostageAI : public ScriptedAI
{ {
npc_zulaman_hostageAI(Creature *c) : ScriptedAI(c) {IsLoot = false;} npc_zulaman_hostageAI(Creature *c) : ScriptedAI(c) {IsLoot = false;}
@@ -125,14 +145,19 @@ struct npc_zulaman_hostageAI : public ScriptedAI
} }
}; };
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->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()); pPlayer->SEND_GOSSIP_MENU(pPlayer->GetGossipTextId(pCreature), pCreature->GetGUID());
return true; 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) if (uiAction == GOSSIP_ACTION_INFO_DEF + 1)
pPlayer->CLOSE_GOSSIP_MENU(); pPlayer->CLOSE_GOSSIP_MENU();
@@ -157,38 +182,14 @@ bool GossipSelect_npc_zulaman_hostage(Player* pPlayer, Creature* pCreature, uint
break; 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; return true;
} }
};
CreatureAI* GetAI_npc_zulaman_hostage(Creature* pCreature)
{
return new npc_zulaman_hostageAI(pCreature);
}
void AddSC_zulaman() void AddSC_zulaman()
{ {
Script *newscript; new npc_forest_frog();
new npc_zulaman_hostage();
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();
} }
@@ -26,26 +26,15 @@ EndScriptData */
#include "ScriptPCH.h" #include "ScriptPCH.h"
#include "zulgurub.h" #include "zulgurub.h"
bool GOHello_go_gong_of_bethekk(Player* /*pPlayer*/, GameObject* pGo) enum eYells
{
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
{ {
SAY_AGGRO = -1309011, SAY_AGGRO = -1309011,
SAY_FEAST_PANTHER = -1309012, SAY_FEAST_PANTHER = -1309012,
SAY_DEATH = -1309013, SAY_DEATH = -1309013,
};
enum eSpells
{
SPELL_SHADOWWORDPAIN = 23952, SPELL_SHADOWWORDPAIN = 23952,
SPELL_GOUGE = 24698, SPELL_GOUGE = 24698,
SPELL_MARK = 24210, SPELL_MARK = 24210,
@@ -59,6 +48,15 @@ enum eEnums
NPC_ZULIAN_PROWLER = 15101 NPC_ZULIAN_PROWLER = 15101
}; };
class boss_arlokk : public CreatureScript
{
public:
boss_arlokk()
: CreatureScript("boss_arlokk")
{
}
struct boss_arlokkAI : public ScriptedAI struct boss_arlokkAI : public ScriptedAI
{ {
boss_arlokkAI(Creature* pCreature) : ScriptedAI(pCreature) boss_arlokkAI(Creature* pCreature) : ScriptedAI(pCreature)
@@ -258,23 +256,37 @@ struct boss_arlokkAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_boss_arlokk(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_arlokkAI (pCreature); return new boss_arlokkAI(creature);
} }
};
class go_gong_of_bethekk : public GameObjectScript
{
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() void AddSC_boss_arlokk()
{ {
Script *newscript; new boss_arlokk();
new go_gong_of_bethekk();
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();
} }
@@ -29,6 +29,15 @@ EndScriptData */
#define SPELL_MASSIVEGEYSER 22421 //Not working. Cause its a summon... #define SPELL_MASSIVEGEYSER 22421 //Not working. Cause its a summon...
#define SPELL_SLAM 24326 #define SPELL_SLAM 24326
class boss_gahzranka : public CreatureScript
{
public:
boss_gahzranka()
: CreatureScript("boss_gahzranka")
{
}
struct boss_gahzrankaAI : public ScriptedAI struct boss_gahzrankaAI : public ScriptedAI
{ {
boss_gahzrankaAI(Creature *c) : ScriptedAI(c) {} boss_gahzrankaAI(Creature *c) : ScriptedAI(c) {}
@@ -79,17 +88,15 @@ struct boss_gahzrankaAI : public ScriptedAI
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
CreatureAI* GetAI_boss_gahzranka(Creature* pCreature)
CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_gahzrankaAI (pCreature); return new boss_gahzrankaAI(creature);
} }
};
void AddSC_boss_gahzranka() void AddSC_boss_gahzranka()
{ {
Script *newscript; new boss_gahzranka();
newscript = new Script;
newscript->Name = "boss_gahzranka";
newscript->GetAI = &GetAI_boss_gahzranka;
newscript->RegisterSelf();
} }
@@ -29,6 +29,15 @@ EndScriptData */
#define SPELL_AVARTAR 24646 //The Enrage Spell #define SPELL_AVARTAR 24646 //The Enrage Spell
#define SPELL_GROUNDTREMOR 6524 #define SPELL_GROUNDTREMOR 6524
class boss_grilek : public CreatureScript
{
public:
boss_grilek()
: CreatureScript("boss_grilek")
{
}
struct boss_grilekAI : public ScriptedAI struct boss_grilekAI : public ScriptedAI
{ {
boss_grilekAI(Creature *c) : ScriptedAI(c) {} boss_grilekAI(Creature *c) : ScriptedAI(c) {}
@@ -79,17 +88,15 @@ struct boss_grilekAI : public ScriptedAI
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
CreatureAI* GetAI_boss_grilek(Creature* pCreature)
CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_grilekAI (pCreature); return new boss_grilekAI(creature);
} }
};
void AddSC_boss_grilek() void AddSC_boss_grilek()
{ {
Script *newscript; new boss_grilek();
newscript = new Script;
newscript->Name = "boss_grilek";
newscript->GetAI = &GetAI_boss_grilek;
newscript->RegisterSelf();
} }
@@ -44,6 +44,15 @@ EndScriptData */
#define SPELL_ASPECT_OF_THEKAL 24689 #define SPELL_ASPECT_OF_THEKAL 24689
#define SPELL_ASPECT_OF_ARLOKK 24690 #define SPELL_ASPECT_OF_ARLOKK 24690
class boss_hakkar : public CreatureScript
{
public:
boss_hakkar()
: CreatureScript("boss_hakkar")
{
}
struct boss_hakkarAI : public ScriptedAI struct boss_hakkarAI : public ScriptedAI
{ {
boss_hakkarAI(Creature *c) : ScriptedAI(c) boss_hakkarAI(Creature *c) : ScriptedAI(c)
@@ -236,17 +245,14 @@ struct boss_hakkarAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_boss_hakkar(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_hakkarAI (pCreature); return new boss_hakkarAI(creature);
} }
};
void AddSC_boss_hakkar() void AddSC_boss_hakkar()
{ {
Script *newscript; new boss_hakkar();
newscript = new Script;
newscript->Name = "boss_hakkar";
newscript->GetAI = &GetAI_boss_hakkar;
newscript->RegisterSelf();
} }
@@ -29,6 +29,15 @@ EndScriptData */
#define SPELL_MANABURN 26046 #define SPELL_MANABURN 26046
#define SPELL_SLEEP 24664 #define SPELL_SLEEP 24664
class boss_hazzarah : public CreatureScript
{
public:
boss_hazzarah()
: CreatureScript("boss_hazzarah")
{
}
struct boss_hazzarahAI : public ScriptedAI struct boss_hazzarahAI : public ScriptedAI
{ {
boss_hazzarahAI(Creature *c) : ScriptedAI(c) {} boss_hazzarahAI(Creature *c) : ScriptedAI(c) {}
@@ -90,17 +99,15 @@ struct boss_hazzarahAI : public ScriptedAI
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
CreatureAI* GetAI_boss_hazzarah(Creature* pCreature)
CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_hazzarahAI (pCreature); return new boss_hazzarahAI(creature);
} }
};
void AddSC_boss_hazzarah() void AddSC_boss_hazzarah()
{ {
Script *newscript; new boss_hazzarah();
newscript = new Script;
newscript->Name = "boss_hazzarah";
newscript->GetAI = &GetAI_boss_hazzarah;
newscript->RegisterSelf();
} }
@@ -43,6 +43,15 @@ EndScriptData */
#define SPELL_BOMB 40332 //Wrong ID but Magmadars bomb is not working... #define SPELL_BOMB 40332 //Wrong ID but Magmadars bomb is not working...
class boss_jeklik : public CreatureScript
{
public:
boss_jeklik()
: CreatureScript("boss_jeklik")
{
}
struct boss_jeklikAI : public ScriptedAI struct boss_jeklikAI : public ScriptedAI
{ {
boss_jeklikAI(Creature *c) : ScriptedAI(c) boss_jeklikAI(Creature *c) : ScriptedAI(c)
@@ -209,7 +218,22 @@ struct boss_jeklikAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new boss_jeklikAI(creature);
}
};
//Flying Bat //Flying Bat
class mob_batrider : public CreatureScript
{
public:
mob_batrider()
: CreatureScript("mob_batrider")
{
}
struct mob_batriderAI : public ScriptedAI struct mob_batriderAI : public ScriptedAI
{ {
mob_batriderAI(Creature *c) : ScriptedAI(c) mob_batriderAI(Creature *c) : ScriptedAI(c)
@@ -267,27 +291,15 @@ struct mob_batriderAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_boss_jeklik(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_jeklikAI (pCreature); return new mob_batriderAI(creature);
}
CreatureAI* GetAI_mob_batrider(Creature* pCreature)
{
return new mob_batriderAI (pCreature);
} }
};
void AddSC_boss_jeklik() void AddSC_boss_jeklik()
{ {
Script *newscript; new boss_jeklik();
newscript = new Script; new mob_batrider();
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();
} }
@@ -41,6 +41,15 @@ EndScriptData */
#define SPELL_SHADOWSHOCK 19460 #define SPELL_SHADOWSHOCK 19460
#define SPELL_INVISIBLE 24699 #define SPELL_INVISIBLE 24699
class boss_jindo : public CreatureScript
{
public:
boss_jindo()
: CreatureScript("boss_jindo")
{
}
struct boss_jindoAI : public ScriptedAI struct boss_jindoAI : public ScriptedAI
{ {
boss_jindoAI(Creature *c) : ScriptedAI(c) {} boss_jindoAI(Creature *c) : ScriptedAI(c) {}
@@ -160,7 +169,22 @@ struct boss_jindoAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new boss_jindoAI(creature);
}
};
//Healing Ward //Healing Ward
class mob_healing_ward : public CreatureScript
{
public:
mob_healing_ward()
: CreatureScript("mob_healing_ward")
{
}
struct mob_healing_wardAI : public ScriptedAI struct mob_healing_wardAI : public ScriptedAI
{ {
mob_healing_wardAI(Creature *c) : ScriptedAI(c) mob_healing_wardAI(Creature *c) : ScriptedAI(c)
@@ -199,7 +223,22 @@ struct mob_healing_wardAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new mob_healing_wardAI(creature);
}
};
//Shade of Jindo //Shade of Jindo
class mob_shade_of_jindo : public CreatureScript
{
public:
mob_shade_of_jindo()
: CreatureScript("mob_shade_of_jindo")
{
}
struct mob_shade_of_jindoAI : public ScriptedAI struct mob_shade_of_jindoAI : public ScriptedAI
{ {
mob_shade_of_jindoAI(Creature *c) : ScriptedAI(c) {} mob_shade_of_jindoAI(Creature *c) : ScriptedAI(c) {}
@@ -228,38 +267,16 @@ struct mob_shade_of_jindoAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_boss_jindo(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_jindoAI (pCreature); return new mob_shade_of_jindoAI(creature);
}
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() void AddSC_boss_jindo()
{ {
Script *newscript; new boss_jindo();
new mob_healing_ward();
newscript = new Script; new mob_shade_of_jindo();
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();
} }
@@ -44,6 +44,15 @@ EndScriptData */
//Ohgans Spells //Ohgans Spells
#define SPELL_SUNDERARMOR 24317 #define SPELL_SUNDERARMOR 24317
class boss_mandokir : public CreatureScript
{
public:
boss_mandokir()
: CreatureScript("boss_mandokir")
{
}
struct boss_mandokirAI : public ScriptedAI struct boss_mandokirAI : public ScriptedAI
{ {
boss_mandokirAI(Creature *c) : ScriptedAI(c) boss_mandokirAI(Creature *c) : ScriptedAI(c)
@@ -267,7 +276,22 @@ struct boss_mandokirAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new boss_mandokirAI(creature);
}
};
//Ohgan //Ohgan
class mob_ohgan : public CreatureScript
{
public:
mob_ohgan()
: CreatureScript("mob_ohgan")
{
}
struct mob_ohganAI : public ScriptedAI struct mob_ohganAI : public ScriptedAI
{ {
mob_ohganAI(Creature *c) : ScriptedAI(c) mob_ohganAI(Creature *c) : ScriptedAI(c)
@@ -308,28 +332,15 @@ struct mob_ohganAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_boss_mandokir(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_mandokirAI (pCreature); return new mob_ohganAI(creature);
}
CreatureAI* GetAI_mob_ohgan(Creature* pCreature)
{
return new mob_ohganAI (pCreature);
} }
};
void AddSC_boss_mandokir() void AddSC_boss_mandokir()
{ {
Script *newscript; new boss_mandokir();
new mob_ohgan();
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();
} }
@@ -40,6 +40,15 @@ EndScriptData */
//The Spider Spells //The Spider Spells
#define SPELL_LEVELUP 24312 //Not right Spell. #define SPELL_LEVELUP 24312 //Not right Spell.
class boss_marli : public CreatureScript
{
public:
boss_marli()
: CreatureScript("boss_marli")
{
}
struct boss_marliAI : public ScriptedAI struct boss_marliAI : public ScriptedAI
{ {
boss_marliAI(Creature *c) : ScriptedAI(c) boss_marliAI(Creature *c) : ScriptedAI(c)
@@ -203,7 +212,23 @@ struct boss_marliAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new example_creatureAI(creature);
}
};
//Spawn of Marli //Spawn of Marli
class mob_spawn_of_marli : public CreatureScript
{
public:
mob_spawn_of_marli()
: CreatureScript("mob_spawn_of_marli")
{
}
struct mob_spawn_of_marliAI : public ScriptedAI struct mob_spawn_of_marliAI : public ScriptedAI
{ {
mob_spawn_of_marliAI(Creature *c) : ScriptedAI(c) {} mob_spawn_of_marliAI(Creature *c) : ScriptedAI(c) {}
@@ -236,28 +261,15 @@ struct mob_spawn_of_marliAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_boss_marli(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_marliAI (pCreature); return new mob_spawn_of_marliAI(creature);
}
CreatureAI* GetAI_mob_spawn_of_marli(Creature* pCreature)
{
return new mob_spawn_of_marliAI (pCreature);
} }
};
void AddSC_boss_marli() void AddSC_boss_marli()
{ {
Script *newscript; new boss_marli();
new mob_spawn_of_marli();
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();
} }
@@ -31,6 +31,15 @@ EndScriptData */
#define EQUIP_ID_MAIN_HAND 0 //was item display id 31818, but this id does not exist #define EQUIP_ID_MAIN_HAND 0 //was item display id 31818, but this id does not exist
class boss_renataki : public CreatureScript
{
public:
boss_renataki()
: CreatureScript("boss_renataki")
{
}
struct boss_renatakiAI : public ScriptedAI struct boss_renatakiAI : public ScriptedAI
{ {
boss_renatakiAI(Creature *c) : ScriptedAI(c) {} boss_renatakiAI(Creature *c) : ScriptedAI(c) {}
@@ -138,17 +147,15 @@ struct boss_renatakiAI : public ScriptedAI
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
CreatureAI* GetAI_boss_renataki(Creature* pCreature)
CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_renatakiAI (pCreature); return new boss_renatakiAI(creature);
} }
};
void AddSC_boss_renataki() void AddSC_boss_renataki()
{ {
Script *newscript; new boss_renataki();
newscript = new Script;
newscript->Name = "boss_renataki";
newscript->GetAI = &GetAI_boss_renataki;
newscript->RegisterSelf();
} }
@@ -29,28 +29,40 @@ EndScriptData */
#define SAY_AGGRO -1309009 #define SAY_AGGRO -1309009
#define SAY_DEATH -1309010 #define SAY_DEATH -1309010
#define SPELL_MORTALCLEAVE 22859 enum eSpells
#define SPELL_SILENCE 23207 {
#define SPELL_FRENZY 23342 SPELL_MORTALCLEAVE = 22859,
#define SPELL_FORCEPUNCH 24189 SPELL_SILENCE = 23207,
#define SPELL_CHARGE 24408 SPELL_FRENZY = 23342,
#define SPELL_ENRAGE 23537 SPELL_FORCEPUNCH = 24189,
#define SPELL_SUMMONTIGERS 24183 SPELL_CHARGE = 24408,
#define SPELL_TIGER_FORM 24169 SPELL_ENRAGE = 23537,
#define SPELL_RESURRECT 24173 //We will not use this spell. SPELL_SUMMONTIGERS = 24183,
SPELL_TIGER_FORM = 24169,
SPELL_RESURRECT = 24173, //We will not use this spell.
//Zealot Lor'Khan Spells //Zealot Lor'Khan Spells
#define SPELL_SHIELD 25020 SPELL_SHIELD = 25020,
#define SPELL_BLOODLUST 24185 SPELL_BLOODLUST = 24185,
#define SPELL_GREATERHEAL 24208 SPELL_GREATERHEAL = 24208,
#define SPELL_DISARM 22691 SPELL_DISARM = 22691,
//Zealot Lor'Khan Spells //Zealot Lor'Khan Spells
#define SPELL_SWEEPINGSTRIKES 18765 SPELL_SWEEPINGSTRIKES = 18765,
#define SPELL_SINISTERSTRIKE 15667 SPELL_SINISTERSTRIKE = 15667,
#define SPELL_GOUGE 24698 SPELL_GOUGE = 24698,
#define SPELL_KICK 15614 SPELL_KICK = 15614,
#define SPELL_BLIND 21060 SPELL_BLIND = 21060,
};
class boss_thekal : public CreatureScript
{
public:
boss_thekal()
: CreatureScript("boss_thekal")
{
}
struct boss_thekalAI : public ScriptedAI struct boss_thekalAI : public ScriptedAI
{ {
@@ -244,7 +256,22 @@ struct boss_thekalAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new boss_thekalAI(creature);
}
};
//Zealot Lor'Khan //Zealot Lor'Khan
class mob_zealot_lorkhan : public CreatureScript
{
public:
mob_zealot_lorkhan()
: CreatureScript("mob_zealot_lorkhan")
{
}
struct mob_zealot_lorkhanAI : public ScriptedAI struct mob_zealot_lorkhanAI : public ScriptedAI
{ {
mob_zealot_lorkhanAI(Creature *c) : ScriptedAI(c) mob_zealot_lorkhanAI(Creature *c) : ScriptedAI(c)
@@ -386,7 +413,22 @@ struct mob_zealot_lorkhanAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI(Creature* creature) const
{
return new mob_zealot_lorkhanAI(creature);
}
};
//Zealot Zath //Zealot Zath
class mob_zealot_zath : public CreatureScript
{
public:
mob_zealot_zath()
: CreatureScript("mob_zealot_zath")
{
}
struct mob_zealot_zathAI : public ScriptedAI struct mob_zealot_zathAI : public ScriptedAI
{ {
mob_zealot_zathAI(Creature *c) : ScriptedAI(c) mob_zealot_zathAI(Creature *c) : ScriptedAI(c)
@@ -521,38 +563,16 @@ struct mob_zealot_zathAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_boss_thekal(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_thekalAI (pCreature); return new mob_zealot_zathAI(creature);
}
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() void AddSC_boss_thekal()
{ {
Script *newscript; new boss_thekal();
new mob_zealot_lorkhan();
newscript = new Script; new mob_zealot_zath();
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();
} }
@@ -39,6 +39,15 @@ EndScriptData */
#define SPELL_BERSERK 23537 #define SPELL_BERSERK 23537
#define SPELL_DISPELL 23859 #define SPELL_DISPELL 23859
class boss_venoxis : public CreatureScript
{
public:
boss_venoxis()
: CreatureScript("boss_venoxis")
{
}
struct boss_venoxisAI : public ScriptedAI struct boss_venoxisAI : public ScriptedAI
{ {
boss_venoxisAI(Creature *c) : ScriptedAI(c) boss_venoxisAI(Creature *c) : ScriptedAI(c)
@@ -185,17 +194,14 @@ struct boss_venoxisAI : public ScriptedAI
} }
}; };
CreatureAI* GetAI_boss_venoxis(Creature* pCreature) CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_venoxisAI (pCreature); return new boss_venoxisAI(creature);
} }
};
void AddSC_boss_venoxis() void AddSC_boss_venoxis()
{ {
Script *newscript; new boss_venoxis();
newscript = new Script;
newscript->Name = "boss_venoxis";
newscript->GetAI = &GetAI_boss_venoxis;
newscript->RegisterSelf();
} }
@@ -29,6 +29,15 @@ EndScriptData */
#define SPELL_LIGHTNINGCLOUD 25033 #define SPELL_LIGHTNINGCLOUD 25033
#define SPELL_LIGHTNINGWAVE 24819 #define SPELL_LIGHTNINGWAVE 24819
class boss_wushoolay : public CreatureScript
{
public:
boss_wushoolay()
: CreatureScript("boss_wushoolay")
{
}
struct boss_wushoolayAI : public ScriptedAI struct boss_wushoolayAI : public ScriptedAI
{ {
boss_wushoolayAI(Creature *c) : ScriptedAI(c) {} boss_wushoolayAI(Creature *c) : ScriptedAI(c) {}
@@ -71,17 +80,15 @@ struct boss_wushoolayAI : public ScriptedAI
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();
} }
}; };
CreatureAI* GetAI_boss_wushoolay(Creature* pCreature)
CreatureAI* GetAI(Creature* creature) const
{ {
return new boss_wushoolayAI (pCreature); return new boss_wushoolayAI(creature);
} }
};
void AddSC_boss_wushoolay() void AddSC_boss_wushoolay()
{ {
Script *newscript; new boss_wushoolay();
newscript = new Script;
newscript->Name = "boss_wushoolay";
newscript->GetAI = &GetAI_boss_wushoolay;
newscript->RegisterSelf();
} }
@@ -26,7 +26,15 @@ EndScriptData */
#include "ScriptPCH.h" #include "ScriptPCH.h"
#include "zulgurub.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();}; instance_zulgurub(Map* pMap) : ScriptedInstance(pMap) {Initialize();};
@@ -145,17 +153,13 @@ struct instance_zulgurub : public ScriptedInstance
} }
}; };
InstanceData* GetInstanceData_instance_zulgurub(Map* pMap) InstanceData* OnGetInstanceData(InstanceMap* pMap)
{ {
return new instance_zulgurub(pMap); return new instance_zulgurub_InstanceMapScript(pMap);
} }
};
void AddSC_instance_zulgurub() void AddSC_instance_zulgurub()
{ {
Script *newscript; new instance_zulgurub();
newscript = new Script;
newscript->Name = "instance_zulgurub";
newscript->GetInstanceData = &GetInstanceData_instance_zulgurub;
newscript->RegisterSelf();
} }