Public feed
#726873
/**|||||||||||||||||||||||||*|| ||*|| UNDER DEVELOPMENT ||*||---------------------||*|| HYJAL TRASH ||*|| ||*|||||||||||||||||||||||||*//** TODO:* Correct all timers.*/#include "../sc_defines.h"#include "../creature/simple_ai.h"//Banshee's Spells#define SPELL_CURSE 31651 #define SPELL_WAIL 38183 //2475 to 3025 dmg is ok, but the id is too high, so it might not be the right spell id.#define SPELL_SHELL 31662//Shadowy Nercomancer's Spells#define SPELL_FRENZY 31626 #define SPELL_BOLT 33335 //Or 29487 and 21317 do the same.#define SPELL_CRIPPLE 33787//Gargoyle's Spells#define SPELL_GSTRIKE 31664//Frost Wyrm's Spells#define SPELL_BREATH 31688//Fel Stalker's Spells#define SPELL_MANA_BURN 31729//Giant Infernal's Spells#define SPELL_BUFFET 31724#define SPELL_IMM_AURA 36051//Cript Fiend's Spells#define SPELL_WEB 28991CreatureAI* GetAI_npcs_hyjal_trash(Creature *_Creature){ SimpleAI* ai = new SimpleAI (_Creature); uint32 mobguid = _Creature->GetEntry(); switch (mymobid) { /* *========================================== * BANSHEE *========================================== */ case 17905: //Banshee Curse ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = SPELL_CURSE; ai->Spell[0].Cooldown = 12000; ai->Spell[0].First_Cast = 5000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_RANDOM; //Banshee Wail ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = SPELL_WAIL; ai->Spell[0].Cooldown = 10000; ai->Spell[0].First_Cast = 5000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_TARGET; //Anti - Magic Shell ai->Spell[1].Enabled = true; ai->Spell[1].Spell_Id = SPELL_SHELL; ai->Spell[1].Cooldown = 15000; ai->Spell[1].First_Cast = 7000; ai->Spell[1].Cast_Target_Type = CAST_SELF; break; /* *========================================== * SHADOWY NECROMANCER *========================================== */ case 17899: //Unholy Frenzy ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = SPELL_FRENZY; ai->Spell[0].Cooldown = 12000; ai->Spell[0].First_Cast = 5000; ai->Spell[0].Cast_Target_Type = CAST_FRIENDLY_RANDOM; //Shadow Bolt ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = SPELL_BOLT; ai->Spell[0].Cooldown = 10000; ai->Spell[0].First_Cast = 5000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_TARGET; //Cripple ai->Spell[1].Enabled = true; ai->Spell[1].Spell_Id = SPELL_CRIPPLE; ai->Spell[1].Cooldown = 15000; ai->Spell[1].First_Cast = 7000; ai->Spell[1].Cast_Target_Type = CAST_SELF; break; /* *========================================== * GARGOYLE *========================================== */ case 17906: //Gargoyle Strike ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = SPELL_GSTRIKE; ai->Spell[0].Cooldown = 5000; ai->Spell[0].First_Cast = 5000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_TARGET; break; /* *========================================== * FROST WYRM *========================================== */ case 17907: ai->m_creature->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); ai->m_creature->SetHover(true); //Frost Breath ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = SPELL_BREATH; ai->Spell[0].Cooldown = 12000; ai->Spell[0].First_Cast = 10000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_TARGET; break; /* *========================================== * FEL STALKER *========================================== */ case 17916: //Mana Burn ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = SPELL_MANA_BURN; ai->Spell[0].Cooldown = 8000; ai->Spell[0].First_Cast = 5000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_TARGET; break; /* *========================================== * GIANT INFERNAL *========================================== */ case 17908: //Immolation Aura ai->Aggro_Spell[0].Enabled = true; ai->Aggro_Spell[0].Spell_Id = SPELL_IMM_AURA; ai->Aggro_Spell[0].Cast_Target_Type = CAST_SELF; //Flame Buffet ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = SPELL_BUFFET; ai->Spell[0].Cooldown = 2000; ai->Spell[0].First_Cast = 2000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_TARGET; break; /* *========================================== * CRYPT FIEND *========================================== */ case 17897: //Web ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = SPELL_WEB; ai->Spell[0].Cooldown = 10000; ai->Spell[0].First_Cast = 2000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_TARGET; break; } return ai;void AddSC_mount_hyjal(){ Script *newscript; newscript = new Script; newscript->Name="npcs_hyjal_trash"; newscript->GetAI = GetAI_npcs_hyjal_trash; m_scripts[nrscripts++] = newscript;}