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,6 +59,15 @@ EndScriptData */
#define SE_LOC_Y_MAX 1435
#define SE_LOC_Y_MIN 1370
class boss_akilzon : public CreatureScript
{
public:
boss_akilzon()
: CreatureScript("boss_akilzon")
{
}
struct boss_akilzonAI : public ScriptedAI
{
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;
bool arrived;
@@ -441,29 +465,15 @@ struct mob_soaring_eagleAI : public ScriptedAI
}
};
//Soaring Eagle
CreatureAI* GetAI_mob_soaring_eagle(Creature* pCreature)
CreatureAI* GetAI(Creature* creature) const
{
return new mob_soaring_eagleAI(pCreature);
}
CreatureAI* GetAI_boss_akilzon(Creature* pCreature)
{
return new boss_akilzonAI(pCreature);
return new mob_akilzon_eagleAI(creature);
}
};
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,6 +73,15 @@ enum PhaseHalazzi
PHASE_ENRAGE = 5
};
class boss_halazzi : public CreatureScript
{
public:
boss_halazzi()
: CreatureScript("boss_halazzi")
{
}
struct boss_halazziAI : public ScriptedAI
{
boss_halazziAI(Creature *c) : ScriptedAI(c)
@@ -326,11 +335,25 @@ struct boss_halazziAI : public ScriptedAI
}
};
// Spirits Lynx AI
struct boss_spiritlynxAI : public ScriptedAI
CreatureAI* GetAI(Creature* creature) const
{
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 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);
}
CreatureAI* GetAI_boss_spiritlynxAI(Creature* pCreature)
{
return new boss_spiritlynxAI (pCreature);
return new mob_halazzi_lynxAI(creature);
}
};
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,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
{
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_CLEAVE 15496
class boss_thurg : public CreatureScript
{
public:
boss_thurg()
: CreatureScript("boss_thurg")
{
}
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_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
{
//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
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_THUNDERCLAP 43583
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) {}
@@ -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
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) {}
@@ -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
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) {}
@@ -744,8 +828,22 @@ struct boss_slitherAI : public boss_hexlord_addAI
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_slitherAI(creature);
}
};
//Fenstalker
#define SPELL_VOLATILE_INFECTION 43586
class boss_fenstalker : public CreatureScript
{
public:
boss_fenstalker()
: CreatureScript("boss_fenstalker")
{
}
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
#define SPELL_COLD_STARE 43593
#define SPELL_MIGHTY_BLOW 43592
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) {}
@@ -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()
{
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,6 +101,14 @@ float hatcherway[2][5][3] =
{-34.29,1095.22,19}
}
};
class boss_janalai : public CreatureScript
{
public:
boss_janalai()
: CreatureScript("boss_janalai")
{
}
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
@@ -457,12 +476,22 @@ struct mob_janalai_firebombAI : public ScriptedAI
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)
{
@@ -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();
}
@@ -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
{
@@ -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,6 +90,15 @@ 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
class boss_nalorakk : public CreatureScript
{
public:
boss_nalorakk()
: CreatureScript("boss_nalorakk")
{
}
struct boss_nalorakkAI : public ScriptedAI
{
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()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_nalorakk";
newscript->GetAI = &GetAI_boss_nalorakk;
newscript->RegisterSelf();
new boss_nalorakk();
}
@@ -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}
};
class boss_zuljin : public CreatureScript
{
public:
boss_zuljin()
: CreatureScript("boss_zuljin")
{
}
struct boss_zuljinAI : public ScriptedAI
{
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() {}
@@ -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()
{
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;
@@ -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()
{
Script *newscript;
newscript = new Script;
newscript->Name = "instance_zulaman";
newscript->GetInstanceData = &GetInstanceData_instance_zulaman;
newscript->RegisterSelf();
new instance_zulaman();
}
@@ -38,6 +38,15 @@ EndContentData */
#define SPELL_PUSH_MOJO 43923
#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
{
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
@@ -106,6 +117,15 @@ CreatureAI* GetAI_npc_forest_frog(Creature* pCreature)
static uint32 HostageEntry[] = {23790, 23999, 24024, 24001};
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
{
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->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,6 +48,15 @@ enum eEnums
NPC_ZULIAN_PROWLER = 15101
};
class boss_arlokk : public CreatureScript
{
public:
boss_arlokk()
: CreatureScript("boss_arlokk")
{
}
struct boss_arlokkAI : public ScriptedAI
{
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()
{
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,6 +29,15 @@ EndScriptData */
#define SPELL_MASSIVEGEYSER 22421 //Not working. Cause its a summon...
#define SPELL_SLAM 24326
class boss_gahzranka : public CreatureScript
{
public:
boss_gahzranka()
: CreatureScript("boss_gahzranka")
{
}
struct boss_gahzrankaAI : public ScriptedAI
{
boss_gahzrankaAI(Creature *c) : ScriptedAI(c) {}
@@ -79,17 +88,15 @@ struct boss_gahzrankaAI : public ScriptedAI
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()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_gahzranka";
newscript->GetAI = &GetAI_boss_gahzranka;
newscript->RegisterSelf();
new boss_gahzranka();
}
@@ -29,6 +29,15 @@ EndScriptData */
#define SPELL_AVARTAR 24646 //The Enrage Spell
#define SPELL_GROUNDTREMOR 6524
class boss_grilek : public CreatureScript
{
public:
boss_grilek()
: CreatureScript("boss_grilek")
{
}
struct boss_grilekAI : public ScriptedAI
{
boss_grilekAI(Creature *c) : ScriptedAI(c) {}
@@ -79,17 +88,15 @@ struct boss_grilekAI : public ScriptedAI
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()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_grilek";
newscript->GetAI = &GetAI_boss_grilek;
newscript->RegisterSelf();
new boss_grilek();
}
@@ -44,6 +44,15 @@ EndScriptData */
#define SPELL_ASPECT_OF_THEKAL 24689
#define SPELL_ASPECT_OF_ARLOKK 24690
class boss_hakkar : public CreatureScript
{
public:
boss_hakkar()
: CreatureScript("boss_hakkar")
{
}
struct boss_hakkarAI : public ScriptedAI
{
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()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_hakkar";
newscript->GetAI = &GetAI_boss_hakkar;
newscript->RegisterSelf();
new boss_hakkar();
}
@@ -29,6 +29,15 @@ EndScriptData */
#define SPELL_MANABURN 26046
#define SPELL_SLEEP 24664
class boss_hazzarah : public CreatureScript
{
public:
boss_hazzarah()
: CreatureScript("boss_hazzarah")
{
}
struct boss_hazzarahAI : public ScriptedAI
{
boss_hazzarahAI(Creature *c) : ScriptedAI(c) {}
@@ -90,17 +99,15 @@ struct boss_hazzarahAI : public ScriptedAI
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()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_hazzarah";
newscript->GetAI = &GetAI_boss_hazzarah;
newscript->RegisterSelf();
new boss_hazzarah();
}
@@ -43,6 +43,15 @@ EndScriptData */
#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
{
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
class mob_batrider : public CreatureScript
{
public:
mob_batrider()
: CreatureScript("mob_batrider")
{
}
struct mob_batriderAI : public ScriptedAI
{
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);
}
CreatureAI* GetAI_mob_batrider(Creature* pCreature)
{
return new mob_batriderAI (pCreature);
return new mob_batriderAI(creature);
}
};
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,6 +41,15 @@ EndScriptData */
#define SPELL_SHADOWSHOCK 19460
#define SPELL_INVISIBLE 24699
class boss_jindo : public CreatureScript
{
public:
boss_jindo()
: CreatureScript("boss_jindo")
{
}
struct boss_jindoAI : public ScriptedAI
{
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
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)
@@ -199,7 +223,22 @@ struct mob_healing_wardAI : public ScriptedAI
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_healing_wardAI(creature);
}
};
//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
{
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);
}
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);
return new mob_shade_of_jindoAI(creature);
}
};
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,6 +44,15 @@ EndScriptData */
//Ohgans Spells
#define SPELL_SUNDERARMOR 24317
class boss_mandokir : public CreatureScript
{
public:
boss_mandokir()
: CreatureScript("boss_mandokir")
{
}
struct boss_mandokirAI : public ScriptedAI
{
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
class mob_ohgan : public CreatureScript
{
public:
mob_ohgan()
: CreatureScript("mob_ohgan")
{
}
struct mob_ohganAI : public ScriptedAI
{
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);
}
CreatureAI* GetAI_mob_ohgan(Creature* pCreature)
{
return new mob_ohganAI (pCreature);
return new mob_ohganAI(creature);
}
};
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,6 +40,15 @@ EndScriptData */
//The Spider Spells
#define SPELL_LEVELUP 24312 //Not right Spell.
class boss_marli : public CreatureScript
{
public:
boss_marli()
: CreatureScript("boss_marli")
{
}
struct boss_marliAI : public ScriptedAI
{
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
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) {}
@@ -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);
}
CreatureAI* GetAI_mob_spawn_of_marli(Creature* pCreature)
{
return new mob_spawn_of_marliAI (pCreature);
return new mob_spawn_of_marliAI(creature);
}
};
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,6 +31,15 @@ EndScriptData */
#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
{
boss_renatakiAI(Creature *c) : ScriptedAI(c) {}
@@ -138,17 +147,15 @@ struct boss_renatakiAI : public ScriptedAI
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()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_renataki";
newscript->GetAI = &GetAI_boss_renataki;
newscript->RegisterSelf();
new boss_renataki();
}
@@ -29,28 +29,40 @@ 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.
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
#define SPELL_SHIELD 25020
#define SPELL_BLOODLUST 24185
#define SPELL_GREATERHEAL 24208
#define SPELL_DISARM 22691
SPELL_SHIELD = 25020,
SPELL_BLOODLUST = 24185,
SPELL_GREATERHEAL = 24208,
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
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
{
@@ -244,7 +256,22 @@ struct boss_thekalAI : public ScriptedAI
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new boss_thekalAI(creature);
}
};
//Zealot Lor'Khan
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)
@@ -386,7 +413,22 @@ struct mob_zealot_lorkhanAI : public ScriptedAI
}
};
CreatureAI* GetAI(Creature* creature) const
{
return new mob_zealot_lorkhanAI(creature);
}
};
//Zealot Zath
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)
@@ -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);
}
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);
return new mob_zealot_zathAI(creature);
}
};
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,6 +39,15 @@ EndScriptData */
#define SPELL_BERSERK 23537
#define SPELL_DISPELL 23859
class boss_venoxis : public CreatureScript
{
public:
boss_venoxis()
: CreatureScript("boss_venoxis")
{
}
struct boss_venoxisAI : public ScriptedAI
{
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()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_venoxis";
newscript->GetAI = &GetAI_boss_venoxis;
newscript->RegisterSelf();
new boss_venoxis();
}
@@ -29,6 +29,15 @@ EndScriptData */
#define SPELL_LIGHTNINGCLOUD 25033
#define SPELL_LIGHTNINGWAVE 24819
class boss_wushoolay : public CreatureScript
{
public:
boss_wushoolay()
: CreatureScript("boss_wushoolay")
{
}
struct boss_wushoolayAI : public ScriptedAI
{
boss_wushoolayAI(Creature *c) : ScriptedAI(c) {}
@@ -71,17 +80,15 @@ struct boss_wushoolayAI : public ScriptedAI
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()
{
Script *newscript;
newscript = new Script;
newscript->Name = "boss_wushoolay";
newscript->GetAI = &GetAI_boss_wushoolay;
newscript->RegisterSelf();
new boss_wushoolay();
}
@@ -26,7 +26,15 @@ 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();};
@@ -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()
{
Script *newscript;
newscript = new Script;
newscript->Name = "instance_zulgurub";
newscript->GetInstanceData = &GetInstanceData_instance_zulgurub;
newscript->RegisterSelf();
new instance_zulgurub();
}