PDA

View Full Version : L70 etc



StickyIcky
25-07-08, 01:43 AM
This script scripts the band L70 etc.

It will spawn/despawn, etc (Once you first spawn them of course)

Automatically plays the music, move around, etc.


//////////////////////////////////////////////////////
/* Original written by Scarface //
* //
* This script can be easily edited to be //
* used for your server. Throughout the script //
* are comments on what each thing does so that //
* you can edit this. You can create custom //
* teleporting locations and menus. //
* //
* Originally written for use with Moon++ //
*/ //
// //
//////////////////////////////////////////////////////
// REDONE BY ROFLWAFFLES (zerohero)

#include "StdAfx.h"
#include "Setup.h"


// --- L70etc band members ---
#define SAMURO 23625
#define BERGRISST 23619
#define MAIKYL 23624
#define SIGNICIOUS 23626
#define THUNDERSKINS 23623
//#define TARGETGROUND 48000
//#define TARGETAIR 48001
#define UNDEAD 48002
#define UNDEAD2 48003
#define UNDEAD3 48004
#define TRIGGER 48005

/*
* EMOTE_ONESHOT_CUSTOMSPELL01 = 402,
* EMOTE_ONESHOT_CUSTOMSPELL02 = 403,
* EMOTE_ONESHOT_CUSTOMSPELL03 = 404,
* EMOTE_ONESHOT_CUSTOMSPELL04 = 405,
* EMOTE_ONESHOT_CUSTOMSPELL05 = 406,
* EMOTE_ONESHOT_CUSTOMSPELL06 = 407,
*/


// Spells
#define SPELLFLARE 42505
#define SPELLFIRE 42501
#define SPOTLIGHT 39312
#define SPELLEARTH 42499
#define SPELLLLIGHTNING 42510
#define SPELLLLIGHTNING2 42507
#define SPELLSTORM 42500
#define CONSECRATION 26573
//Consecration
#define SINGERSLIGHT 42510

class SamAI : public CreatureAIScript{
public:
ADD_CREATURE_FACTORY_FUNCTION(SamAI);
SamAI(Creature* pCreature) : CreatureAIScript(pCreature)
{
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget){ RegisterAIUpdateEvent(1000); }
void OnCombatStop(Unit *mTarget)
{
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit * mKiller){ RemoveAIUpdateEvent(); }
void OnSpawn(){_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true);}
void OnDespawn(){ RemoveAIUpdateEvent(); }
void AIUpdate()
{
switch (timer)
{
case 1: _unit->PlaySoundToSet(11803); break;
case 2: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); break;
case 19: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL05); break;
case 30: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 65: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 70: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 84: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL06); break;
case 112: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SINGERSLIGHT), true); break;
case 123: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 137: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL06); break;
case 142: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 180: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 229: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL02); break;
case 239: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL06); break;
case 259: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL06); break;
case 279: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); break;
case 280: _unit->Despawn(1000,300000); break;
}
timer++;
}
protected:
uint32 timer;
};

class BerAI : public CreatureAIScript{
public:
ADD_CREATURE_FACTORY_FUNCTION(BerAI);
BerAI(Creature* pCreature) : CreatureAIScript(pCreature)
{
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget){ RegisterAIUpdateEvent(1000); }
void OnCombatStop(Unit *mTarget){
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit * mKiller){ RemoveAIUpdateEvent(); }
void OnSpawn(){ _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); }
void OnDespawn(){ RemoveAIUpdateEvent(); }
void AIUpdate(){
switch (timer){
case 0: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); break;
case 10: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 30: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 34: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 38: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 104: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 123: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 140: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPOTLIGHT), true); break;
case 145: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 168: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 229: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL02); break;
case 230: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL06); break;
case 279: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); break;
case 280: _unit->Despawn(1000,300050); break;
}
timer++;
}
protected:
uint32 timer;
};

