Public feed
#726866
/* Copyright (C) 2006,2007 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>* This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*//****************************** * Another Script still * * under development! * ******************************/#include "../../../sc_defines.h"#include "../../../creature/simple_ai.h"//NPCs#define FOOTMAN_AGGRO_1 "Let these monsters taste cold steel!"#define FOOTMAN_AGGRO_2 "Back, hold them back!"#define FOOTMAN_AGGRO_3 "Back to the void with you!"#define FOOTMAN_KILL_1 "One less demon to contend with!"#define FOOTMAN_DEATH_1 "I... can't..."#define FOOTMAN_DEATH_2 "Agghh!"#define KNIGHT_AGGRO_1 "For Lordaeron! For victory!"#define KNIGHT_AGGRO_2 "Rout these demons!"#define KNIGHT_AGGRO_3 "For the Light!"#define KNIGHT_KILL_1 "Justice is served!"#define KNIGHT_DEATH_1 "Light receive me!"#define KNIGHT_DEATH_2 "Good will... prevail."#define RIFLEMAN_AGGRO_1 "I'm itchin' to shoot somethin'!"#define RIFLEMAN_AGGRO_2 "Blow 'em away!"//#define RIFLEMAN_KILL_1 "Take that, ya" unfinished#define RIFLEMAN_DEATH_1 "Carry on the fight!"#define SORCERESS_KILL_1 "Next!"#define SORCERESS_DEATH_1 "Ras...?"#define PRIEST_KILL_1 "Vengeance is ours!"//Monsters#define NECRO_DEATH_1 "You will... ultimately fail."#define NECRO_DEATH_2 "My life... to the master."#define NECRO_DEATH_3 "A pleasure... to serve the master."CreatureAI* GetAI_mob_hyjal(Creature *_Creature){ SimpleAI* ai = new SimpleAI (_Creature); uint32 CreatureID = _Creature->GetEntry(); switch (CreatureID) { //Abomination case 17898: ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = 29865; //Poison Aura - too weak! ai->Spell[0].Cooldown = 15000; ai->Spell[0].First_Cast = 15000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_TARGET; break; //Ghoul case 17895: ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = 20578; //Cannibalize ai->Spell[0].Cooldown = 30000; ai->Spell[0].First_Cast = -15; ai->Spell[0].Cast_Target_Type = CAST_SELF; break; //Shadowy Necromancer case 17899: ai->Death_Text[0] = NECRO_DEATH_1; ai->Death_Say[0] = true; ai->Death_Text[1] = NECRO_DEATH_2; ai->Death_Say[1] = true; ai->Death_Text[2] = NECRO_DEATH_3; ai->Death_Say[2] = true; ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = 31626; //Unholy Frenzy ai->Spell[0].Cooldown = 10000; ai->Spell[0].First_Cast = 10000; ai->Spell[0].Cast_Target_Type = CAST_SELF; //Should be CAST_FRIENDLY_RANDOM, but that's NYI ai->Spell[1].Enabled = true; ai->Spell[1].Spell_Id = 29487; //Shadow Bolt ai->Spell[1].Cooldown = 3000; ai->Spell[1].First_Cast = 3000; ai->Spell[1].Cast_Target_Type = CAST_HOSTILE_TARGET; ai->Spell[2].Enabled = true; ai->Spell[2].Spell_Id = 11443; //Cripple ai->Spell[2].Cooldown = 10000; ai->Spell[2].First_Cast = 10000; ai->Spell[2].Cast_Target_Type = CAST_HOSTILE_RANDOM; ai->Spell[3].Enabled = false; ai->Spell[3].Spell_Id = 31624; //Raise Dead - Skeleton Invader ai->Spell[3].Cooldown = 10000; //Bugged ai->Spell[3].First_Cast = 10000; ai->Spell[3].Cast_Target_Type = CAST_KILLEDUNIT_VICTIM; ai->Spell[4].Enabled = false; ai->Spell[4].Spell_Id = 31625; //Raise Dead - Skeleton Mage ai->Spell[4].Cooldown = 10000; //Bugged ai->Spell[4].First_Cast = 10000; ai->Spell[4].Cast_Target_Type = CAST_KILLEDUNIT_VICTIM; break; //Crypt Fiend case 17897: ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = 745; //Web ai->Spell[0].Cooldown = 10000; ai->Spell[0].First_Cast = 10000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_RANDOM; break; //Alliance Footman case 17919: ai->Aggro_Text[0] = FOOTMAN_AGGRO_1; ai->Aggro_Say[0] = true; ai->Aggro_Text[1] = FOOTMAN_AGGRO_2; ai->Aggro_Say[1] = true; ai->Aggro_Text[2] = FOOTMAN_AGGRO_3; ai->Aggro_Say[2] = true; ai->Kill_Text[0] = FOOTMAN_KILL_1; ai->Kill_Say[0] = true; ai->Death_Text[0] = FOOTMAN_DEATH_1; ai->Death_Say[0] = true; ai->Death_Text[1] = FOOTMAN_DEATH_2; ai->Death_Say[1] = true; ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = 31731; //Shield Wall ai->Spell[0].Cooldown = 30000; ai->Spell[0].First_Cast = 10000; ai->Spell[0].Cast_Target_Type = CAST_SELF; break; //Alliance Knight case 17920: ai->Aggro_Text[0] = KNIGHT_AGGRO_1; ai->Aggro_Say[0] = true; ai->Aggro_Text[1] = KNIGHT_AGGRO_2; ai->Aggro_Say[1] = true; ai->Aggro_Text[2] = KNIGHT_AGGRO_3; ai->Aggro_Say[2] = true; ai->Kill_Text[0] = KNIGHT_KILL_1; ai->Kill_Say[0] = true; ai->Death_Text[0] = KNIGHT_DEATH_1; ai->Death_Say[0] = true; ai->Death_Text[1] = KNIGHT_DEATH_2; ai->Death_Say[1] = true; ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = 31732; //Rallying Cry ai->Spell[0].Cooldown = 45000; ai->Spell[0].First_Cast = 30000; ai->Spell[0].Cast_Target_Type = CAST_SELF; break; //Alliance Rifleman case 17921: ai->Aggro_Text[0] = RIFLEMAN_AGGRO_1; ai->Aggro_Say[0] = true; ai->Aggro_Text[1] = RIFLEMAN_AGGRO_2; ai->Aggro_Say[1] = true; ai->Death_Text[0] = RIFLEMAN_DEATH_1; ai->Death_Say[0] = true; ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = 32103; //Shoot ai->Spell[0].Cooldown = 1000; ai->Spell[0].First_Cast = 1000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_TARGET; ai->Spell[1].Enabled = true; ai->Spell[1].Spell_Id = 33792; //Exploding Shot ai->Spell[1].Cooldown = 10000; ai->Spell[1].First_Cast = 1000; ai->Spell[1].Cast_Target_Type = CAST_HOSTILE_TARGET; break; //Alliance Sorceress case 17922: ai->Kill_Text[0] = SORCERESS_KILL_1; ai->Kill_Say[0] = true; ai->Death_Text[0] = SORCERESS_DEATH_1; ai->Death_Say[0] = true; break; //Alliance Priest case 17928: ai->Kill_Text[0] = PRIEST_KILL_1; ai->Kill_Say[0] = true; ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = 31740; //Holy Smite ai->Spell[0].Cooldown = 10000; ai->Spell[0].First_Cast = 5000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_TARGET; ai->Spell[1].Enabled = true; ai->Spell[1].Spell_Id = 31739; //Heal ai->Spell[1].Cooldown = 15000; ai->Spell[1].First_Cast = 20000; ai->Spell[1].Cast_Target_Type = CAST_SELF; //Should be CAST_FRIENDLY_RANDOM, but that's NYI break; } ai->EnterEvadeMode(); return ai;}void AddSC_mob_hyjal(){ Script *newscript; newscript = new Script; newscript->Name="mob_hyjal"; newscript->GetAI = GetAI_mob_hyjal; m_scripts[nrscripts++] = newscript;}