Public feed #726873

Hyjal - waves mobs by Palmik

public cpp v1 · immutable
Raw Edit
·published 2007-10-05 15:43 UTC
rendered paste body
/**|||||||||||||||||||||||||*||                     ||*||  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;}