class SigAI : public CreatureAIScript{
public:
ADD_CREATURE_FACTORY_FUNCTION(SigAI);
SigAI(Creature* pCreature) : CreatureAIScript(pCreature){
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget){ RegisterAIUpdateEvent(1000); }
void OnCombatStop(Unit *mTarget){
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit * mKiller){ RemoveAIUpdateEvent(); }
void OnSpawn(){ _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); }
void OnDespawn(){ RemoveAIUpdateEvent(); }
void AIUpdate(){
switch (timer){
case 0: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); break;
case 10: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 30: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 34: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 38: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 70: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 85: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 123: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 140: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 165: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPOTLIGHT), true); break;
case 166: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL02); break;
case 168: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 180: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 193: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 229: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL06); break;
case 259: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 279: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); break;
case 280: _unit->Despawn(1000,300050); break;
}
timer++;
}
protected:
uint32 timer;
};

class MaiAI : public CreatureAIScript{
public:
ADD_CREATURE_FACTORY_FUNCTION(MaiAI);
MaiAI(Creature* pCreature) : CreatureAIScript(pCreature){
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget){ RegisterAIUpdateEvent(1000); }
void OnCombatStop(Unit *mTarget){
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit * mKiller){ RemoveAIUpdateEvent(); }
void OnSpawn(){ _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); }
void OnDespawn(){ RemoveAIUpdateEvent(); }
void AIUpdate(){
switch (timer){
case 0: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); break;
case 10: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 30: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 45: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 70: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 85: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 95: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 102: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 115: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01); break;
case 123: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL02); break;
case 165: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPOTLIGHT), true); break;
case 192: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 203: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 229: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 279: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); break;
case 280: _unit->Despawn(1000,300050); break;
}
timer++;
}
protected:
uint32 timer;
};


class ThuAI : public CreatureAIScript{
public:
ADD_CREATURE_FACTORY_FUNCTION(ThuAI);
ThuAI(Creature* pCreature) : CreatureAIScript(pCreature){
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget){ RegisterAIUpdateEvent(1000); }
void OnCombatStop(Unit *mTarget){
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit * mKiller){ RemoveAIUpdateEvent(); }
void OnSpawn(){ _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); }
void OnDespawn(){
RemoveAIUpdateEvent();
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true);
}
void AIUpdate(){
switch (timer){
case 2: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); break;
case 3: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 14: _unit->SendChatMessage(CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, "ARE YOU READY TO ROCK?!?!");
case 17: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 42: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 55: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL03); break;
case 62: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 63: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 64: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 75: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 76: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 77: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 88: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 99: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 110: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 137: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL02); break;
case 140: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 142: _unit->SendChatMessage(CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, "WERE GUNNA ROCK YOU CRAAAAAAZY!!!");
case 313: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 194: _unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL04); break;
case 200:{
_unit->Emote(EMOTE_ONESHOT_CUSTOMSPELL01);
_unit->SetUInt32Value(UNIT_NPC_EMOTESTATE, 401);
break;
}
case 279: _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); break;
case 281: _unit->Despawn(1000,301000); break;
}
timer++;
}
protected:
uint32 timer;
};



class UndeadAI : public CreatureAIScript{
public:
ADD_CREATURE_FACTORY_FUNCTION(UndeadAI);
UndeadAI(Creature* pCreature) : CreatureAIScript(pCreature){
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget){ RegisterAIUpdateEvent(1000); }
void OnCombatStop(Unit *mTarget){
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit * mKiller){ RemoveAIUpdateEvent(); }
void OnSpawn(){ _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); }
void OnDespawn(){
RemoveAIUpdateEvent();
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true);
}
void AIUpdate(){
switch (timer){
case 2: _unit->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_DANCE); break;
case 280: _unit->Emote(EMOTE_ONESHOT_APPLAUD); break;
case 281: _unit->Despawn(1000,301000); break;
}
timer++;
}
protected:
uint32 timer;
};


