/* *||||||||||||||||||||||||| *|| || *|| 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 28991 CreatureAI* 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; }