class Undead2AI : public CreatureAIScript{
public:
ADD_CREATURE_FACTORY_FUNCTION(Undead2AI);
Undead2AI(Creature* pCreature) : CreatureAIScript(pCreature){
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget){ RegisterAIUpdateEvent(1000); }
void OnCombatStop(Unit *mTarget){
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit * mKiller){ RemoveAIUpdateEvent(); }
void OnSpawn(){ _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); }
void OnDespawn(){
_unit->SendChatMessage(CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, "That was great! Any *****es wanna come back stage and give daddy a little sugar?");
RemoveAIUpdateEvent();
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true);
}
void AIUpdate(){
switch (timer){
case 2: _unit->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_DANCE); break;
case 280: _unit->Emote(EMOTE_ONESHOT_CHEER); break;
case 281: _unit->Despawn(1000,301000); break;
}
timer++;
}
protected:
uint32 timer;
};


class Undead3AI : public CreatureAIScript{
public:
ADD_CREATURE_FACTORY_FUNCTION(Undead3AI);
Undead3AI(Creature* pCreature) : CreatureAIScript(pCreature){
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget){ RegisterAIUpdateEvent(1000); }
void OnCombatStop(Unit *mTarget){
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit * mKiller){ RemoveAIUpdateEvent(); }
void OnSpawn(){ _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); }
void OnDespawn(){
_unit->SendChatMessage(CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, "That was great! Lets go light up that joint!");
RemoveAIUpdateEvent();
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true);
}
void AIUpdate(){
switch (timer){
case 2: _unit->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_DANCE); break;
case 279: _unit->Emote(EMOTE_ONESHOT_CHEER); break;
case 280: _unit->Despawn(1000,301000); break;
}
timer++;
}
protected:
uint32 timer;
};


class TriggerAI : public CreatureAIScript{
public:
ADD_CREATURE_FACTORY_FUNCTION(TriggerAI);
TriggerAI(Creature* pCreature) : CreatureAIScript(pCreature){
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget){ RegisterAIUpdateEvent(1000); }
void OnCombatStop(Unit *mTarget){
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit * mKiller){ RemoveAIUpdateEvent(); }
void OnSpawn(){ _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); }
void OnDespawn(){
_unit->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "That was great!");

RemoveAIUpdateEvent();
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true);
}
void AIUpdate(){
switch (timer){
case 1: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 8: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 15: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 21: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 28: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 35: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 41: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 48: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 55: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 62: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 69: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 76: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 81: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 89: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 96: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 101: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 108: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 115: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 121: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 128: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 135: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 141: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 148: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 155: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 162: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 169: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 176: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 181: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 189: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 196: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 201: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 208: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 215: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 221: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 228: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 235: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 241: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 248: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 255: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 262: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 269: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 276: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 281: _unit->Despawn(1000,301000); break;
}
timer++;
}
protected:
uint32 timer;
};

class Trigger2AI : public CreatureAIScript{
public:
ADD_CREATURE_FACTORY_FUNCTION(Trigger2AI);
Trigger2AI(Creature* pCreature) : CreatureAIScript(pCreature){
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget){ RegisterAIUpdateEvent(1000); }
void OnCombatStop(Unit *mTarget){
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit * mKiller){ RemoveAIUpdateEvent(); }
void OnSpawn(){ _unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true); }
void OnDespawn()
{
_unit->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "That was great!");
RemoveAIUpdateEvent();
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true);
}
void AIUpdate()
{
switch (timer)
{
case 3: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 10: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 18: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 24: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 22: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 38: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 44: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 52: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 58: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 68: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 69: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 76: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 85: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 90: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 96: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 107: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 109: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 125: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 127: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 129: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 132: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 144: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 149: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 159: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 166: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 169: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 176: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 183: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 186: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 194: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 204: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 209: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 218: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 223: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 228: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 235: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 241: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 248: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 252: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 263: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 266: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 274: _unit->CastSpell(_unit, dbcSpell.LookupEntry(CONSECRATION), true); break;
case 281: _unit->Despawn(1000,301000); break;
}
timer++;
}
protected:
uint32 timer;
};

/*class Effectsground : public CreatureAIScript(
public:
ADD_CREATURE_FACTORY_FUNCTION(Effectsground);
Effectsground(Creature* pCreature) : CreatureAIScript(pCreature)
{
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget)
{
RegisterAIUpdateEvent(1000);
}
void OnCombatStop(Unit* mTarget)
{
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit* mKiller)
{
RemoveAIUpdateEvent();
}
void OnSpawn()
{
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
timer = 0;
}
void OnDespawn()
{
RemoveAIUpdateEvent();
}
void AIUpdate()
{
switch (timer)
{
case 2:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLLLIGHTNING), true);
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLLLIGHTNING2), true);
}break;
case 6:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLEARTH), true);
}break;
case 8:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFIRE), true);
}break;
case 72:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLLLIGHTNING), true);
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLLLIGHTNING2), true);
}break;
case 76:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLEARTH), true);
}break;
case 78:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFIRE), true);
}break;
case 125:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLLLIGHTNING), true);
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLLLIGHTNING2), true);
}break;
case 128:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLEARTH), true);
}break;
case 132:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFIRE), true);
}break;
case 232:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLLLIGHTNING), true);
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLLLIGHTNING2), true);
}break;
case 236:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLEARTH), true);
}break;
case 238:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFIRE), true);
}break;
case 245:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLLLIGHTNING), true);
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLLLIGHTNING2), true);
}break;
case 249:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLEARTH), true);
}break;
case 251:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFIRE), true);
}break;
case 279:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLFLARE), true);
}break;
case 280:
{
_unit->Despawn(1000,300000);
}break;
timer++;
}
protected:
uint32 timer;
};

class Effectsair : public CreatureAIScript(
public:
ADD_CREATURE_FACTORY_FUNCTION(Effectsair);
Effectsair(Creature* pCreature) : CreatureAIScript(pCreature)
{
_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
_unit->GetAIInterface()->m_canMove = false;
_unit->GetAIInterface()->disable_melee = true;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
timer = 0;
RegisterAIUpdateEvent(1000);
}
void OnCombatStart(Unit* mTarget){ RegisterAIUpdateEvent(1000); }
void OnCombatStop(Unit *mTarget)
{
_unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
_unit->GetAIInterface()->SetAIState(STATE_IDLE);
RemoveAIUpdateEvent();
}
void OnDied(Unit * mKiller){ RemoveAIUpdateEvent(); }
void OnSpawn()
{
timer = 0;
_unit->SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
void OnDespawn()
{
RemoveAIUpdateEvent();
}
void AIUpdate()
{
switch(timer)
{
case 1:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLSTORM), true);
}break;
case 70:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLSTORM), true);
}break;
case 123:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLSTORM), true);
}break;
case 230:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLSTORM), true);
}break;
case 243:
{
_unit->CastSpell(_unit, dbcSpell.LookupEntry(SPELLSTORM), true);
}break;
case 280:
{
_unit->Despawn(1000,300000);
}break;
}
timer++;
}
protected:
uint32 timer;
};*/

void SetupL70etc(ScriptMgr * mgr)
{
mgr->register_creature_script(SAMURO, &SamAI::Create);
mgr->register_creature_script(BERGRISST, &BerAI::Create);
mgr->register_creature_script(MAIKYL, &MaiAI::Create);
mgr->register_creature_script(SIGNICIOUS, &SigAI::Create);
mgr->register_creature_script(THUNDERSKINS, &ThuAI::Create);
mgr->register_creature_script(UNDEAD, &UndeadAI::Create);
mgr->register_creature_script(UNDEAD2, &Undead2AI::Create);
mgr->register_creature_script(UNDEAD3, &Undead3AI::Create);
mgr->register_creature_script(TRIGGER, &TriggerAI::Create);
//mgr->register_creature_script(TARGETGROUND, &Effectsground::Create);
//mgr->register_creature_script(TARGETAIR, &Effectsair::Create);
}