Implement generic script loaders to greatly reduce code duplication

This commit is contained in:
hondacrx
2017-07-20 19:43:24 -04:00
parent 19220d29d9
commit 2db988576a
89 changed files with 28255 additions and 36473 deletions
+22 -4
View File
@@ -1585,17 +1585,16 @@ namespace Game
foreach (var script in spellScriptsStorage.ToList())
{
SpellInfo spellEntry = Global.SpellMgr.GetSpellInfo(script.Key);
Dictionary<SpellScriptLoader, uint> SpellScriptLoaders = Global.ScriptMgr.CreateSpellScriptLoaders(script.Key);
Dictionary<SpellScriptLoader, uint> SpellScriptLoaders = Global.ScriptMgr.CreateSpellScriptLoaders(script.Key);
foreach (var pair in SpellScriptLoaders)
{
SpellScript spellScript = pair.Key.GetSpellScript();
AuraScript auraScript = pair.Key.GetAuraScript();
bool valid = true;
if (spellScript == null && auraScript == null)
if (spellScript == null)
{
Log.outError(LogFilter.Scripts, "Functions GetSpellScript() and GetAuraScript() of script `{0}` do not return objects - script skipped", GetScriptName(pair.Value));
Log.outError(LogFilter.Scripts, "Functions GetSpellScript() of script `{0}` do not return object - script skipped", GetScriptName(pair.Value));
valid = false;
}
@@ -1607,6 +1606,22 @@ namespace Game
valid = false;
}
if (!valid)
spellScriptsStorage.Remove(pair.Value);
}
Dictionary<AuraScriptLoader, uint> AuraScriptLoaders = Global.ScriptMgr.CreateAuraScriptLoaders(script.Key);
foreach (var pair in AuraScriptLoaders)
{
AuraScript auraScript = pair.Key.GetAuraScript();
bool valid = true;
if (auraScript == null)
{
Log.outError(LogFilter.Scripts, "Functions GetAuraScript() of script `{0}` do not return object - script skipped", GetScriptName(pair.Value));
valid = false;
}
if (auraScript != null)
{
auraScript._Init(pair.Key.GetName(), spellEntry.Id);
@@ -1639,6 +1654,9 @@ namespace Game
if (string.IsNullOrEmpty(name))
return 0;
if (!scriptNamesStorage.Contains(name))
return 0;
return (uint)scriptNamesStorage.IndexOf(name);
}
public uint GetAreaTriggerScriptId(uint triggerid)
+57 -4
View File
@@ -49,11 +49,12 @@ namespace Game.Scripting
{
InstanceMap instance = obj.GetMap().ToInstanceMap();
if (instance != null && instance.GetInstanceScript() != null)
if (instance.GetScriptId() == Global.ObjectMgr.GetScriptId(scriptName))
if (instance.GetScriptName() == scriptName)
return (T)Activator.CreateInstance(typeof(T), new object[] { obj });
return null;
}
public static T GetInstanceAI<T>(WorldObject obj) where T : class
{
InstanceMap instance = obj.GetMap().ToInstanceMap();
@@ -66,23 +67,57 @@ namespace Game.Scripting
string _name;
}
class GenericSpellScriptLoader<S> : SpellScriptLoader where S : SpellScript
{
public GenericSpellScriptLoader(string name, object[] args) : base(name)
{
_args = args;
}
public override SpellScript GetSpellScript() { return (S)Activator.CreateInstance(typeof(S), _args); }
object[] _args;
}
class GenericAuraScriptLoader<A> : AuraScriptLoader where A : AuraScript
{
public GenericAuraScriptLoader(string name, object[] args) : base(name)
{
_args = args;
}
public override AuraScript GetAuraScript() { return (A)Activator.CreateInstance(typeof(A), _args); }
object[] _args;
}
public class SpellScriptLoader : ScriptObject
{
public SpellScriptLoader(string name) : base(name)
{
Global.ScriptMgr.AddScript(this);
Global.ScriptMgr.AddScript<SpellScriptLoader>(this);
}
public override bool IsDatabaseBound() { return true; }
// Should return a fully valid SpellScript.
public virtual SpellScript GetSpellScript() { return null; }
}
public class AuraScriptLoader : ScriptObject
{
public AuraScriptLoader(string name) : base(name)
{
Global.ScriptMgr.AddScript<AuraScriptLoader>(this);
}
public override bool IsDatabaseBound() { return true; }
// Should return a fully valid AuraScript.
public virtual AuraScript GetAuraScript() { return null; }
}
class WorldScript : ScriptObject
public class WorldScript : ScriptObject
{
protected WorldScript(string name) : base(name)
{
@@ -258,11 +293,29 @@ namespace Game.Scripting
public virtual void ModifySpellDamageTaken(Unit target, Unit attacker, ref int damage) { }
}
public class GenericCreatureScript<AI> : CreatureScript where AI : CreatureAI
{
public GenericCreatureScript(string name, object[] args) : base(name)
{
_args = args;
}
public override CreatureAI GetAI(Creature me)
{
if (me.GetInstanceScript() != null)
return GetInstanceAI<AI>(me);
else
return (AI)Activator.CreateInstance(typeof(AI), me, _args);
}
object[] _args;
}
public class CreatureScript : UnitScript
{
public CreatureScript(string name) : base(name, false)
{
Global.ScriptMgr.AddScript(this);
Global.ScriptMgr.AddScript<CreatureScript>(this);
}
public override bool IsDatabaseBound() { return true; }
+81 -7
View File
@@ -54,7 +54,7 @@ namespace Game.Scripting
Log.outInfo(LogFilter.ServerLoading, "Loading C# scripts");
FillSpellSummary();
//FillSpellSummary();
if (LoadScripts())
Log.outInfo(LogFilter.ServerLoading, "Loaded {0} C# scripts in {1} ms", GetScriptCount(), Time.GetMSTimeDiffToNow(oldMSTime));
@@ -103,12 +103,62 @@ namespace Game.Scripting
foreach (var attribute in attributes)
{
if (!constructors.Any(p => p.GetParameters().Length == attribute.Args.Length))
var genericType = type;
string name = type.Name;
switch (type.BaseType.Name)
{
Log.outError(LogFilter.Scripts, "Type: {0} has ScriptAttribute that does not match paramter count: {1} Can't load script.", type.Name, attribute.Args.Length);
case "SpellScript":
genericType = typeof(GenericSpellScriptLoader<>).MakeGenericType(type);
name = name.Replace("_SpellScript", "");
break;
case "AuraScript":
genericType = typeof(GenericAuraScriptLoader<>).MakeGenericType(type);
name = name.Replace("_AuraScript", "");
break;
case "SpellScriptLoader":
case "AuraScriptLoader":
case "WorldScript":
case "FormulaScript":
case "WorldMapScript":
case "InstanceMapScript":
case "BattlegroundMapScript":
case "ItemScript":
case "UnitScript":
case "CreatureScript":
case "GameObjectScript":
case "AreaTriggerScript":
case "OutdoorPvPScript":
case "WeatherScript":
case "AuctionHouseScript":
case "ConditionScript":
case "VehicleScript":
case "DynamicObjectScript":
case "TransportScript":
case "AchievementCriteriaScript":
case "PlayerScript":
case "GuildScript":
case "GroupScript":
case "AreaTriggerEntityScript":
case "SceneScript":
if (!attribute.Name.IsEmpty())
name = attribute.Name;
if (attribute.Args.Empty())
Activator.CreateInstance(genericType);
else
Activator.CreateInstance(genericType, new object[] { name }.Combine(attribute.Args));
continue;
default:
genericType = typeof(GenericCreatureScript<>).MakeGenericType(type);
break;
}
Activator.CreateInstance(type, attribute.Args);
if (!attribute.Name.IsEmpty())
name = attribute.Name;
Activator.CreateInstance(genericType, name, attribute.Args);
}
}
}
@@ -389,7 +439,7 @@ namespace Game.Scripting
var scriptList = new List<AuraScript>();
var bounds = Global.ObjectMgr.GetSpellScriptsBounds(spellId);
var reg = GetScriptRegistry<SpellScriptLoader>();
var reg = GetScriptRegistry<AuraScriptLoader>();
if (reg == null)
return scriptList;
@@ -432,6 +482,26 @@ namespace Game.Scripting
return scriptDic;
}
public Dictionary<AuraScriptLoader, uint> CreateAuraScriptLoaders(uint spellId)
{
var scriptDic = new Dictionary<AuraScriptLoader, uint>();
var bounds = Global.ObjectMgr.GetSpellScriptsBounds(spellId);
var reg = GetScriptRegistry<AuraScriptLoader>();
if (reg == null)
return scriptDic;
foreach (var id in bounds)
{
var tmpscript = reg.GetScriptById(id);
if (tmpscript == null)
continue;
scriptDic.Add(tmpscript, id);
}
return scriptDic;
}
//WorldScript
public void OnOpenStateChange(bool open)
@@ -1299,7 +1369,7 @@ namespace Game.Scripting
return m_mPointMoveMap.LookupByKey(creatureEntry);
}
ScriptRegistry<T> GetScriptRegistry<T>() where T : ScriptObject
public ScriptRegistry<T> GetScriptRegistry<T>() where T : ScriptObject
{
if (ScriptStorage.ContainsKey(typeof(T)))
return (ScriptRegistry<T>)ScriptStorage[typeof(T)];
@@ -1415,11 +1485,15 @@ namespace Game.Scripting
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public class ScriptAttribute : Attribute
{
public ScriptAttribute(params object[] args)
//public ScriptAttribute() { }
public ScriptAttribute(string name="", params object[] args)
{
Name = name;
Args = args;
}
public string Name { get; private set; }
public object[] Args { get; private set; }
}
}
+4 -25
View File
@@ -25,13 +25,9 @@ using Game.Scripting;
namespace Scripts.EasternKingdoms
{
[Script]
class npc_apprentice_mirveda : CreatureScript
class npc_apprentice_mirveda : ScriptedAI
{
public npc_apprentice_mirveda() : base("npc_apprentice_mirveda") { }
class npc_apprentice_mirvedaAI : ScriptedAI
{
public npc_apprentice_mirvedaAI(Creature creature)
public npc_apprentice_mirveda(Creature creature)
: base(creature)
{
Summons = new SummonList(me);
@@ -146,7 +142,6 @@ namespace Scripts.EasternKingdoms
uint KillCount;
ObjectGuid PlayerGUID;
SummonList Summons;
}
const uint EventTalk = 1; // Quest 8487
const uint EventAddQuestGiverFlag = 2; // Quest 8487
@@ -171,22 +166,12 @@ namespace Scripts.EasternKingdoms
// Quest
const uint QUEST_CORRUPTED_SOIL = 8487;
const uint QUEST_UNEXPECTED_RESULT = 8488;
public override CreatureAI GetAI(Creature creature)
{
return new npc_apprentice_mirvedaAI(creature);
}
}
[Script]
class npc_infused_crystal : CreatureScript
class npc_infused_crystal : ScriptedAI
{
public npc_infused_crystal() : base("npc_infused_crystal") { }
class npc_infused_crystalAI : ScriptedAI
{
public npc_infused_crystalAI(Creature creature)
: base(creature)
public npc_infused_crystal(Creature creature) : base(creature)
{
SetCombatMovement(false);
}
@@ -265,12 +250,6 @@ namespace Scripts.EasternKingdoms
bool Completed;
bool Progress;
ObjectGuid PlayerGUID;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_infused_crystalAI(creature);
}
// Quest
const uint QuestPoweringOurDefenses = 8490;
@@ -53,13 +53,9 @@ namespace Scripts.EasternKingdoms.Karazhan.Midnight
}
[Script]
class boss_attumen : CreatureScript
public class boss_attumen : ScriptedAI
{
public boss_attumen() : base("boss_attumen") { }
public class boss_attumenAI : ScriptedAI
{
public boss_attumenAI(Creature creature) : base(creature)
public boss_attumen(Creature creature) : base(creature)
{
CleaveTimer = RandomHelper.URand(10000, 15000);
CurseTimer = 30000;
@@ -172,7 +168,7 @@ namespace Scripts.EasternKingdoms.Karazhan.Midnight
Creature pMidnight = ObjectAccessor.GetCreature(me, Midnight);
if (pMidnight && pMidnight.IsTypeId(TypeId.Unit))
{
((boss_midnight.boss_midnightAI)pMidnight.GetAI()).Mount(me);
((boss_midnight)pMidnight.GetAI()).Mount(me);
me.SetHealth(pMidnight.GetHealth());
DoResetThreat();
}
@@ -196,20 +192,10 @@ namespace Scripts.EasternKingdoms.Karazhan.Midnight
uint ResetTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return new boss_attumenAI(creature);
}
}
[Script]
class boss_midnight : CreatureScript
public class boss_midnight : ScriptedAI
{
public boss_midnight() : base("boss_midnight") { }
public class boss_midnightAI : ScriptedAI
{
public boss_midnightAI(Creature creature) : base(creature) { }
public boss_midnight(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -309,17 +295,11 @@ namespace Scripts.EasternKingdoms.Karazhan.Midnight
void SetMidnight(Creature pAttumen, ObjectGuid value)
{
((boss_attumen.boss_attumenAI)pAttumen.GetAI()).Midnight = value;
((boss_attumen)pAttumen.GetAI()).Midnight = value;
}
ObjectGuid Attumen;
byte Phase;
uint mountTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return new boss_midnightAI(creature);
}
}
}
+2 -12
View File
@@ -46,13 +46,9 @@ namespace Scripts.EasternKingdoms.Karazhan.Curator
}
[Script]
class boss_curator : CreatureScript
class boss_curator : ScriptedAI
{
public boss_curator() : base("boss_curator") { }
class boss_curatorAI : ScriptedAI
{
public boss_curatorAI(Creature creature) : base(creature)
public boss_curator(Creature creature) : base(creature)
{
Initialize();
}
@@ -159,10 +155,4 @@ namespace Scripts.EasternKingdoms.Karazhan.Curator
bool Enraged;
}
public override CreatureAI GetAI(Creature creature)
{
return new boss_curatorAI(creature);
}
}
}
@@ -20,6 +20,7 @@ using Framework.IO;
using Game.Entities;
using Game.Maps;
using Game.Scripting;
using Game.AI;
namespace Scripts.EasternKingdoms.Karazhan
{
@@ -458,5 +459,10 @@ namespace Scripts.EasternKingdoms.Karazhan
{
return new instance_karazhan_InstanceMapScript(map);
}
public static T GetKarazhanAI<T>(Creature creature) where T : CreatureAI
{
return GetInstanceAI<T>(creature, "instance_karazhan");
}
}
}
+57 -103
View File
@@ -92,18 +92,9 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
}
[Script]
class boss_moroes : CreatureScript
public class boss_moroes : ScriptedAI
{
public boss_moroes() : base("boss_moroes") { }
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_moroesAI>(creature);
}
public class boss_moroesAI : ScriptedAI
{
public boss_moroesAI(Creature creature) : base(creature)
public boss_moroes(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
}
@@ -263,7 +254,8 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
}
}
CheckAdds_Timer = 5000;
} else CheckAdds_Timer -= diff;
}
else CheckAdds_Timer -= diff;
if (!Enrage)
{
@@ -274,13 +266,15 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
InVanish = true;
Vanish_Timer = 30000;
Wait_Timer = 5000;
} else Vanish_Timer -= diff;
}
else Vanish_Timer -= diff;
if (Gouge_Timer <= diff)
{
DoCastVictim(SpellIds.Gouge);
Gouge_Timer = 40000;
} else Gouge_Timer -= diff;
}
else Gouge_Timer -= diff;
if (Blind_Timer <= diff)
{
@@ -334,7 +328,6 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
bool InVanish;
bool Enrage;
}
}
class boss_moroes_guestAI : ScriptedAI
{
@@ -355,7 +348,7 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
{
for (byte i = 0; i < 4; ++i)
{
ObjectGuid GUID = ((boss_moroes.boss_moroesAI)Moroes.GetAI()).AddGUID[i];
ObjectGuid GUID = ((boss_moroes)Moroes.GetAI()).AddGUID[i];
if (!GUID.IsEmpty())
GuestGUID[i] = GUID;
}
@@ -390,19 +383,10 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
}
[Script]
class boss_baroness_dorothea_millstipe : CreatureScript
{
public boss_baroness_dorothea_millstipe() : base("boss_baroness_dorothea_millstipe") { }
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_baroness_dorothea_millstipeAI>(creature);
}
class boss_baroness_dorothea_millstipeAI : boss_moroes_guestAI
class boss_baroness_dorothea_millstipe : boss_moroes_guestAI
{
//Shadow Priest
public boss_baroness_dorothea_millstipeAI(Creature creature) : base(creature) { }
public boss_baroness_dorothea_millstipe(Creature creature) : base(creature) { }
uint ManaBurn_Timer;
uint MindFlay_Timer;
@@ -430,7 +414,8 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
{
DoCastVictim(SpellIds.Mindfly);
MindFlay_Timer = 12000; // 3 sec channeled
} else MindFlay_Timer -= diff;
}
else MindFlay_Timer -= diff;
if (ManaBurn_Timer <= diff)
{
@@ -439,7 +424,8 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
if (target.getPowerType() == PowerType.Mana)
DoCast(target, SpellIds.Manaburn);
ManaBurn_Timer = 5000; // 3 sec cast
} else ManaBurn_Timer -= diff;
}
else ManaBurn_Timer -= diff;
if (ShadowWordPain_Timer <= diff)
{
@@ -449,25 +435,16 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
DoCast(target, SpellIds.Swpain);
ShadowWordPain_Timer = 7000;
}
} else ShadowWordPain_Timer -= diff;
}
else ShadowWordPain_Timer -= diff;
}
}
[Script]
class boss_baron_rafe_dreuger : CreatureScript
{
public boss_baron_rafe_dreuger() : base("boss_baron_rafe_dreuger") { }
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_baron_rafe_dreugerAI>(creature);
}
class boss_baron_rafe_dreugerAI : boss_moroes_guestAI
class boss_baron_rafe_dreuger : boss_moroes_guestAI
{
//Retr Pally
public boss_baron_rafe_dreugerAI(Creature creature) : base(creature) { }
public boss_baron_rafe_dreuger(Creature creature) : base(creature) { }
uint HammerOfJustice_Timer;
uint SealOfCommand_Timer;
@@ -494,37 +471,30 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
DoCast(me, SpellIds.Sealofcommand);
SealOfCommand_Timer = 32000;
JudgementOfCommand_Timer = 29000;
} else SealOfCommand_Timer -= diff;
}
else SealOfCommand_Timer -= diff;
if (JudgementOfCommand_Timer <= diff)
{
DoCastVictim(SpellIds.Judgementofcommand);
JudgementOfCommand_Timer = SealOfCommand_Timer + 29000;
} else JudgementOfCommand_Timer -= diff;
}
else JudgementOfCommand_Timer -= diff;
if (HammerOfJustice_Timer <= diff)
{
DoCastVictim(SpellIds.Hammerofjustice);
HammerOfJustice_Timer = 12000;
} else HammerOfJustice_Timer -= diff;
}
else HammerOfJustice_Timer -= diff;
}
}
[Script]
class boss_lady_catriona_von_indi : CreatureScript
{
public boss_lady_catriona_von_indi() : base("boss_lady_catriona_von_indi") { }
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_lady_catriona_von_indiAI>(creature);
}
class boss_lady_catriona_von_indiAI : boss_moroes_guestAI
class boss_lady_catriona_von_indi : boss_moroes_guestAI
{
//Holy Priest
public boss_lady_catriona_von_indiAI(Creature creature) : base(creature) { }
public boss_lady_catriona_von_indi(Creature creature) : base(creature) { }
uint DispelMagic_Timer;
uint GreaterHeal_Timer;
@@ -554,7 +524,8 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
{
DoCast(me, SpellIds.Pwshield);
PowerWordShield_Timer = 15000;
} else PowerWordShield_Timer -= diff;
}
else PowerWordShield_Timer -= diff;
if (GreaterHeal_Timer <= diff)
{
@@ -562,13 +533,15 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
DoCast(target, SpellIds.Greaterheal);
GreaterHeal_Timer = 17000;
} else GreaterHeal_Timer -= diff;
}
else GreaterHeal_Timer -= diff;
if (HolyFire_Timer <= diff)
{
DoCastVictim(SpellIds.Holyfire);
HolyFire_Timer = 22000;
} else HolyFire_Timer -= diff;
}
else HolyFire_Timer -= diff;
if (DispelMagic_Timer <= diff)
{
@@ -577,25 +550,16 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
DoCast(target, SpellIds.Dispelmagic);
DispelMagic_Timer = 25000;
} else DispelMagic_Timer -= diff;
}
else DispelMagic_Timer -= diff;
}
}
[Script]
class boss_lady_keira_berrybuck : CreatureScript
{
public boss_lady_keira_berrybuck() : base("boss_lady_keira_berrybuck") { }
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_lady_keira_berrybuckAI>(creature);
}
class boss_lady_keira_berrybuckAI : boss_moroes_guestAI
class boss_lady_keira_berrybuck : boss_moroes_guestAI
{
//Holy Pally
public boss_lady_keira_berrybuckAI(Creature creature) : base(creature) { }
public boss_lady_keira_berrybuck(Creature creature) : base(creature) { }
uint Cleanse_Timer;
uint GreaterBless_Timer;
@@ -625,7 +589,8 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
{
DoCast(me, SpellIds.Divineshield);
DivineShield_Timer = 31000;
} else DivineShield_Timer -= diff;
}
else DivineShield_Timer -= diff;
if (HolyLight_Timer <= diff)
{
@@ -633,7 +598,8 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
DoCast(target, SpellIds.Holylight);
HolyLight_Timer = 10000;
} else HolyLight_Timer -= diff;
}
else HolyLight_Timer -= diff;
if (GreaterBless_Timer <= diff)
{
@@ -642,7 +608,8 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
DoCast(target, SpellIds.Greaterblessofmight);
GreaterBless_Timer = 50000;
} else GreaterBless_Timer -= diff;
}
else GreaterBless_Timer -= diff;
if (Cleanse_Timer <= diff)
{
@@ -651,25 +618,16 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
DoCast(target, SpellIds.Cleanse);
Cleanse_Timer = 10000;
} else Cleanse_Timer -= diff;
}
else Cleanse_Timer -= diff;
}
}
[Script]
class boss_lord_robin_daris : CreatureScript
{
public boss_lord_robin_daris() : base("boss_lord_robin_daris") { }
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_lord_robin_darisAI>(creature);
}
class boss_lord_robin_darisAI : boss_moroes_guestAI
class boss_lord_robin_daris : boss_moroes_guestAI
{
//Arms Warr
public boss_lord_robin_darisAI(Creature creature) : base(creature) { }
public boss_lord_robin_daris(Creature creature) : base(creature) { }
uint Hamstring_Timer;
uint MortalStrike_Timer;
@@ -695,37 +653,30 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
{
DoCastVictim(SpellIds.Hamstring);
Hamstring_Timer = 12000;
} else Hamstring_Timer -= diff;
}
else Hamstring_Timer -= diff;
if (MortalStrike_Timer <= diff)
{
DoCastVictim(SpellIds.Mortalstrike);
MortalStrike_Timer = 18000;
} else MortalStrike_Timer -= diff;
}
else MortalStrike_Timer -= diff;
if (WhirlWind_Timer <= diff)
{
DoCast(me, SpellIds.Whirlwind);
WhirlWind_Timer = 21000;
} else WhirlWind_Timer -= diff;
}
else WhirlWind_Timer -= diff;
}
}
[Script]
class boss_lord_crispin_ference : CreatureScript
{
public boss_lord_crispin_ference() : base("boss_lord_crispin_ference") { }
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_lord_crispin_ferenceAI>(creature);
}
class boss_lord_crispin_ferenceAI : boss_moroes_guestAI
class boss_lord_crispin_ference : boss_moroes_guestAI
{
//Arms Warr
public boss_lord_crispin_ferenceAI(Creature creature) : base(creature) { }
public boss_lord_crispin_ference(Creature creature) : base(creature) { }
uint Disarm_Timer;
uint HeroicStrike_Timer;
@@ -753,26 +704,29 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
{
DoCastVictim(SpellIds.Disarm);
Disarm_Timer = 12000;
} else Disarm_Timer -= diff;
}
else Disarm_Timer -= diff;
if (HeroicStrike_Timer <= diff)
{
DoCastVictim(SpellIds.Heroicstrike);
HeroicStrike_Timer = 10000;
} else HeroicStrike_Timer -= diff;
}
else HeroicStrike_Timer -= diff;
if (ShieldBash_Timer <= diff)
{
DoCastVictim(SpellIds.Shieldbash);
ShieldBash_Timer = 13000;
} else ShieldBash_Timer -= diff;
}
else ShieldBash_Timer -= diff;
if (ShieldWall_Timer <= diff)
{
DoCast(me, SpellIds.Shieldwall);
ShieldWall_Timer = 21000;
} else ShieldWall_Timer -= diff;
}
else ShieldWall_Timer -= diff;
}
}
}
+45 -150
View File
@@ -84,7 +84,7 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
public const uint NpcCrone = 18168;
}
class WizardofOzBase : ScriptedAI
public class WizardofOzBase : ScriptedAI
{
public WizardofOzBase(Creature creature) : base(creature) { }
@@ -109,13 +109,9 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
}
[Script]
class boss_dorothee : CreatureScript
public class boss_dorothee : WizardofOzBase
{
public boss_dorothee() : base("boss_dorothee") { }
public class boss_dorotheeAI : WizardofOzBase
{
public boss_dorotheeAI(Creature creature) : base(creature)
public boss_dorothee(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
}
@@ -226,20 +222,10 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
bool SummonedTito;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_dorotheeAI>(creature);
}
}
[Script]
class npc_tito : CreatureScript
public class npc_tito : WizardofOzBase
{
public npc_tito() : base("npc_tito") { }
public class npc_titoAI : WizardofOzBase
{
public npc_titoAI(Creature creature) : base(creature) { }
public npc_tito(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -280,20 +266,10 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
uint YipTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_titoAI(creature);
}
}
[Script]
class boss_strawman : CreatureScript
class boss_strawman : WizardofOzBase
{
public boss_strawman() : base("boss_strawman") { }
class boss_strawmanAI : WizardofOzBase
{
public boss_strawmanAI(Creature creature) : base(creature)
public boss_strawman(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
}
@@ -386,25 +362,10 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
uint BrainWipeTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_strawmanAI>(creature);
}
}
[Script]
class boss_tinhead : CreatureScript
class boss_tinhead : WizardofOzBase
{
public boss_tinhead() : base("boss_tinhead") { }
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_tinheadAI>(creature);
}
class boss_tinheadAI : WizardofOzBase
{
public boss_tinheadAI(Creature creature) : base(creature)
public boss_tinhead(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
}
@@ -500,16 +461,11 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
byte RustCount;
}
}
[Script]
class boss_roar : CreatureScript
class boss_roar : WizardofOzBase
{
public boss_roar() : base("boss_roar") { }
class boss_roarAI : WizardofOzBase
{
public boss_roarAI(Creature creature) : base(creature)
public boss_roar(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
}
@@ -606,20 +562,10 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
uint ScreamTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_roarAI>(creature);
}
}
[Script]
class boss_crone : CreatureScript
class boss_crone : WizardofOzBase
{
public boss_crone() : base("boss_crone") { }
class boss_croneAI : WizardofOzBase
{
public boss_croneAI(Creature creature) : base(creature)
public boss_crone(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
}
@@ -693,20 +639,10 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
uint ChainLightningTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_croneAI>(creature);
}
}
[Script]
class npc_cyclone : CreatureScript
class npc_cyclone : ScriptedAI
{
public npc_cyclone() : base("npc_cyclone") { }
class npc_cycloneAI : ScriptedAI
{
public npc_cycloneAI(Creature creature) : base(creature) { }
public npc_cyclone(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -734,11 +670,6 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
uint MoveTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_cycloneAI(creature);
}
}
#endregion
#region Red Riding Hood
@@ -747,6 +678,7 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
public const uint SayWolfAggro = 0;
public const uint SayWolfSlay = 1;
public const uint SayWolfHood = 2;
public const uint OptionWhatPhatLewtsYouHave = 7443;
public const uint SoundWolfDeath = 9275;
public const uint SpellLittleRedRidingHood = 30768;
@@ -757,42 +689,29 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
}
[Script]
class npc_grandmother : CreatureScript
class npc_grandmother : ScriptedAI
{
public npc_grandmother() : base("npc_grandmother") { }
public npc_grandmother(Creature creature) : base(creature) { }
public override bool OnGossipSelect(Player player, Creature creature, uint sender, uint action)
public override void sGossipSelect(Player player, uint menuId, uint gossipListId)
{
player.PlayerTalkClass.ClearMenus();
if (action == eTradeskill.GossipActionInfoDef)
if (menuId == RedRidingHood.OptionWhatPhatLewtsYouHave && gossipListId == 0)
{
Creature pBigBadWolf = creature.SummonCreature(RedRidingHood.NpcBigBadWolf, 0.0f, 0.0f, 0.0f, 0.0f, TempSummonType.TimedOrDeadDespawn, Time.Hour * 2 * Time.InMilliseconds);
player.PlayerTalkClass.SendCloseGossip();
Creature pBigBadWolf = me.SummonCreature(RedRidingHood.NpcBigBadWolf, me.GetPositionX(), me.GetPositionY(), me.GetPositionZ(), me.GetOrientation(), TempSummonType.TimedOrDeadDespawn, Time.Hour * 2 * Time.InMilliseconds);
if (pBigBadWolf)
pBigBadWolf.GetAI().AttackStart(player);
creature.DespawnOrUnsummon();
me.DespawnOrUnsummon();
}
return true;
}
public override bool OnGossipHello(Player player, Creature creature)
{
player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, "What phat lewtz you have grandmother?", eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef);
player.SEND_GOSSIP_MENU(8990, creature.GetGUID());
return true;
}
}
[Script]
class boss_bigbadwolf : CreatureScript
class boss_bigbadwolf : ScriptedAI
{
public boss_bigbadwolf() : base("boss_bigbadwolf") { }
class boss_bigbadwolfAI : ScriptedAI
{
public boss_bigbadwolfAI(Creature creature) : base(creature)
public boss_bigbadwolf(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
}
@@ -910,11 +829,6 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
bool IsChasing;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_bigbadwolfAI>(creature);
}
}
#endregion
#region Romeo & Juliet
@@ -959,9 +873,9 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
Both = 2,
}
public class julianne_romulobase : ScriptedAI
public class julianne_romuloAI : ScriptedAI
{
public julianne_romulobase(Creature creature) : base(creature) { }
public julianne_romuloAI(Creature creature) : base(creature) { }
public override void JustReachedHome()
{
@@ -1021,13 +935,9 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
}
[Script]
class boss_julianne : CreatureScript
public class boss_julianne : julianne_romuloAI
{
public boss_julianne() : base("boss_julianne") { }
public class boss_julianneAI : julianne_romulobase
{
public boss_julianneAI(Creature creature) : base(creature)
public boss_julianne(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
EntryYellTimer = 1000;
@@ -1133,8 +1043,8 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
{
PretendToDie();
IsFakingDeath = true;
((julianne_romulobase)Romulo.GetAI()).ResurrectTimer = 10000;
((julianne_romulobase)Romulo.GetAI()).JulianneDead = true;
((julianne_romuloAI)Romulo.GetAI()).ResurrectTimer = 10000;
((julianne_romuloAI)Romulo.GetAI()).JulianneDead = true;
damage = 0;
return;
}
@@ -1205,8 +1115,8 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
if (pRomulo)
{
RomuloGUID = pRomulo.GetGUID();
((julianne_romulobase)pRomulo.GetAI()).JulianneGUID = me.GetGUID();
((julianne_romulobase)pRomulo.GetAI()).Phase = RAJPhase.Romulo;
((julianne_romuloAI)pRomulo.GetAI()).JulianneGUID = me.GetGUID();
((julianne_romuloAI)pRomulo.GetAI()).Phase = RAJPhase.Romulo;
DoZoneInCombat(pRomulo);
pRomulo.SetFaction(16);
@@ -1241,11 +1151,11 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
if (ResurrectTimer <= diff)
{
Creature Romulo = ObjectAccessor.GetCreature(me, RomuloGUID);
if (Romulo && ((julianne_romulobase)Romulo.GetAI()).IsFakingDeath)
if (Romulo && ((julianne_romuloAI)Romulo.GetAI()).IsFakingDeath)
{
Talk(JulianneRomulo.SayJulianneResurrect);
Resurrect(Romulo);
((julianne_romulobase)Romulo.GetAI()).IsFakingDeath = false;
((julianne_romuloAI)Romulo.GetAI()).IsFakingDeath = false;
RomuloDead = false;
ResurrectTimer = 10000;
}
@@ -1303,20 +1213,10 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
bool SummonedRomulo;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_julianneAI>(creature);
}
}
[Script]
class boss_romulo : CreatureScript
public class boss_romulo : julianne_romuloAI
{
public boss_romulo() : base("boss_romulo") { }
public class boss_romuloAI : julianne_romulobase
{
public boss_romuloAI(Creature creature) : base(creature)
public boss_romulo(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
EntryYellTimer = 8000;
@@ -1355,8 +1255,8 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
Creature Julianne = ObjectAccessor.GetCreature(me, JulianneGUID);
if (Julianne)
{
((julianne_romulobase)Julianne.GetAI()).RomuloDead = true;
((julianne_romulobase)Julianne.GetAI()).ResurrectSelfTimer = 10000;
((julianne_romuloAI)Julianne.GetAI()).RomuloDead = true;
((julianne_romuloAI)Julianne.GetAI()).ResurrectSelfTimer = 10000;
}
damage = 0;
@@ -1386,8 +1286,8 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
{
PretendToDie();
IsFakingDeath = true;
((julianne_romulobase)Julianne.GetAI()).ResurrectTimer = 10000;
((julianne_romulobase)Julianne.GetAI()).RomuloDead = true;
((julianne_romuloAI)Julianne.GetAI()).ResurrectTimer = 10000;
((julianne_romuloAI)Julianne.GetAI()).RomuloDead = true;
damage = 0;
return;
}
@@ -1438,11 +1338,11 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
if (ResurrectTimer <= diff)
{
Creature Julianne = (ObjectAccessor.GetCreature(me, JulianneGUID));
if (Julianne && ((julianne_romulobase)Julianne.GetAI()).IsFakingDeath)
if (Julianne && ((julianne_romuloAI)Julianne.GetAI()).IsFakingDeath)
{
Talk(JulianneRomulo.SayRomuloResurrect);
Resurrect(Julianne);
((julianne_romulobase)Julianne.GetAI()).IsFakingDeath = false;
((julianne_romuloAI)Julianne.GetAI()).IsFakingDeath = false;
JulianneDead = false;
ResurrectTimer = 10000;
}
@@ -1493,11 +1393,6 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
uint PoisonThrustTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_romuloAI>(creature);
}
}
#endregion
[Script]
@@ -1789,7 +1684,7 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_barnesAI>(creature);
return instance_karazhan.GetKarazhanAI<npc_barnesAI>(creature);
}
}
}
@@ -33,13 +33,9 @@ namespace Scripts.EasternKingdoms
}
[Script]
class npc_unworthy_initiate : CreatureScript
public class npc_unworthy_initiate : ScriptedAI
{
public npc_unworthy_initiate() : base("npc_unworthy_initiate") { }
public class npc_unworthy_initiateAI : ScriptedAI
{
public npc_unworthy_initiateAI(Creature creature) : base(creature)
public npc_unworthy_initiate(Creature creature) : base(creature)
{
me.SetReactState(ReactStates.Passive);
if (me.GetCurrentEquipmentId() == 0)
@@ -213,41 +209,31 @@ namespace Scripts.EasternKingdoms
uint wait_timer;
float anchorX, anchorY;
ObjectGuid anchorGUID;
}
public const uint SpellSoulPrisonChainSelf = 54612;
public const uint SpellSoulPrisonChain = 54613;
public const uint SpellDKInitateVisual = 51519;
const uint SpellSoulPrisonChainSelf = 54612;
const uint SpellSoulPrisonChain = 54613;
const uint SpellDKInitateVisual = 51519;
public const uint SpellIcyTouch = 52372;
public const uint SpellPlagueStrike = 52373;
public const uint SpellBloodStrike = 52374;
public const uint SpellDeathCoil = 52375;
const uint SpellIcyTouch = 52372;
const uint SpellPlagueStrike = 52373;
const uint SpellBloodStrike = 52374;
const uint SpellDeathCoil = 52375;
public const uint SayEventStart = 0;
public const uint SayEventAttack = 1;
const uint SayEventStart = 0;
const uint SayEventAttack = 1;
public const uint EventIcyTouch = 1;
public const uint EventPlagueStrike = 2;
public const uint EventBloodStrike = 3;
public const uint EventDeathCoil = 4;
const uint EventIcyTouch = 1;
const uint EventPlagueStrike = 2;
const uint EventBloodStrike = 3;
const uint EventDeathCoil = 4;
public static uint[] acherus_soul_prison = { 191577, 191580, 191581, 191582, 191583, 191584, 191585, 191586, 191587, 191588, 191589, 191590 };
public override CreatureAI GetAI(Creature creature)
{
return new npc_unworthy_initiateAI(creature);
}
static uint[] acherus_soul_prison = { 191577, 191580, 191581, 191582, 191583, 191584, 191585, 191586, 191587, 191588, 191589, 191590 };
}
[Script]
class npc_unworthy_initiate_anchor : CreatureScript
class npc_unworthy_initiate_anchor : PassiveAI
{
public npc_unworthy_initiate_anchor() : base("npc_unworthy_initiate_anchor") { }
class npc_unworthy_initiate_anchorAI : PassiveAI
{
public npc_unworthy_initiate_anchorAI(Creature creature) : base(creature) { }
public npc_unworthy_initiate_anchor(Creature creature) : base(creature) { }
public override void SetGUID(ObjectGuid guid, int id)
{
@@ -263,12 +249,6 @@ namespace Scripts.EasternKingdoms
ObjectGuid prisonerGUID;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_unworthy_initiate_anchorAI(creature);
}
}
[Script]
class go_acherus_soul_prison : GameObjectScript
{
@@ -284,13 +264,12 @@ namespace Scripts.EasternKingdoms
{
Creature prisoner = ObjectAccessor.GetCreature(player, prisonerGUID);
if (prisoner)
((npc_unworthy_initiate.npc_unworthy_initiateAI)prisoner.GetAI()).EventStart(anchor, player);
((npc_unworthy_initiate)prisoner.GetAI()).EventStart(anchor, player);
}
}
return false;
}
}
struct EyeOfAcherus
@@ -311,13 +290,9 @@ namespace Scripts.EasternKingdoms
}
[Script]
class npc_eye_of_acherus : CreatureScript
class npc_eye_of_acherus : ScriptedAI
{
public npc_eye_of_acherus() : base("npc_eye_of_acherus") { }
class npc_eye_of_acherusAI : ScriptedAI
{
public npc_eye_of_acherusAI(Creature creature) : base(creature)
public npc_eye_of_acherus(Creature creature) : base(creature)
{
Reset();
}
@@ -375,10 +350,4 @@ namespace Scripts.EasternKingdoms
me.GetCharmer().ToPlayer().SetClientControl(me, true);
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_eye_of_acherusAI(creature);
}
}
}
@@ -36,13 +36,9 @@ namespace Scripts.EasternKingdoms.TheStockade
}
[Script]
class boss_hogger : CreatureScript
class boss_hogger : BossAI
{
public boss_hogger() : base("boss_hogger") { }
class boss_hoggerAI : BossAI
{
public boss_hoggerAI(Creature creature) : base(creature, DataTypes.Hogger) { }
public boss_hogger(Creature creature) : base(creature, DataTypes.Hogger) { }
public override void EnterCombat(Unit who)
{
@@ -104,20 +100,10 @@ namespace Scripts.EasternKingdoms.TheStockade
bool _hasEnraged;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_hoggerAI>(creature, nameof(instance_the_stockade));
}
}
[Script]
class npc_warden_thelwater : CreatureScript
class npc_warden_thelwater : ScriptedAI
{
public npc_warden_thelwater() : base("npc_warden_thelwater") { }
class npc_warden_thelwaterAI : ScriptedAI
{
public npc_warden_thelwaterAI(Creature creature) : base(creature) { }
public npc_warden_thelwater(Creature creature) : base(creature) { }
public override void MovementInform(MovementGeneratorType type, uint id)
{
@@ -148,10 +134,4 @@ namespace Scripts.EasternKingdoms.TheStockade
});
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_warden_thelwaterAI>(creature, nameof(instance_the_stockade));
}
}
}
+6 -36
View File
@@ -98,13 +98,9 @@ namespace Scripts.Kalimdor.ZoneAshenvale
[Script]
class npc_ruul_snowhoof : CreatureScript
class npc_ruul_snowhoof : npc_escortAI
{
public npc_ruul_snowhoof() : base("npc_ruul_snowhoof") { }
class npc_ruul_snowhoofAI : npc_escortAI
{
public npc_ruul_snowhoofAI(Creature creature) : base(creature) { }
public npc_ruul_snowhoof(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -165,20 +161,10 @@ namespace Scripts.Kalimdor.ZoneAshenvale
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_ruul_snowhoofAI(creature);
}
}
[Script]
class npc_muglash : CreatureScript
public class npc_muglash : npc_escortAI
{
public npc_muglash() : base("npc_muglash") { }
public class npc_muglashAI : npc_escortAI
{
public npc_muglashAI(Creature creature) : base(creature)
public npc_muglash(Creature creature) : base(creature)
{
Initialize();
}
@@ -320,12 +306,6 @@ namespace Scripts.Kalimdor.ZoneAshenvale
public bool _isBrazierExtinguished { get; set; }
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_muglashAI(creature);
}
}
[Script]
class go_naga_brazier : GameObjectScript
{
@@ -336,7 +316,7 @@ namespace Scripts.Kalimdor.ZoneAshenvale
Creature creature = ScriptedAI.GetClosestCreatureWithEntry(go, CreatureIds.Muglash, SharedConst.InteractionDistance * 2);
if (creature)
{
npc_muglash.npc_muglashAI pEscortAI = creature.GetAI<npc_muglash.npc_muglashAI>();
npc_muglash pEscortAI = creature.GetAI<npc_muglash>();
if (pEscortAI != null)
{
creature.GetAI().Talk(TextIds.SayMugBrazierWait);
@@ -351,11 +331,7 @@ namespace Scripts.Kalimdor.ZoneAshenvale
}
[Script]
class spell_destroy_karangs_banner : SpellScriptLoader
{
public spell_destroy_karangs_banner() : base("spell_destroy_karangs_banner") { }
class spell_destroy_karangs_banner_SpellScript : SpellScript
class spell_destroy_karangs_banner : SpellScript
{
void HandleAfterCast()
{
@@ -369,10 +345,4 @@ namespace Scripts.Kalimdor.ZoneAshenvale
AfterCast.Add(new CastHandler(HandleAfterCast));
}
}
public override SpellScript GetSpellScript()
{
return new spell_destroy_karangs_banner_SpellScript();
}
}
}
+3 -23
View File
@@ -26,13 +26,9 @@ using System;
namespace Scripts.Kalimdor
{
[Script]
class npc_lazy_peon : CreatureScript
class npc_lazy_peon : NullCreatureAI
{
public npc_lazy_peon() : base("npc_lazy_peon") { }
class npc_lazy_peonAI : NullCreatureAI
{
public npc_lazy_peonAI(Creature creature) : base(creature) { }
public npc_lazy_peon(Creature creature) : base(creature) { }
public override void InitializeAI()
{
@@ -103,18 +99,8 @@ namespace Scripts.Kalimdor
TaskScheduler scheduler = new TaskScheduler();
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_lazy_peonAI(creature);
}
}
[Script]
class spell_voodoo : SpellScriptLoader
{
public spell_voodoo() : base("spell_voodoo") { }
class spell_voodoo_SpellScript : SpellScript
class spell_voodoo : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -133,12 +119,6 @@ namespace Scripts.Kalimdor
{
OnEffectHitTarget.Add(new EffectHandler(HandleDummy, 0, SpellEffectName.Dummy));
}
}
public override SpellScript GetSpellScript()
{
return new spell_voodoo_SpellScript();
}
const uint SpellBrew = 16712; // Special Brew
const uint SpellGhostly = 16713; // Ghostly
@@ -45,13 +45,9 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.Amanitar
}
[Script]
class boss_amanitar : CreatureScript
class boss_amanitar : BossAI
{
public boss_amanitar() : base("boss_amanitar") { }
class boss_amanitarAI : BossAI
{
public boss_amanitarAI(Creature creature) : base(creature, DataTypes.Amanitar) { }
public boss_amanitar(Creature creature) : base(creature, DataTypes.Amanitar) { }
public override void Reset()
{
@@ -141,20 +137,10 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.Amanitar
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_amanitarAI>(creature);
}
}
[Script]
class npc_amanitar_mushrooms : CreatureScript
class npc_amanitar_mushrooms : ScriptedAI
{
public npc_amanitar_mushrooms() : base("npc_amanitar_mushrooms") { }
class npc_amanitar_mushroomsAI : ScriptedAI
{
public npc_amanitar_mushroomsAI(Creature creature) : base(creature) { }
public npc_amanitar_mushrooms(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -200,10 +186,4 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.Amanitar
return;
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_amanitar_mushroomsAI(creature);
}
}
}
@@ -54,13 +54,9 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.ElderNadox
}
[Script]
class boss_elder_nadox : CreatureScript
class boss_elder_nadox : BossAI
{
public boss_elder_nadox() : base("boss_elder_nadox") { }
class boss_elder_nadoxAI : BossAI
{
public boss_elder_nadoxAI(Creature creature) : base(creature, DataTypes.ElderNadox)
public boss_elder_nadox(Creature creature) : base(creature, DataTypes.ElderNadox)
{
Initialize();
}
@@ -164,20 +160,10 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.ElderNadox
bool GuardianDied;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_elder_nadoxAI>(creature, "instance_ahnkahet");
}
}
[Script]
class npc_ahnkahar_nerubian : CreatureScript
class npc_ahnkahar_nerubian : ScriptedAI
{
public npc_ahnkahar_nerubian() : base("npc_ahnkahar_nerubian") { }
class npc_ahnkahar_nerubianAI : ScriptedAI
{
public npc_ahnkahar_nerubianAI(Creature creature) : base(creature) { }
public npc_ahnkahar_nerubian(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -203,21 +189,11 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.ElderNadox
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_ahnkahar_nerubianAI(creature);
}
}
// 56159 - Swarm
[Script]
class spell_ahn_kahet_swarm : SpellScriptLoader
class spell_ahn_kahet_swarm : SpellScript
{
public spell_ahn_kahet_swarm() : base("spell_ahn_kahet_swarm") { }
class spell_ahn_kahet_swarm_SpellScript : SpellScript
{
public spell_ahn_kahet_swarm_SpellScript()
public spell_ahn_kahet_swarm()
{
_targetCount = 0;
}
@@ -235,7 +211,8 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.ElderNadox
void HandleDummy(uint effIndex)
{
if (_targetCount != 0)
{ Aura aura = GetCaster().GetAura(SpellIds.SwarmBuff);
{
Aura aura = GetCaster().GetAura(SpellIds.SwarmBuff);
if (aura != null)
{
aura.SetStackAmount((byte)_targetCount);
@@ -257,12 +234,6 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.ElderNadox
int _targetCount;
}
public override SpellScript GetSpellScript()
{
return new spell_ahn_kahet_swarm_SpellScript();
}
}
[Script]
class achievement_respect_your_elders : AchievementCriteriaScript
{
@@ -56,13 +56,9 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.HeraldVolazj
}
[Script]
class boss_volazj : CreatureScript
class boss_volazj : ScriptedAI
{
public boss_volazj() : base("boss_volazj") { }
class boss_volazjAI : ScriptedAI
{
public boss_volazjAI(Creature creature) : base(creature)
public boss_volazj(Creature creature) : base(creature)
{
Summons = new SummonList(me);
@@ -243,13 +239,15 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.HeraldVolazj
{
DoCastVictim(SpellIds.MindFlay);
uiMindFlayTimer = 20 * Time.InMilliseconds;
} else uiMindFlayTimer -= diff;
}
else uiMindFlayTimer -= diff;
if (uiShadowBoltVolleyTimer <= diff)
{
DoCastVictim(SpellIds.ShadowBoltVolley);
uiShadowBoltVolleyTimer = 5 * Time.InMilliseconds;
} else uiShadowBoltVolleyTimer -= diff;
}
else uiShadowBoltVolleyTimer -= diff;
if (uiShiverTimer <= diff)
{
@@ -257,7 +255,8 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.HeraldVolazj
if (target)
DoCast(target, SpellIds.Shiver);
uiShiverTimer = 15 * Time.InMilliseconds;
} else uiShiverTimer -= diff;
}
else uiShiverTimer -= diff;
DoMeleeAttackIfReady();
}
@@ -286,10 +285,4 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.HeraldVolazj
uint insanityHandled;
SummonList Summons;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_volazjAI>(creature);
}
}
}
@@ -58,13 +58,9 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.JedogaShadowseeker
}
[Script]
class boss_jedoga_shadowseeker : CreatureScript
public class boss_jedoga_shadowseeker : ScriptedAI
{
public boss_jedoga_shadowseeker() : base("boss_jedoga_shadowseeker") { }
public class boss_jedoga_shadowseekerAI : ScriptedAI
{
public boss_jedoga_shadowseekerAI(Creature creature) : base(creature)
public boss_jedoga_shadowseeker(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
bFirstTime = true;
@@ -332,20 +328,10 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.JedogaShadowseeker
bool bFirstTime;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_jedoga_shadowseekerAI>(creature);
}
}
[Script]
class npc_jedoga_twilight_volunteer : CreatureScript
class npc_jedoga_twilight_volunteer : ScriptedAI
{
public npc_jedoga_twilight_volunteer() : base("npc_jedoga_initiand") { }
class npc_jedoga_twilight_volunteerAI : ScriptedAI
{
public npc_jedoga_twilight_volunteerAI(Creature creature) : base(creature)
public npc_jedoga_twilight_volunteer(Creature creature) : base(creature)
{
Initialize();
instance = creature.GetInstanceScript();
@@ -387,8 +373,8 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.JedogaShadowseeker
Creature boss = ObjectAccessor.GetCreature(me, instance.GetGuidData(DataTypes.JedogaShadowseeker));
if (boss)
{
if (!boss.GetAI<boss_jedoga_shadowseeker.boss_jedoga_shadowseekerAI>().bOpFerok)
boss.GetAI<boss_jedoga_shadowseeker.boss_jedoga_shadowseekerAI>().bOpFerokFail = true;
if (!boss.GetAI<boss_jedoga_shadowseeker>().bOpFerok)
boss.GetAI<boss_jedoga_shadowseeker>().bOpFerokFail = true;
if (killer.IsTypeId(TypeId.Player))
boss.GetAI().DoAction(Misc.ActionInitiateKilled);
@@ -432,8 +418,8 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.JedogaShadowseeker
Creature boss = me.GetMap().GetCreature(instance.GetGuidData(DataTypes.JedogaShadowseeker));
if (boss)
{
boss.GetAI<boss_jedoga_shadowseeker.boss_jedoga_shadowseekerAI>().bOpFerok = true;
boss.GetAI<boss_jedoga_shadowseeker.boss_jedoga_shadowseekerAI>().bOpFerokFail = false;
boss.GetAI<boss_jedoga_shadowseeker>().bOpFerok = true;
boss.GetAI<boss_jedoga_shadowseeker>().bOpFerokFail = false;
me.KillSelf();
}
}
@@ -499,20 +485,10 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.JedogaShadowseeker
bool bWalking;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_jedoga_twilight_volunteerAI>(creature);
}
}
[Script]
class npc_jedoga_controller : CreatureScript
class npc_jedoga_controller : ScriptedAI
{
public npc_jedoga_controller() : base("npc_jedogas_aufseher_trigger") { }
class npc_jedoga_controllerAI : ScriptedAI
{
public npc_jedoga_controllerAI(Creature creature) : base(creature)
public npc_jedoga_controller(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
bRemoved = false;
@@ -575,12 +551,6 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.JedogaShadowseeker
bool bCast2;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_jedoga_controllerAI>(creature);
}
}
[Script]
class achievement_volunteer_work : AchievementCriteriaScript
{
@@ -82,13 +82,9 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.PrinceTaldaram
}
[Script]
class boss_prince_taldaram : CreatureScript
public class boss_prince_taldaram : BossAI
{
public boss_prince_taldaram() : base("boss_prince_taldaram") { }
public class boss_prince_taldaramAI : BossAI
{
public boss_prince_taldaramAI(Creature creature) : base(creature, DataTypes.PrinceTaldaram)
public boss_prince_taldaram(Creature creature) : base(creature, DataTypes.PrinceTaldaram)
{
me.SetDisableGravity(true);
_embraceTakenDamage = 0;
@@ -281,20 +277,10 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.PrinceTaldaram
uint _embraceTakenDamage;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_prince_taldaramAI>(creature);
}
}
[Script] // 30106, 31686, 31687 - Flame Sphere
class npc_prince_taldaram_flame_sphere : CreatureScript
class npc_prince_taldaram_flame_sphere : ScriptedAI
{
public npc_prince_taldaram_flame_sphere() : base("npc_prince_taldaram_flame_sphere") { }
class npc_prince_taldaram_flame_sphereAI : ScriptedAI
{
public npc_prince_taldaram_flame_sphereAI(Creature creature) : base(creature)
public npc_prince_taldaram_flame_sphere(Creature creature) : base(creature)
{
}
@@ -373,12 +359,6 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.PrinceTaldaram
ObjectGuid _flameSphereTargetGUID;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_prince_taldaram_flame_sphereAI(creature);
}
}
[Script] // 193093, 193094 - Ancient Nerubian Device
class go_prince_taldaram_sphere : GameObjectScript
{
@@ -408,18 +388,14 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.PrinceTaldaram
break;
}
PrinceTaldaram.GetAI<boss_prince_taldaram.boss_prince_taldaramAI>().CheckSpheres();
PrinceTaldaram.GetAI<boss_prince_taldaram>().CheckSpheres();
}
return true;
}
}
[Script] // 55931 - Conjure Flame Sphere
class spell_prince_taldaram_conjure_flame_sphere : SpellScriptLoader
{
public spell_prince_taldaram_conjure_flame_sphere() : base("spell_prince_taldaram_conjure_flame_sphere") { }
class spell_prince_taldaram_conjure_flame_sphere_SpellScript : SpellScript
class spell_prince_taldaram_conjure_flame_sphere : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -444,18 +420,8 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.PrinceTaldaram
}
}
public override SpellScript GetSpellScript()
{
return new spell_prince_taldaram_conjure_flame_sphere_SpellScript();
}
}
[Script] // 55895, 59511, 59512 - Flame Sphere Summon
class spell_prince_taldaram_flame_sphere_summon : SpellScriptLoader
{
public spell_prince_taldaram_flame_sphere_summon() : base("spell_prince_taldaram_flame_sphere_summon") { }
class spell_prince_taldaram_flame_sphere_summon_SpellScript : SpellScript
class spell_prince_taldaram_flame_sphere_summon : SpellScript
{
void SetDest(ref SpellDestination dest)
{
@@ -467,10 +433,4 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet.PrinceTaldaram
OnDestinationTargetSelect.Add(new DestinationTargetSelectHandler(SetDest, 0, Targets.DestCaster));
}
}
public override SpellScript GetSpellScript()
{
return new spell_prince_taldaram_flame_sphere_summon_SpellScript();
}
}
}
@@ -23,6 +23,59 @@ using System.Collections.Generic;
namespace Scripts.Northrend.AzjolNerub.Ahnkahet
{
struct DataTypes
{
// Encounter States/Boss GUIDs
public const uint ElderNadox = 0;
public const uint PrinceTaldaram = 1;
public const uint JedogaShadowseeker = 2;
public const uint Amanitar = 3;
public const uint HeraldVolazj = 4;
// Additional Data
public const uint Sphere1 = 5;
public const uint Sphere2 = 6;
public const uint PrinceTaldaramPlatform = 7;
public const uint PlJedogaTarget = 8;
public const uint AddJedogaVictim = 9;
public const uint AddJedogaInitiand = 10;
public const uint JedogaTriggerSwitch = 11;
public const uint JedogaResetInitiands = 12;
public const uint AllInitiandDead = 13;
}
struct AKCreatureIds
{
public const uint ElderNadox = 29309;
public const uint PrinceTaldaram = 29308;
public const uint JedogaShadowseeker = 29310;
public const uint Amanitar = 30258;
public const uint HeraldVolazj = 29311;
// Elder Nadox
public const uint AhnkaharGuardian = 30176;
public const uint AhnkaharSwarmer = 30178;
// Jedoga Shadowseeker
public const uint Initiand = 30114;
public const uint JedogaController = 30181;
// Herald Volazj
//public const uint TwistedVisage1 = 30621,
//public const uint TwistedVisage2 = 30622,
//public const uint TwistedVisage3 = 30623,
//public const uint TwistedVisage4 = 30624,
public const uint TwistedVisage = 30625;
}
struct GameObjectIds
{
public const uint PrinceTaldaramGate = 192236;
public const uint PrinceTaldaramPlatform = 193564;
public const uint Sphere1 = 193093;
public const uint Sphere2 = 193094;
}
[Script]
class instance_ahnkahet : InstanceMapScript
{
@@ -278,57 +331,4 @@ namespace Scripts.Northrend.AzjolNerub.Ahnkahet
return new instance_ahnkahet_InstanceScript(map);
}
}
struct DataTypes
{
// Encounter States/Boss GUIDs
public const uint ElderNadox = 0;
public const uint PrinceTaldaram = 1;
public const uint JedogaShadowseeker = 2;
public const uint Amanitar = 3;
public const uint HeraldVolazj = 4;
// Additional Data
public const uint Sphere1 = 5;
public const uint Sphere2 = 6;
public const uint PrinceTaldaramPlatform = 7;
public const uint PlJedogaTarget = 8;
public const uint AddJedogaVictim = 9;
public const uint AddJedogaInitiand = 10;
public const uint JedogaTriggerSwitch = 11;
public const uint JedogaResetInitiands = 12;
public const uint AllInitiandDead = 13;
}
struct AKCreatureIds
{
public const uint ElderNadox = 29309;
public const uint PrinceTaldaram = 29308;
public const uint JedogaShadowseeker = 29310;
public const uint Amanitar = 30258;
public const uint HeraldVolazj = 29311;
// Elder Nadox
public const uint AhnkaharGuardian = 30176;
public const uint AhnkaharSwarmer = 30178;
// Jedoga Shadowseeker
public const uint Initiand = 30114;
public const uint JedogaController = 30181;
// Herald Volazj
//public const uint TwistedVisage1 = 30621,
//public const uint TwistedVisage2 = 30622,
//public const uint TwistedVisage3 = 30623,
//public const uint TwistedVisage4 = 30624,
public const uint TwistedVisage = 30625;
}
struct GameObjectIds
{
public const uint PrinceTaldaramGate = 192236;
public const uint PrinceTaldaramPlatform = 193564;
public const uint Sphere1 = 193093;
public const uint Sphere2 = 193094;
}
}
@@ -98,13 +98,9 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Anubarak
}
[Script]
class boss_anub_arak : CreatureScript
class boss_anub_arak : BossAI
{
public boss_anub_arak() : base("boss_anub_arak") { }
class boss_anub_arakAI : BossAI
{
public boss_anub_arakAI(Creature creature) : base(creature, ANDataTypes.Anubarak) { }
public boss_anub_arak(Creature creature) : base(creature, ANDataTypes.Anubarak) { }
public override void Reset()
{
@@ -403,12 +399,6 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Anubarak
byte _venomancerCount;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_anub_arakAI>(creature);
}
}
class npc_anubarak_pet_template : ScriptedAI
{
public npc_anubarak_pet_template(Creature creature, bool isLarge) : base(creature)
@@ -453,13 +443,9 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Anubarak
}
[Script]
class npc_anubarak_anub_ar_darter : CreatureScript
class npc_anubarak_anub_ar_darter : npc_anubarak_pet_template
{
public npc_anubarak_anub_ar_darter() : base("npc_anubarak_anub_ar_darter") { }
class npc_anubarak_anub_ar_darterAI : npc_anubarak_pet_template
{
public npc_anubarak_anub_ar_darterAI(Creature creature) : base(creature, false) { }
public npc_anubarak_anub_ar_darter(Creature creature) : base(creature, false) { }
public override void InitializeAI()
{
@@ -468,20 +454,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Anubarak
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anubarak_anub_ar_darterAI>(creature);
}
}
[Script]
class npc_anubarak_anub_ar_assassin : CreatureScript
class npc_anubarak_anub_ar_assassin : npc_anubarak_pet_template
{
public npc_anubarak_anub_ar_assassin() : base("npc_anubarak_anub_ar_assassin") { }
class npc_anubarak_anub_ar_assassinAI : npc_anubarak_pet_template
{
public npc_anubarak_anub_ar_assassinAI(Creature creature) : base(creature, false)
public npc_anubarak_anub_ar_assassin(Creature creature) : base(creature, false)
{
_backstabTimer = 6 * Time.InMilliseconds;
}
@@ -549,20 +525,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Anubarak
uint _backstabTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anubarak_anub_ar_assassinAI>(creature);
}
}
[Script]
class npc_anubarak_anub_ar_guardian : CreatureScript
class npc_anubarak_anub_ar_guardian : npc_anubarak_pet_template
{
public npc_anubarak_anub_ar_guardian() : base("npc_anubarak_anub_ar_guardian") { }
class npc_anubarak_anub_ar_guardianAI : npc_anubarak_pet_template
{
public npc_anubarak_anub_ar_guardianAI(Creature creature) : base(creature, true)
public npc_anubarak_anub_ar_guardian(Creature creature) : base(creature, true)
{
_sunderTimer = 6 * Time.InMilliseconds;
}
@@ -586,20 +552,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Anubarak
uint _sunderTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anubarak_anub_ar_guardianAI>(creature);
}
}
[Script]
class npc_anubarak_anub_ar_venomancer : CreatureScript
class npc_anubarak_anub_ar_venomancer : npc_anubarak_pet_template
{
public npc_anubarak_anub_ar_venomancer() : base("npc_anubarak_anub_ar_venomancer") { }
class npc_anubarak_anub_ar_venomancerAI : npc_anubarak_pet_template
{
public npc_anubarak_anub_ar_venomancerAI(Creature creature) : base(creature, true)
public npc_anubarak_anub_ar_venomancer(Creature creature) : base(creature, true)
{
_boltTimer = 5 * Time.InMilliseconds;
}
@@ -623,20 +579,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Anubarak
uint _boltTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anubarak_anub_ar_venomancerAI>(creature);
}
}
[Script]
class npc_anubarak_impale_target : CreatureScript
class npc_anubarak_impale_target : NullCreatureAI
{
public npc_anubarak_impale_target() : base("npc_anubarak_impale_target") { }
class npc_anubarak_impale_targetAI : NullCreatureAI
{
public npc_anubarak_impale_targetAI(Creature creature) : base(creature) { }
public npc_anubarak_impale_target(Creature creature) : base(creature) { }
public override void InitializeAI()
{
@@ -652,18 +598,8 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Anubarak
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anubarak_impale_targetAI>(creature);
}
}
[Script]
class spell_anubarak_pound : SpellScriptLoader
{
public spell_anubarak_pound() : base("spell_anubarak_pound") { }
class spell_anubarak_pound_SpellScript : SpellScript
class spell_anubarak_pound : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -683,18 +619,8 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Anubarak
}
}
public override SpellScript GetSpellScript()
{
return new spell_anubarak_pound_SpellScript();
}
}
[Script]
class spell_anubarak_carrion_beetles : SpellScriptLoader
{
public spell_anubarak_carrion_beetles() : base("spell_anubarak_carrion_beetles") { }
class spell_anubarak_carrion_beetles_AuraScript : AuraScript
class spell_anubarak_carrion_beetles : AuraScript
{
public override bool Validate(SpellInfo spell)
{
@@ -712,10 +638,4 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Anubarak
OnEffectPeriodic.Add(new EffectPeriodicHandler(HandlePeriodic, 0, AuraType.PeriodicDummy));
}
}
public override AuraScript GetAuraScript()
{
return new spell_anubarak_carrion_beetles_AuraScript();
}
}
}
@@ -98,13 +98,9 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
[Script]
class boss_krik_thir : CreatureScript
class boss_krik_thir : BossAI
{
public boss_krik_thir() : base("boss_krik_thir") { }
class boss_krik_thirAI : BossAI
{
public boss_krik_thirAI(Creature creature) : base(creature, ANDataTypes.KrikthirTheGatewatcher) { }
public boss_krik_thir(Creature creature) : base(creature, ANDataTypes.KrikthirTheGatewatcher) { }
void SummonAdds()
{
@@ -288,12 +284,6 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
byte _watchersActive;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_krik_thirAI>(creature);
}
}
class npc_gatewatcher_petAI : ScriptedAI
{
public npc_gatewatcher_petAI(Creature creature, bool isWatcher) : base(creature)
@@ -399,13 +389,9 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
[Script]
class npc_watcher_gashra : CreatureScript
class npc_watcher_gashra : npc_gatewatcher_petAI
{
public npc_watcher_gashra() : base("npc_watcher_gashra") { }
class npc_watcher_gashraAI : npc_gatewatcher_petAI
{
public npc_watcher_gashraAI(Creature creature) : base(creature, true)
public npc_watcher_gashra(Creature creature) : base(creature, true)
{
_instance = creature.GetInstanceScript();
me.SetReactState(ReactStates.Passive);
@@ -462,20 +448,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_watcher_gashraAI>(creature);
}
}
[Script]
class npc_watcher_narjil : CreatureScript
class npc_watcher_narjil : npc_gatewatcher_petAI
{
public npc_watcher_narjil() : base("npc_watcher_narjil") { }
class npc_watcher_narjilAI : npc_gatewatcher_petAI
{
public npc_watcher_narjilAI(Creature creature) : base(creature, true)
public npc_watcher_narjil(Creature creature) : base(creature, true)
{
_instance = creature.GetInstanceScript();
}
@@ -531,20 +507,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_watcher_narjilAI>(creature);
}
}
[Script]
class npc_watcher_silthik : CreatureScript
class npc_watcher_silthik : npc_gatewatcher_petAI
{
public npc_watcher_silthik() : base("npc_watcher_silthik") { }
class npc_watcher_silthikAI : npc_gatewatcher_petAI
{
public npc_watcher_silthikAI(Creature creature) : base(creature, true)
public npc_watcher_silthik(Creature creature) : base(creature, true)
{
_instance = creature.GetInstanceScript();
}
@@ -600,20 +566,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_watcher_silthikAI>(creature);
}
}
[Script]
class npc_anub_ar_warrior : CreatureScript
class npc_anub_ar_warrior : npc_gatewatcher_petAI
{
public npc_anub_ar_warrior() : base("npc_anub_ar_warrior") { }
class npc_anub_ar_warriorAI : npc_gatewatcher_petAI
{
public npc_anub_ar_warriorAI(Creature creature) : base(creature, false) { }
public npc_anub_ar_warrior(Creature creature) : base(creature, false) { }
public override void Reset()
{
@@ -651,20 +607,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anub_ar_warriorAI>(creature);
}
}
[Script]
class npc_anub_ar_skirmisher : CreatureScript
class npc_anub_ar_skirmisher : npc_gatewatcher_petAI
{
public npc_anub_ar_skirmisher() : base("npc_anub_ar_skirmisher") { }
class npc_anub_ar_skirmisherAI : npc_gatewatcher_petAI
{
public npc_anub_ar_skirmisherAI(Creature creature) : base(creature, false) { }
public npc_anub_ar_skirmisher(Creature creature) : base(creature, false) { }
public override void Reset()
{
@@ -711,20 +657,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anub_ar_skirmisherAI>(creature);
}
}
[Script]
class npc_anub_ar_shadowcaster : CreatureScript
class npc_anub_ar_shadowcaster : npc_gatewatcher_petAI
{
public npc_anub_ar_shadowcaster() : base("npc_anub_ar_shadowcaster") { }
class npc_anub_ar_shadowcasterAI : npc_gatewatcher_petAI
{
public npc_anub_ar_shadowcasterAI(Creature creature) : base(creature, false) { }
public npc_anub_ar_shadowcaster(Creature creature) : base(creature, false) { }
public override void Reset()
{
@@ -764,20 +700,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anub_ar_shadowcasterAI>(creature);
}
}
[Script]
class npc_skittering_swarmer : CreatureScript
class npc_skittering_swarmer : ScriptedAI
{
public npc_skittering_swarmer() : base("npc_skittering_swarmer") { }
class npc_skittering_swarmerAI : ScriptedAI
{
public npc_skittering_swarmerAI(Creature creature) : base(creature) { }
public npc_skittering_swarmer(Creature creature) : base(creature) { }
public override void InitializeAI()
{
@@ -793,20 +719,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_skittering_swarmerAI>(creature);
}
}
[Script]
class npc_skittering_infector : CreatureScript
class npc_skittering_infector : ScriptedAI
{
public npc_skittering_infector() : base("npc_skittering_infector") { }
class npc_skittering_infectorAI : ScriptedAI
{
public npc_skittering_infectorAI(Creature creature) : base(creature) { }
public npc_skittering_infector(Creature creature) : base(creature) { }
public override void InitializeAI()
{
@@ -828,20 +744,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_skittering_infectorAI>(creature);
}
}
[Script]
class npc_gatewatcher_web_wrap : CreatureScript
class npc_gatewatcher_web_wrap : NullCreatureAI
{
public npc_gatewatcher_web_wrap() : base("npc_gatewatcher_web_wrap") { }
class npc_gatewatcher_web_wrapAI : NullCreatureAI
{
public npc_gatewatcher_web_wrapAI(Creature creature) : base(creature) { }
public npc_gatewatcher_web_wrap(Creature creature) : base(creature) { }
public override void JustDied(Unit killer)
{
@@ -855,18 +761,8 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_gatewatcher_web_wrapAI>(creature);
}
}
[Script]
class spell_gatewatcher_subboss_trigger : SpellScriptLoader
{
public spell_gatewatcher_subboss_trigger() : base("spell_gatewatcher_subboss_trigger") { }
class spell_gatewatcher_subboss_trigger_SpellScript : SpellScript
class spell_gatewatcher_subboss_trigger : SpellScript
{
void HandleTargets(List<WorldObject> targetList)
{
@@ -903,18 +799,8 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override SpellScript GetSpellScript()
{
return new spell_gatewatcher_subboss_trigger_SpellScript();
}
}
[Script]
class spell_anub_ar_skirmisher_fixtate : SpellScriptLoader
{
public spell_anub_ar_skirmisher_fixtate() : base("spell_anub_ar_skirmisher_fixtate") { }
class spell_anub_ar_skirmisher_fixtate_SpellScript : SpellScript
class spell_anub_ar_skirmisher_fixtate : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -934,18 +820,8 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override SpellScript GetSpellScript()
{
return new spell_anub_ar_skirmisher_fixtate_SpellScript();
}
}
[Script]
class spell_gatewatcher_web_wrap : SpellScriptLoader
{
public spell_gatewatcher_web_wrap() : base("spell_gatewatcher_web_wrap") { }
class spell_gatewatcher_web_wrap_AuraScript : AuraScript
class spell_gatewatcher_web_wrap : AuraScript
{
public override bool Validate(SpellInfo spell)
{
@@ -968,12 +844,6 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.KrikthirTheGatewatcher
}
}
public override AuraScript GetAuraScript()
{
return new spell_gatewatcher_web_wrap_AuraScript();
}
}
[Script]
class achievement_watch_him_die : AchievementCriteriaScript
{
@@ -176,13 +176,9 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
[Script]
class boss_hadronox : CreatureScript
class boss_hadronox : BossAI
{
public boss_hadronox() : base("boss_hadronox") { }
class boss_hadronoxAI : BossAI
{
public boss_hadronoxAI(Creature creature) : base(creature, ANDataTypes.Hadronox) { }
public boss_hadronox(Creature creature) : base(creature, ANDataTypes.Hadronox) { }
bool IsInCombatWithPlayer()
{
@@ -421,12 +417,6 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
List<ObjectGuid> _anubar = new List<ObjectGuid>();
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_hadronoxAI>(creature);
}
}
class npc_hadronox_crusherPackAI : ScriptedAI
{
public npc_hadronox_crusherPackAI(Creature creature, Position[] positions) : base(creature)
@@ -539,13 +529,9 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
[Script]
class npc_anub_ar_crusher : CreatureScript
class npc_anub_ar_crusher : npc_hadronox_crusherPackAI
{
public npc_anub_ar_crusher() : base("npc_anub_ar_crusher") { }
class npc_anub_ar_crusherAI : npc_hadronox_crusherPackAI
{
public npc_anub_ar_crusherAI(Creature creature) : base(creature, Misc.crusherWaypoints) { }
public npc_anub_ar_crusher(Creature creature) : base(creature, Misc.crusherWaypoints) { }
public override void _EnterCombat()
{
@@ -589,20 +575,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
bool _hadFrenzy;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anub_ar_crusherAI>(creature);
}
}
[Script]
class npc_anub_ar_crusher_champion : CreatureScript
class npc_anub_ar_crusher_champion : npc_hadronox_crusherPackAI
{
public npc_anub_ar_crusher_champion() : base("npc_anub_ar_crusher_champion") { }
class npc_anub_ar_crusher_championAI : npc_hadronox_crusherPackAI
{
public npc_anub_ar_crusher_championAI(Creature creature) : base(creature, Misc.championWaypoints) { }
public npc_anub_ar_crusher_champion(Creature creature) : base(creature, Misc.championWaypoints) { }
public override void _EnterCombat()
{
@@ -620,20 +596,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anub_ar_crusher_championAI>(creature);
}
}
[Script]
class npc_anub_ar_crusher_crypt_fiend : CreatureScript
class npc_anub_ar_crusher_crypt_fiend : npc_hadronox_crusherPackAI
{
public npc_anub_ar_crusher_crypt_fiend() : base("npc_anub_ar_crusher_crypt_fiend") { }
class npc_anub_ar_crusher_crypt_fiendAI : npc_hadronox_crusherPackAI
{
public npc_anub_ar_crusher_crypt_fiendAI(Creature creature) : base(creature, Misc.cryptFiendWaypoints) { }
public npc_anub_ar_crusher_crypt_fiend(Creature creature) : base(creature, Misc.cryptFiendWaypoints) { }
public override void _EnterCombat()
{
@@ -651,20 +617,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anub_ar_crusher_crypt_fiendAI>(creature);
}
}
[Script]
class npc_anub_ar_crusher_necromancer : CreatureScript
class npc_anub_ar_crusher_necromancer : npc_hadronox_crusherPackAI
{
public npc_anub_ar_crusher_necromancer() : base("npc_anub_ar_crusher_necromancer") { }
class npc_anub_ar_crusher_necromancerAI : npc_hadronox_crusherPackAI
{
public npc_anub_ar_crusher_necromancerAI(Creature creature) : base(creature, Misc.necromancerWaypoints) { }
public npc_anub_ar_crusher_necromancer(Creature creature) : base(creature, Misc.necromancerWaypoints) { }
public override void _EnterCombat()
{
@@ -682,12 +638,6 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anub_ar_crusher_necromancerAI>(creature);
}
}
class npc_hadronox_foeAI : ScriptedAI
{
public npc_hadronox_foeAI(Creature creature) : base(creature)
@@ -786,13 +736,9 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
[Script]
class npc_anub_ar_champion : CreatureScript
class npc_anub_ar_champion : npc_hadronox_foeAI
{
public npc_anub_ar_champion() : base("npc_anub_ar_champion") { }
class npc_anub_ar_championAI : npc_hadronox_foeAI
{
public npc_anub_ar_championAI(Creature creature) : base(creature) { }
public npc_anub_ar_champion(Creature creature) : base(creature) { }
public override void EnterCombat(Unit who)
{
@@ -816,20 +762,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anub_ar_championAI>(creature);
}
}
[Script]
class npc_anub_ar_crypt_fiend : CreatureScript
class npc_anub_ar_crypt_fiend : npc_hadronox_foeAI
{
public npc_anub_ar_crypt_fiend() : base("npc_anub_ar_crypt_fiend") { }
class npc_anub_ar_crypt_fiendAI : npc_hadronox_foeAI
{
public npc_anub_ar_crypt_fiendAI(Creature creature) : base(creature) { }
public npc_anub_ar_crypt_fiend(Creature creature) : base(creature) { }
public override void EnterCombat(Unit who)
{
@@ -853,20 +789,10 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_anub_ar_crypt_fiendAI>(creature);
}
}
[Script]
class npc_anub_ar_necromancer : CreatureScript
class npc_anub_ar_necromancer : npc_hadronox_foeAI
{
public npc_anub_ar_necromancer() : base("npc_anub_ar_necromancer") { }
class npc_anub_ar_necromancerAI : npc_hadronox_foeAI
{
public npc_anub_ar_necromancerAI(Creature creature) : base(creature) { }
public npc_anub_ar_necromancer(Creature creature) : base(creature) { }
public override void EnterCombat(Unit who)
{
@@ -890,15 +816,12 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
}
public override CreatureAI GetAI(Creature creature)
[Script("spell_hadronox_periodic_summon_champion", SpellIds.SummonChampionTop, SpellIds.SummonChampionBottom)]
[Script("spell_hadronox_periodic_summon_crypt_fiend", SpellIds.SummonCryptFiendTop, SpellIds.SummonCryptFiendBottom)]
[Script("spell_hadronox_periodic_summon_necromancer", SpellIds.SummonNecromancerTop, SpellIds.SummonNecromancerBottom)]
class spell_hadronox_periodic_summon_template : AuraScript
{
return GetInstanceAI<npc_anub_ar_necromancerAI>(creature);
}
}
class spell_hadronox_periodic_summon_template_AuraScript : AuraScript
{
public spell_hadronox_periodic_summon_template_AuraScript(uint topSpellId, uint bottomSpellId) : base()
public spell_hadronox_periodic_summon_template(uint topSpellId, uint bottomSpellId) : base()
{
_topSpellId = topSpellId;
_bottomSpellId = bottomSpellId;
@@ -946,59 +869,7 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
[Script]
class spell_hadronox_periodic_summon_champion : SpellScriptLoader
{
public spell_hadronox_periodic_summon_champion() : base("spell_hadronox_periodic_summon_champion") { }
class spell_hadronox_periodic_summon_champion_AuraScript : spell_hadronox_periodic_summon_template_AuraScript
{
public spell_hadronox_periodic_summon_champion_AuraScript() : base(SpellIds.SummonChampionTop, SpellIds.SummonChampionBottom) { }
}
public override AuraScript GetAuraScript()
{
return new spell_hadronox_periodic_summon_champion_AuraScript();
}
}
[Script]
class spell_hadronox_periodic_summon_crypt_fiend : SpellScriptLoader
{
public spell_hadronox_periodic_summon_crypt_fiend() : base("spell_hadronox_periodic_summon_crypt_fiend") { }
class spell_hadronox_periodic_summon_crypt_fiend_AuraScript : spell_hadronox_periodic_summon_template_AuraScript
{
public spell_hadronox_periodic_summon_crypt_fiend_AuraScript() : base(SpellIds.SummonCryptFiendTop, SpellIds.SummonCryptFiendBottom) { }
}
public override AuraScript GetAuraScript()
{
return new spell_hadronox_periodic_summon_crypt_fiend_AuraScript();
}
}
[Script]
class spell_hadronox_periodic_summon_necromancer : SpellScriptLoader
{
public spell_hadronox_periodic_summon_necromancer() : base("spell_hadronox_periodic_summon_necromancer") { }
class spell_hadronox_periodic_summon_necromancer_AuraScript : spell_hadronox_periodic_summon_template_AuraScript
{
public spell_hadronox_periodic_summon_necromancer_AuraScript() : base(SpellIds.SummonNecromancerTop, SpellIds.SummonNecromancerBottom) { }
}
public override AuraScript GetAuraScript()
{
return new spell_hadronox_periodic_summon_necromancer_AuraScript();
}
}
[Script]
class spell_hadronox_leeching_poison : SpellScriptLoader
{
public spell_hadronox_leeching_poison() : base("spell_hadronox_leeching_poison") { }
class spell_hadronox_leeching_poison_AuraScript : AuraScript
class spell_hadronox_leeching_poison : AuraScript
{
public override bool Validate(SpellInfo spell)
{
@@ -1024,18 +895,8 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
}
public override AuraScript GetAuraScript()
{
return new spell_hadronox_leeching_poison_AuraScript();
}
}
[Script]
class spell_hadronox_web_doors : SpellScriptLoader
{
public spell_hadronox_web_doors() : base("spell_hadronox_web_doors") { }
class spell_hadronox_web_doors_SpellScript : SpellScript
class spell_hadronox_web_doors : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -1059,12 +920,6 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub.Nadronox
}
}
public override SpellScript GetSpellScript()
{
return new spell_hadronox_web_doors_SpellScript();
}
}
[Script]
class achievement_hadronox_denied : AchievementCriteriaScript
{
@@ -22,41 +22,6 @@ using Game.Scripting;
namespace Scripts.Northrend.AzjolNerub.AzjolNerub
{
[Script]
class instance_azjol_nerub : InstanceMapScript
{
public instance_azjol_nerub() : base(nameof(instance_azjol_nerub), 601) { }
class instance_azjol_nerub_InstanceScript : InstanceScript
{
public instance_azjol_nerub_InstanceScript(Map map) : base(map)
{
SetHeaders(ANInstanceMisc.DataHeader);
SetBossNumber(ANInstanceMisc.EncounterCount);
LoadBossBoundaries(ANInstanceMisc.boundaries);
LoadDoorData(ANInstanceMisc.doorData);
LoadObjectData(ANInstanceMisc.creatureData, ANInstanceMisc.gameobjectData);
}
public override void OnUnitDeath(Unit who)
{
base.OnUnitDeath(who);
Creature creature = who.ToCreature();
if (!creature || creature.IsCritter() || creature.IsControlledByPlayer())
return;
Creature gatewatcher = GetCreature(ANDataTypes.KrikthirTheGatewatcher);
if (gatewatcher)
gatewatcher.GetAI().DoAction(-ANInstanceMisc.ActionGatewatcherGreet);
}
}
public override InstanceScript GetInstanceScript(InstanceMap map)
{
return new instance_azjol_nerub_InstanceScript(map);
}
}
struct ANDataTypes
{
// Encounter States/Boss Guids
@@ -128,4 +93,39 @@ namespace Scripts.Northrend.AzjolNerub.AzjolNerub
new BossBoundaryEntry(ANDataTypes.Anubarak, new CircleBoundary(new Position(550.6178f, 253.5917f), 26.0f))
};
}
[Script]
class instance_azjol_nerub : InstanceMapScript
{
public instance_azjol_nerub() : base(nameof(instance_azjol_nerub), 601) { }
class instance_azjol_nerub_InstanceScript : InstanceScript
{
public instance_azjol_nerub_InstanceScript(Map map) : base(map)
{
SetHeaders(ANInstanceMisc.DataHeader);
SetBossNumber(ANInstanceMisc.EncounterCount);
LoadBossBoundaries(ANInstanceMisc.boundaries);
LoadDoorData(ANInstanceMisc.doorData);
LoadObjectData(ANInstanceMisc.creatureData, ANInstanceMisc.gameobjectData);
}
public override void OnUnitDeath(Unit who)
{
base.OnUnitDeath(who);
Creature creature = who.ToCreature();
if (!creature || creature.IsCritter() || creature.IsControlledByPlayer())
return;
Creature gatewatcher = GetCreature(ANDataTypes.KrikthirTheGatewatcher);
if (gatewatcher)
gatewatcher.GetAI().DoAction(-ANInstanceMisc.ActionGatewatcherGreet);
}
}
public override InstanceScript GetInstanceScript(InstanceMap map)
{
return new instance_azjol_nerub_InstanceScript(map);
}
}
}
@@ -71,33 +71,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
public const uint POISON_BOTTLE = 67701;
}
/*
struct Point
{
float x, y, z;
}
const Point MovementPoint[] =
{
{746.84f, 623.15f, 411.41f},
{747.96f, 620.29f, 411.09f},
{750.23f, 618.35f, 411.09f}
}
*/
/*
* Generic AI for vehicles used by npcs in ToC, it needs more improvements. *
* Script Complete: 25%. *
*/
[Script]
class generic_vehicleAI_toc5 : CreatureScript
class generic_vehicleAI_toc5 : npc_escortAI
{
public generic_vehicleAI_toc5() : base("generic_vehicleAI_toc5") { }
class generic_vehicleAI_toc5AI : npc_escortAI
{
public generic_vehicleAI_toc5AI(Creature creature) : base(creature)
public generic_vehicleAI_toc5(Creature creature) : base(creature)
{
Initialize();
SetDespawnAtEnd(false);
@@ -250,60 +227,6 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
uint uiWaypointPath;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<generic_vehicleAI_toc5AI>(creature);
}
public static void AggroAllPlayers(Creature temp)
{
var PlList = temp.GetMap().GetPlayers();
if (PlList.Empty())
return;
foreach (var player in PlList)
{
if (player)
{
if (player.IsGameMaster())
continue;
if (player.IsAlive())
{
temp.RemoveFlag(UnitFields.Flags, UnitFlags.NonAttackable | UnitFlags.ImmuneToPc);
temp.SetReactState(ReactStates.Aggressive);
temp.SetInCombatWith(player);
player.SetInCombatWith(temp);
temp.AddThreat(player, 0.0f);
}
}
}
}
public static bool GrandChampionsOutVehicle(Creature me)
{
InstanceScript instance = me.GetInstanceScript();
if (instance == null)
return false;
Creature pGrandChampion1 = ObjectAccessor.GetCreature(me, instance.GetGuidData((uint)Data64.DATA_GRAND_CHAMPION_1));
Creature pGrandChampion2 = ObjectAccessor.GetCreature(me, instance.GetGuidData((uint)Data64.DATA_GRAND_CHAMPION_2));
Creature pGrandChampion3 = ObjectAccessor.GetCreature(me, instance.GetGuidData((uint)Data64.DATA_GRAND_CHAMPION_3));
if (pGrandChampion1 && pGrandChampion2 && pGrandChampion3)
{
if (pGrandChampion1.m_movementInfo.transport.guid.IsEmpty() &&
pGrandChampion2.m_movementInfo.transport.guid.IsEmpty() &&
pGrandChampion3.m_movementInfo.transport.guid.IsEmpty())
return true;
}
return false;
}
}
abstract class boss_basic_toc5AI : ScriptedAI
{
public boss_basic_toc5AI(Creature creature) : base(creature)
@@ -349,7 +272,7 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
public override void UpdateAI(uint diff)
{
if (!bDone && generic_vehicleAI_toc5.GrandChampionsOutVehicle(me))
if (!bDone && GrandChampionsOutVehicle(me))
{
bDone = true;
@@ -368,7 +291,7 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
{
if (uiPhase == 1)
{
generic_vehicleAI_toc5.AggroAllPlayers(me);
AggroAllPlayers(me);
uiPhase = 0;
}
}
@@ -381,6 +304,54 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
return !me.m_movementInfo.transport.guid.IsEmpty();
}
void AggroAllPlayers(Creature temp)
{
var PlList = temp.GetMap().GetPlayers();
if (PlList.Empty())
return;
foreach (var player in PlList)
{
if (player)
{
if (player.IsGameMaster())
continue;
if (player.IsAlive())
{
temp.RemoveFlag(UnitFields.Flags, UnitFlags.NonAttackable | UnitFlags.ImmuneToPc);
temp.SetReactState(ReactStates.Aggressive);
temp.SetInCombatWith(player);
player.SetInCombatWith(temp);
temp.AddThreat(player, 0.0f);
}
}
}
}
bool GrandChampionsOutVehicle(Creature me)
{
InstanceScript instance = me.GetInstanceScript();
if (instance == null)
return false;
Creature pGrandChampion1 = ObjectAccessor.GetCreature(me, instance.GetGuidData((uint)Data64.DATA_GRAND_CHAMPION_1));
Creature pGrandChampion2 = ObjectAccessor.GetCreature(me, instance.GetGuidData((uint)Data64.DATA_GRAND_CHAMPION_2));
Creature pGrandChampion3 = ObjectAccessor.GetCreature(me, instance.GetGuidData((uint)Data64.DATA_GRAND_CHAMPION_3));
if (pGrandChampion1 && pGrandChampion2 && pGrandChampion3)
{
if (pGrandChampion1.m_movementInfo.transport.guid.IsEmpty() &&
pGrandChampion2.m_movementInfo.transport.guid.IsEmpty() &&
pGrandChampion3.m_movementInfo.transport.guid.IsEmpty())
return true;
}
return false;
}
public TaskScheduler NonCombatEvents = new TaskScheduler();
public InstanceScript instance;
@@ -393,14 +364,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
}
[Script]
class boss_warrior_toc5 : CreatureScript
{
public boss_warrior_toc5() : base("boss_warrior_toc5") { }
// Marshal Jacob Alerius && Mokra the Skullcrusher || Warrior
class boss_warrior_toc5AI : boss_basic_toc5AI
class boss_warrior_toc5 : boss_basic_toc5AI
{
public boss_warrior_toc5AI(Creature creature) : base(creature) { }
public boss_warrior_toc5(Creature creature) : base(creature) { }
public override void Initialize()
{
@@ -450,21 +417,11 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_warrior_toc5AI>(creature);
}
}
[Script]
class boss_mage_toc5 : CreatureScript
{
public boss_mage_toc5() : base("boss_mage_toc5") { }
// Ambrose Boltspark && Eressea Dawnsinger || Mage
class boss_mage_toc5AI : boss_basic_toc5AI
class boss_mage_toc5 : boss_basic_toc5AI
{
public boss_mage_toc5AI(Creature creature) : base(creature) { }
public boss_mage_toc5(Creature creature) : base(creature) { }
public override void Initialize()
{
@@ -510,21 +467,11 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_mage_toc5AI>(creature);
}
}
[Script]
class boss_shaman_toc5 : CreatureScript
{
public boss_shaman_toc5() : base("boss_shaman_toc5") { }
// Colosos && Runok Wildmane || Shaman
class boss_shaman_toc5AI : boss_basic_toc5AI
class boss_shaman_toc5 : boss_basic_toc5AI
{
public boss_shaman_toc5AI(Creature creature) : base(creature) { }
public boss_shaman_toc5(Creature creature) : base(creature) { }
public override void Initialize()
{
@@ -585,21 +532,11 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_shaman_toc5AI>(creature);
}
}
[Script]
class boss_hunter_toc5 : CreatureScript
{
public boss_hunter_toc5() : base("boss_hunter_toc5") { }
// Jaelyne Evensong && Zul'tore || Hunter
class boss_hunter_toc5AI : boss_basic_toc5AI
class boss_hunter_toc5 : boss_basic_toc5AI
{
public boss_hunter_toc5AI(Creature creature) : base(creature) { }
public boss_hunter_toc5(Creature creature) : base(creature) { }
public override void Initialize()
{
@@ -666,21 +603,11 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_hunter_toc5AI>(creature);
}
}
[Script]
class boss_rouge_toc5 : CreatureScript
{
public boss_rouge_toc5() : base("boss_rouge_toc5") { }
// Lana Stouthammer Evensong && Deathstalker Visceri || Rouge
class boss_rouge_toc5AI : boss_basic_toc5AI
class boss_rouge_toc5 : boss_basic_toc5AI
{
public boss_rouge_toc5AI(Creature creature) : base(creature) { }
public boss_rouge_toc5(Creature creature) : base(creature) { }
public override void Initialize()
{
@@ -720,10 +647,4 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
DoMeleeAttackIfReady();
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_rouge_toc5AI>(creature);
}
}
}
@@ -24,6 +24,7 @@ using Game.Scripting;
using System;
using System.Collections.Generic;
using System.Linq;
using Game.AI;
namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
{
@@ -32,11 +33,6 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
{
public instance_trial_of_the_champion() : base("instance_trial_of_the_champion", 650) { }
public override InstanceScript GetInstanceScript(InstanceMap map)
{
return new instance_trial_of_the_champion_InstanceMapScript(map);
}
class instance_trial_of_the_champion_InstanceMapScript : InstanceScript
{
public instance_trial_of_the_champion_InstanceMapScript(Map map) : base(map)
@@ -329,5 +325,15 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
//bool bDone;
}
public override InstanceScript GetInstanceScript(InstanceMap map)
{
return new instance_trial_of_the_champion_InstanceMapScript(map);
}
public static T GetTrialOfTheChampionAI<T>(Creature creature) where T : CreatureAI
{
return GetInstanceAI<T>(creature, "instance_trial_of_the_champion");
}
}
}
@@ -223,7 +223,8 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
if (summon)
AggroAllPlayers(summon);
}
} else if (uiLesserChampions == 9)
}
else if (uiLesserChampions == 9)
StartGrandChampionsAttack();
break;
@@ -542,11 +543,6 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
Position SpawnPosition = new Position(746.261f, 657.401f, 411.681f, 4.65f);
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_announcer_toc5AI>(creature);
}
public override bool OnGossipHello(Player player, Creature creature)
{
InstanceScript instance = creature.GetInstanceScript();
@@ -583,5 +579,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheChampion
return true;
}
public override CreatureAI GetAI(Creature creature)
{
return instance_trial_of_the_champion.GetTrialOfTheChampionAI<npc_announcer_toc5AI>(creature);
}
}
}
@@ -85,14 +85,9 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
}
[Script]
class boss_jaraxxus : CreatureScript
class boss_jaraxxus : BossAI
{
public
boss_jaraxxus() : base("boss_jaraxxus") { }
class boss_jaraxxusAI : BossAI
{
public boss_jaraxxusAI(Creature creature) : base(creature, DataTypes.BossJaraxxus) { }
public boss_jaraxxus(Creature creature) : base(creature, DataTypes.BossJaraxxus) { }
public override void Reset()
{
@@ -212,20 +207,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_jaraxxusAI>(creature);
}
}
[Script]
class npc_legion_flame : CreatureScript
class npc_legion_flame : ScriptedAI
{
public npc_legion_flame() : base("npc_legion_flame") { }
class npc_legion_flameAI : ScriptedAI
{
public npc_legion_flameAI(Creature creature) : base(creature)
public npc_legion_flame(Creature creature) : base(creature)
{
SetCombatMovement(false);
_instance = creature.GetInstanceScript();
@@ -248,20 +233,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
InstanceScript _instance;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_legion_flameAI>(creature);
}
}
[Script]
class npc_infernal_volcano : CreatureScript
class npc_infernal_volcano : ScriptedAI
{
public npc_infernal_volcano() : base("npc_infernal_volcano") { }
class npc_infernal_volcanoAI : ScriptedAI
{
public npc_infernal_volcanoAI(Creature creature) : base(creature)
public npc_infernal_volcano(Creature creature) : base(creature)
{
_summons = new SummonList(me);
SetCombatMovement(false);
@@ -302,20 +277,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
SummonList _summons;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_infernal_volcanoAI(creature);
}
}
[Script]
class npc_fel_infernal : CreatureScript
class npc_fel_infernal : ScriptedAI
{
public npc_fel_infernal() : base("npc_fel_infernal") { }
class npc_fel_infernalAI : ScriptedAI
{
public npc_fel_infernalAI(Creature creature) : base(creature)
public npc_fel_infernal(Creature creature) : base(creature)
{
_instance = creature.GetInstanceScript();
}
@@ -354,20 +319,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
InstanceScript _instance;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_fel_infernalAI>(creature);
}
}
[Script]
class npc_nether_portal : CreatureScript
class npc_nether_portal : ScriptedAI
{
public npc_nether_portal() : base("npc_nether_portal") { }
class npc_nether_portalAI : ScriptedAI
{
public npc_nether_portalAI(Creature creature) : base(creature)
public npc_nether_portal(Creature creature) : base(creature)
{
_summons = new SummonList(me);
}
@@ -407,20 +362,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
SummonList _summons;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_nether_portalAI(creature);
}
}
[Script]
class npc_mistress_of_pain : CreatureScript
class npc_mistress_of_pain : ScriptedAI
{
public npc_mistress_of_pain() : base("npc_mistress_of_pain") { }
class npc_mistress_of_painAI : ScriptedAI
{
public npc_mistress_of_painAI(Creature creature) : base(creature)
public npc_mistress_of_pain(Creature creature) : base(creature)
{
_instance = creature.GetInstanceScript();
_instance.SetData(DataTypes.MistressOfPainCount, DataTypes.Increase);
@@ -485,18 +430,8 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
InstanceScript _instance;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_mistress_of_painAI>(creature);
}
}
[Script]
class spell_mistress_kiss : SpellScriptLoader
{
public spell_mistress_kiss() : base("spell_mistress_kiss") { }
class spell_mistress_kiss_AuraScript : AuraScript
class spell_mistress_kiss : AuraScript
{
public override bool Load()
{
@@ -523,18 +458,8 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
}
}
public override AuraScript GetAuraScript()
{
return new spell_mistress_kiss_AuraScript();
}
}
[Script]
class spell_mistress_kiss_area : SpellScriptLoader
{
public spell_mistress_kiss_area() : base("spell_mistress_kiss_area") { }
class spell_mistress_kiss_area_SpellScript : SpellScript
class spell_mistress_kiss_area : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -559,10 +484,4 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.ScriptEffect));
}
}
public override SpellScript GetSpellScript()
{
return new spell_mistress_kiss_area_SpellScript();
}
}
}
@@ -127,13 +127,9 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
}
[Script]
class boss_gormok : CreatureScript
class boss_gormok : BossAI
{
public boss_gormok() : base("boss_gormok") { }
class boss_gormokAI : BossAI
{
public boss_gormokAI(Creature creature) : base(creature, DataTypes.BossBeasts) { }
public boss_gormok(Creature creature) : base(creature, DataTypes.BossBeasts) { }
public override void Reset()
{
@@ -261,20 +257,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_gormokAI>(creature);
}
}
[Script]
class npc_snobold_vassal : CreatureScript
class npc_snobold_vassal : ScriptedAI
{
public npc_snobold_vassal() : base("npc_snobold_vassal") { }
class npc_snobold_vassalAI : ScriptedAI
{
public npc_snobold_vassalAI(Creature creature) : base(creature)
public npc_snobold_vassal(Creature creature) : base(creature)
{
_targetDied = false;
_instance = creature.GetInstanceScript();
@@ -428,20 +414,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
bool _targetDied;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_snobold_vassalAI>(creature);
}
}
[Script]
class npc_firebomb : CreatureScript
class npc_firebomb : ScriptedAI
{
public npc_firebomb() : base("npc_firebomb") { }
class npc_firebombAI : ScriptedAI
{
public npc_firebombAI(Creature creature) : base(creature)
public npc_firebomb(Creature creature) : base(creature)
{
_instance = creature.GetInstanceScript();
}
@@ -463,20 +439,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
InstanceScript _instance;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_firebombAI>(creature);
}
}
[Script]
class boss_acidmaw : CreatureScript
public class boss_acidmaw : boss_jormungarAI
{
public boss_acidmaw() : base("boss_acidmaw") { }
public class boss_acidmawAI : boss_jormungarAI
{
public boss_acidmawAI(Creature creature) : base(creature) { }
public boss_acidmaw(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -494,20 +460,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_acidmawAI>(creature);
}
}
[Script]
class boss_dreadscale : CreatureScript
public class boss_dreadscale : boss_jormungarAI
{
public boss_dreadscale() : base("boss_dreadscale") { }
public class boss_dreadscaleAI : boss_jormungarAI
{
public boss_dreadscaleAI(Creature creature) : base(creature)
public boss_dreadscale(Creature creature) : base(creature)
{
}
@@ -560,20 +516,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_dreadscaleAI>(creature);
}
}
[Script]
class npc_slime_pool : CreatureScript
class npc_slime_pool : ScriptedAI
{
public npc_slime_pool() : base("npc_slime_pool") { }
class npc_slime_poolAI : ScriptedAI
{
public npc_slime_poolAI(Creature creature) : base(creature)
public npc_slime_pool(Creature creature) : base(creature)
{
_instance = creature.GetInstanceScript();
}
@@ -601,18 +547,8 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_slime_poolAI>(creature);
}
}
[Script]
class spell_gormok_fire_bomb : SpellScriptLoader
{
public spell_gormok_fire_bomb() : base("spell_gormok_fire_bomb") { }
class spell_gormok_fire_bomb_SpellScript : SpellScript
class spell_gormok_fire_bomb : SpellScript
{
void TriggerFireBomb(uint effIndex)
{
@@ -631,20 +567,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
}
}
public override SpellScript GetSpellScript()
{
return new spell_gormok_fire_bomb_SpellScript();
}
}
[Script]
class boss_icehowl : CreatureScript
class boss_icehowl : BossAI
{
public boss_icehowl() : base("boss_icehowl") { }
class boss_icehowlAI : BossAI
{
public boss_icehowlAI(Creature creature) : base(creature, DataTypes.BossBeasts) { }
public boss_icehowl(Creature creature) : base(creature, DataTypes.BossBeasts) { }
public override void Reset()
{
@@ -912,13 +838,7 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
byte _stage;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_icehowlAI>(creature);
}
}
class boss_jormungarAI : BossAI
public class boss_jormungarAI : BossAI
{
public boss_jormungarAI(Creature creature) : base(creature, DataTypes.BossBeasts) { }
@@ -770,6 +770,12 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
{
return new instance_trial_of_the_crusader_InstanceMapScript(map);
}
public static T GetTrialOfTheCrusaderAI<T>(Creature creature) where T : CreatureAI
{
return GetInstanceAI<T>(creature, "instance_trial_of_the_crusader");
}
}
[Script]
@@ -779,9 +785,7 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
class npc_announcer_toc10AI : ScriptedAI
{
public npc_announcer_toc10AI(Creature creature) : base(creature)
{
}
public npc_announcer_toc10AI(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -895,18 +899,14 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
public override CreatureAI GetAI(Creature creature)
{
return new npc_announcer_toc10AI(creature);
return instance_trial_of_the_crusader.GetTrialOfTheCrusaderAI<npc_announcer_toc10AI>(creature);
}
}
[Script]
class boss_lich_king_toc : CreatureScript
class boss_lich_king_toc : ScriptedAI
{
public boss_lich_king_toc() : base("boss_lich_king_toc") { }
class boss_lich_king_tocAI : ScriptedAI
{
public boss_lich_king_tocAI(Creature creature) : base(creature)
public boss_lich_king_toc(Creature creature) : base(creature)
{
_instance = creature.GetInstanceScript();
}
@@ -1029,20 +1029,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
uint _updateTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_lich_king_tocAI>(creature);
}
}
[Script]
class npc_fizzlebang_toc : CreatureScript
class npc_fizzlebang_toc : ScriptedAI
{
public npc_fizzlebang_toc() : base("npc_fizzlebang_toc") { }
class npc_fizzlebang_tocAI : ScriptedAI
{
public npc_fizzlebang_tocAI(Creature creature) : base(creature)
public npc_fizzlebang_toc(Creature creature) : base(creature)
{
_summons = new SummonList(me);
_instance = me.GetInstanceScript();
@@ -1223,20 +1213,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
ObjectGuid _triggerGUID;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_fizzlebang_tocAI>(creature);
}
}
[Script]
class npc_tirion_toc : CreatureScript
class npc_tirion_toc : ScriptedAI
{
public npc_tirion_toc() : base("npc_tirion_toc") { }
class npc_tirion_tocAI : ScriptedAI
{
public npc_tirion_tocAI(Creature creature) : base(creature)
public npc_tirion_toc(Creature creature) : base(creature)
{
_instance = me.GetInstanceScript();
}
@@ -1543,20 +1523,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
uint _updateTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_tirion_tocAI>(creature);
}
}
[Script]
class npc_garrosh_toc : CreatureScript
class npc_garrosh_toc : ScriptedAI
{
public npc_garrosh_toc() : base("npc_garrosh_toc") { }
class npc_garrosh_tocAI : ScriptedAI
{
public npc_garrosh_tocAI(Creature creature) : base(creature)
public npc_garrosh_toc(Creature creature) : base(creature)
{
_instance = me.GetInstanceScript();
}
@@ -1627,20 +1597,10 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
uint _updateTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_garrosh_tocAI>(creature);
}
}
[Script]
class npc_varian_toc : CreatureScript
class npc_varian_toc : ScriptedAI
{
public npc_varian_toc() : base("npc_varian_toc") { }
class npc_varian_tocAI : ScriptedAI
{
public npc_varian_tocAI(Creature creature) : base(creature)
public npc_varian_toc(Creature creature) : base(creature)
{
_instance = me.GetInstanceScript();
}
@@ -1710,10 +1670,4 @@ namespace Scripts.Northrend.CrusadersColiseum.TrialOfTheCrusader
InstanceScript _instance;
uint _updateTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_varian_tocAI>(creature);
}
}
}
+4 -24
View File
@@ -55,13 +55,9 @@ namespace Scripts.Northrend
}
[Script]
class npc_mageguard_dalaran : CreatureScript
class npc_mageguard_dalaran : ScriptedAI
{
public npc_mageguard_dalaran() : base("npc_mageguard_dalaran") { }
class npc_mageguard_dalaranAI : ScriptedAI
{
public npc_mageguard_dalaranAI(Creature creature) : base(creature)
public npc_mageguard_dalaran(Creature creature) : base(creature)
{
creature.SetFlag(UnitFields.Flags, UnitFlags.NonAttackable);
creature.ApplySpellImmune(0, SpellImmunity.Damage, SpellSchools.Normal, true);
@@ -124,20 +120,10 @@ namespace Scripts.Northrend
public override void UpdateAI(uint diff) { }
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_mageguard_dalaranAI(creature);
}
}
[Script]
class npc_minigob_manabonk : CreatureScript
class npc_minigob_manabonk : ScriptedAI
{
public npc_minigob_manabonk() : base("npc_minigob_manabonk") { }
class npc_minigob_manabonkAI : ScriptedAI
{
public npc_minigob_manabonkAI(Creature creature) : base(creature)
public npc_minigob_manabonk(Creature creature) : base(creature)
{
me.setActive(true);
}
@@ -214,10 +200,4 @@ namespace Scripts.Northrend
});
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_minigob_manabonkAI(creature);
}
}
}
@@ -43,13 +43,9 @@ namespace Scripts.Northrend.DraktharonKeep.KingDred
}
[Script]
class boss_king_dred : CreatureScript
class boss_king_dred : BossAI
{
public boss_king_dred() : base("boss_king_dred") { }
class boss_king_dredAI : BossAI
{
public boss_king_dredAI(Creature creature) : base(creature, DTKDataTypes.KingDred)
public boss_king_dred(Creature creature) : base(creature, DTKDataTypes.KingDred)
{
Initialize();
}
@@ -147,20 +143,10 @@ namespace Scripts.Northrend.DraktharonKeep.KingDred
byte raptorsKilled;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_king_dredAI>(creature);
}
}
[Script]
class npc_drakkari_gutripper : CreatureScript
class npc_drakkari_gutripper : ScriptedAI
{
public npc_drakkari_gutripper() : base("npc_drakkari_gutripper") { }
class npc_drakkari_gutripperAI : ScriptedAI
{
public npc_drakkari_gutripperAI(Creature creature) : base(creature)
public npc_drakkari_gutripper(Creature creature) : base(creature)
{
Initialize();
instance = me.GetInstanceScript();
@@ -200,20 +186,10 @@ namespace Scripts.Northrend.DraktharonKeep.KingDred
InstanceScript instance;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_drakkari_gutripperAI>(creature);
}
}
[Script]
class npc_drakkari_scytheclaw : CreatureScript
class npc_drakkari_scytheclaw : ScriptedAI
{
public npc_drakkari_scytheclaw() : base("npc_drakkari_scytheclaw") { }
class npc_drakkari_scytheclawAI : ScriptedAI
{
public npc_drakkari_scytheclawAI(Creature creature) : base(creature)
public npc_drakkari_scytheclaw(Creature creature) : base(creature)
{
Initialize();
instance = me.GetInstanceScript();
@@ -254,12 +230,6 @@ namespace Scripts.Northrend.DraktharonKeep.KingDred
InstanceScript instance;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_drakkari_scytheclawAI>(creature);
}
}
[Script]
class achievement_king_dred : AchievementCriteriaScript
{
+5 -35
View File
@@ -98,13 +98,9 @@ namespace Scripts.Northrend.DraktharonKeep.Novos
}
[Script]
class boss_novos : CreatureScript
class boss_novos : BossAI
{
public boss_novos() : base("boss_novos") { }
class boss_novosAI : BossAI
{
public boss_novosAI(Creature creature) : base(creature, DTKDataTypes.Novos)
public boss_novos(Creature creature) : base(creature, DTKDataTypes.Novos)
{
Initialize();
_bubbled = false;
@@ -297,20 +293,10 @@ namespace Scripts.Northrend.DraktharonKeep.Novos
bool _bubbled;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_novosAI>(creature);
}
}
[Script]
class npc_crystal_channel_target : CreatureScript
class npc_crystal_channel_target : ScriptedAI
{
public npc_crystal_channel_target() : base("npc_crystal_channel_target") { }
class npc_crystal_channel_targetAI : ScriptedAI
{
public npc_crystal_channel_targetAI(Creature creature) : base(creature) { }
public npc_crystal_channel_target(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -391,12 +377,6 @@ namespace Scripts.Northrend.DraktharonKeep.Novos
uint _crystalHandlerCount;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_crystal_channel_targetAI>(creature);
}
}
[Script]
class achievement_oh_novos : AchievementCriteriaScript
{
@@ -409,11 +389,7 @@ namespace Scripts.Northrend.DraktharonKeep.Novos
}
[Script]
class spell_novos_summon_minions : SpellScriptLoader
{
public spell_novos_summon_minions() : base("spell_novos_summon_minions") { }
class spell_novos_summon_minions_SpellScript : SpellScript
class spell_novos_summon_minions : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -431,10 +407,4 @@ namespace Scripts.Northrend.DraktharonKeep.Novos
OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.ScriptEffect));
}
}
public override SpellScript GetSpellScript()
{
return new spell_novos_summon_minions_SpellScript();
}
}
}
@@ -74,13 +74,9 @@ namespace Scripts.Northrend.DraktharonKeep.TharonJa
}
[Script]
class boss_tharon_ja : CreatureScript
class boss_tharon_ja : BossAI
{
public boss_tharon_ja() : base("boss_tharon_ja") { }
class boss_tharon_jaAI : BossAI
{
public boss_tharon_jaAI(Creature creature) : base(creature, DTKDataTypes.TharonJa) { }
public boss_tharon_ja(Creature creature) : base(creature, DTKDataTypes.TharonJa) { }
public override void Reset()
{
@@ -212,18 +208,8 @@ namespace Scripts.Northrend.DraktharonKeep.TharonJa
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_tharon_jaAI>(creature);
}
}
[Script]
class spell_tharon_ja_clear_gift_of_tharon_ja : SpellScriptLoader
{
public spell_tharon_ja_clear_gift_of_tharon_ja() : base("spell_tharon_ja_clear_gift_of_tharon_ja") { }
class spell_tharon_ja_clear_gift_of_tharon_ja_SpellScript : SpellScript
class spell_tharon_ja_clear_gift_of_tharon_ja : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -242,10 +228,4 @@ namespace Scripts.Northrend.DraktharonKeep.TharonJa
OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.ScriptEffect));
}
}
public override SpellScript GetSpellScript()
{
return new spell_tharon_ja_clear_gift_of_tharon_ja_SpellScript();
}
}
}
@@ -59,13 +59,9 @@ namespace Scripts.Northrend.DraktharonKeep.Trollgore
}
[Script]
class boss_trollgore : CreatureScript
class boss_trollgore : BossAI
{
public boss_trollgore() : base("boss_trollgore") { }
class boss_trollgoreAI : BossAI
{
public boss_trollgoreAI(Creature creature) : base(creature, DTKDataTypes.Trollgore)
public boss_trollgore(Creature creature) : base(creature, DTKDataTypes.Trollgore)
{
Initialize();
}
@@ -176,20 +172,10 @@ namespace Scripts.Northrend.DraktharonKeep.Trollgore
bool _consumptionJunction;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_trollgoreAI>(creature);
}
}
[Script]
class npc_drakkari_invader : CreatureScript
class npc_drakkari_invader : ScriptedAI
{
public npc_drakkari_invader() : base("npc_drakkari_invader") { }
class npc_drakkari_invaderAI : ScriptedAI
{
public npc_drakkari_invaderAI(Creature creature) : base(creature) { }
public npc_drakkari_invader(Creature creature) : base(creature) { }
public override void MovementInform(MovementGeneratorType type, uint pointId)
{
@@ -202,18 +188,8 @@ namespace Scripts.Northrend.DraktharonKeep.Trollgore
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_drakkari_invaderAI>(creature);
}
}
[Script] // 49380, 59803 - Consume
class spell_trollgore_consume : SpellScriptLoader
{
public spell_trollgore_consume() : base("spell_trollgore_consume") { }
class spell_trollgore_consume_SpellScript : SpellScript
class spell_trollgore_consume : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -233,18 +209,8 @@ namespace Scripts.Northrend.DraktharonKeep.Trollgore
}
}
public override SpellScript GetSpellScript()
{
return new spell_trollgore_consume_SpellScript();
}
}
[Script] // 49555, 59807 - Corpse Explode
class spell_trollgore_corpse_explode : SpellScriptLoader
{
public spell_trollgore_corpse_explode() : base("spell_trollgore_corpse_explode") { }
class spell_trollgore_corpse_explode_AuraScript : AuraScript
class spell_trollgore_corpse_explode : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -275,18 +241,8 @@ namespace Scripts.Northrend.DraktharonKeep.Trollgore
}
}
public override AuraScript GetAuraScript()
{
return new spell_trollgore_corpse_explode_AuraScript();
}
}
[Script] // 49405 - Invader Taunt Trigger
class spell_trollgore_invader_taunt : SpellScriptLoader
{
public spell_trollgore_invader_taunt() : base("spell_trollgore_invader_taunt") { }
class spell_trollgore_invader_taunt_SpellScript : SpellScript
class spell_trollgore_invader_taunt : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -306,12 +262,6 @@ namespace Scripts.Northrend.DraktharonKeep.Trollgore
}
}
public override SpellScript GetSpellScript()
{
return new spell_trollgore_invader_taunt_SpellScript();
}
}
[Script]
class achievement_consumption_junction : AchievementCriteriaScript
{
@@ -66,13 +66,9 @@ namespace Scripts.Northrend.Gundrak.DrakkariColossus
}
[Script]
class boss_drakkari_colossus : CreatureScript
class boss_drakkari_colossus : BossAI
{
public boss_drakkari_colossus() : base("boss_drakkari_colossus") { }
class boss_drakkari_colossusAI : BossAI
{
public boss_drakkari_colossusAI(Creature creature) : base(creature, GDDataTypes.DrakkariColossus)
public boss_drakkari_colossus(Creature creature) : base(creature, GDDataTypes.DrakkariColossus)
{
Initialize();
me.SetReactState(ReactStates.Passive);
@@ -208,20 +204,10 @@ namespace Scripts.Northrend.Gundrak.DrakkariColossus
bool introDone;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_drakkari_colossusAI>(creature);
}
}
[Script]
class boss_drakkari_elemental : CreatureScript
class boss_drakkari_elemental : ScriptedAI
{
public boss_drakkari_elemental() : base("boss_drakkari_elemental") { }
class boss_drakkari_elementalAI : ScriptedAI
{
public boss_drakkari_elementalAI(Creature creature) : base(creature)
public boss_drakkari_elemental(Creature creature) : base(creature)
{
DoCast(me, SpellIds.ElementalSpawnEffect);
instance = creature.GetInstanceScript();
@@ -333,20 +319,10 @@ namespace Scripts.Northrend.Gundrak.DrakkariColossus
InstanceScript instance;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_drakkari_elementalAI>(creature);
}
}
[Script]
class npc_living_mojo : CreatureScript
class npc_living_mojo : ScriptedAI
{
public npc_living_mojo() : base("npc_living_mojo") { }
class npc_living_mojoAI : ScriptedAI
{
public npc_living_mojoAI(Creature creature) : base(creature)
public npc_living_mojo(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
}
@@ -435,10 +411,4 @@ namespace Scripts.Northrend.Gundrak.DrakkariColossus
InstanceScript instance;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_living_mojoAI>(creature);
}
}
}
+2 -12
View File
@@ -38,13 +38,9 @@ namespace Scripts.Northrend.Gundrak.EckTheFerocious
}
[Script]
class boss_eck : CreatureScript
class boss_eck : BossAI
{
public boss_eck() : base("boss_eck") { }
class boss_eckAI : BossAI
{
public boss_eckAI(Creature creature) : base(creature, GDDataTypes.EckTheFerocious)
public boss_eck(Creature creature) : base(creature, GDDataTypes.EckTheFerocious)
{
Initialize();
Talk(TextIds.EmoteSpawn);
@@ -119,10 +115,4 @@ namespace Scripts.Northrend.Gundrak.EckTheFerocious
bool _berserk;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_eckAI>(creature);
}
}
}
@@ -547,8 +547,7 @@ namespace Scripts.Northrend.IcecrownCitadel
class gunship_npc_AI : ScriptedAI
{
public gunship_npc_AI(Creature creature)
: base(creature)
public gunship_npc_AI(Creature creature) : base(creature)
{
Instance = creature.GetInstanceScript();
Slot = null;
@@ -673,13 +672,9 @@ namespace Scripts.Northrend.IcecrownCitadel
}
[Script]
class npc_gunship : CreatureScript
class npc_gunship : NullCreatureAI
{
public npc_gunship() : base("npc_gunship") { }
class npc_gunshipAI : NullCreatureAI
{
public npc_gunshipAI(Creature creature) : base(creature)
public npc_gunship(Creature creature) : base(creature)
{
_teamInInstance = (Team)creature.GetInstanceScript().GetData(DataTypes.TeamInInstance);
_summonedFirstMage = false;
@@ -840,23 +835,10 @@ namespace Scripts.Northrend.IcecrownCitadel
bool _died;
}
public override CreatureAI GetAI(Creature creature)
{
if (!creature.GetTransport())
return null;
return InstanceIcecrownCitadel.GetInstanceAI<npc_gunshipAI>(creature);
}
}
[Script]
class npc_high_overlord_saurfang_igb : CreatureScript
class npc_high_overlord_saurfang_igb : ScriptedAI
{
public npc_high_overlord_saurfang_igb() : base("npc_high_overlord_saurfang_igb") { }
class npc_high_overlord_saurfang_igbAI : ScriptedAI
{
public npc_high_overlord_saurfang_igbAI(Creature creature)
public npc_high_overlord_saurfang_igb(Creature creature)
: base(creature)
{
_instance = creature.GetInstanceScript();
@@ -1112,20 +1094,10 @@ namespace Scripts.Northrend.IcecrownCitadel
long _rocketeersYellCooldown;
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_high_overlord_saurfang_igbAI>(creature);
}
}
[Script]
class npc_muradin_bronzebeard_igb : CreatureScript
class npc_muradin_bronzebeard_igb : ScriptedAI
{
public npc_muradin_bronzebeard_igb() : base("npc_muradin_bronzebeard_igb") { }
class npc_muradin_bronzebeard_igbAI : ScriptedAI
{
public npc_muradin_bronzebeard_igbAI(Creature creature)
public npc_muradin_bronzebeard_igb(Creature creature)
: base(creature)
{
_instance = creature.GetInstanceScript();
@@ -1375,20 +1347,10 @@ namespace Scripts.Northrend.IcecrownCitadel
long _mortarYellCooldown;
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_muradin_bronzebeard_igbAI>(creature);
}
}
[Script]
class npc_zafod_boombox : CreatureScript
class npc_zafod_boombox : gunship_npc_AI
{
public npc_zafod_boombox() : base("npc_zafod_boombox") { }
class npc_zafod_boomboxAI : gunship_npc_AI
{
public npc_zafod_boomboxAI(Creature creature)
public npc_zafod_boombox(Creature creature)
: base(creature) { }
public override void Reset()
@@ -1408,12 +1370,6 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_zafod_boomboxAI>(creature);
}
}
class npc_gunship_boarding_addAI : gunship_npc_AI
{
public npc_gunship_boarding_addAI(Creature creature) : base(creature)
@@ -1546,13 +1502,9 @@ namespace Scripts.Northrend.IcecrownCitadel
}
[Script]
class npc_gunship_boarding_leader : CreatureScript
class npc_gunship_boarding_leader : npc_gunship_boarding_addAI
{
public npc_gunship_boarding_leader() : base("npc_gunship_boarding_leader") { }
class npc_gunship_boarding_leaderAI : npc_gunship_boarding_addAI
{
public npc_gunship_boarding_leaderAI(Creature creature)
public npc_gunship_boarding_leader(Creature creature)
: base(creature) { }
public override void EnterCombat(Unit target)
@@ -1599,31 +1551,11 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_gunship_boarding_leaderAI>(creature);
}
}
[Script]
class npc_gunship_boarding_add : CreatureScript
{
public npc_gunship_boarding_add() : base("npc_gunship_boarding_add") { }
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_gunship_boarding_addAI>(creature);
}
}
[Script]
class npc_gunship_gunner : CreatureScript
class npc_gunship_gunner : gunship_npc_AI
{
public npc_gunship_gunner() : base("npc_gunship_gunner") { }
class npc_gunship_gunnerAI : gunship_npc_AI
{
public npc_gunship_gunnerAI(Creature creature)
public npc_gunship_gunner(Creature creature)
: base(creature)
{
creature.m_CombatDistance = 200.0f;
@@ -1653,21 +1585,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_gunship_gunnerAI>(creature);
}
}
[Script]
class npc_gunship_rocketeer : CreatureScript
class npc_gunship_rocketeer : gunship_npc_AI
{
public npc_gunship_rocketeer() : base("npc_gunship_rocketeer") { }
class npc_gunship_rocketeerAI : gunship_npc_AI
{
public npc_gunship_rocketeerAI(Creature creature)
: base(creature)
public npc_gunship_rocketeer(Creature creature) : base(creature)
{
creature.m_CombatDistance = 200.0f;
}
@@ -1696,20 +1617,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_gunship_rocketeerAI>(creature);
}
}
[Script]
class npc_gunship_mage : CreatureScript
class npc_gunship_mage : gunship_npc_AI
{
public npc_gunship_mage() : base("npc_gunship_mage") { }
class npc_gunship_mageAI : gunship_npc_AI
{
public npc_gunship_mageAI(Creature creature) : base(creature)
public npc_gunship_mage(Creature creature) : base(creature)
{
me.SetReactState(ReactStates.Passive);
}
@@ -1753,39 +1664,29 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_gunship_mageAI>(creature);
}
}
/** @HACK This AI only resets MOVEMENTFLAG_ROOT on the vehicle.
Currently the core always removes MOVEMENTFLAG_ROOT sent from client packets to prevent cheaters from freezing clients of other players
but it actually is a valid flag - needs more research to fix both freezes and keep the flag as is (see WorldSession.ReadMovementInfo)
Example packet:
ClientToServer: CMSG_FORCE_MOVE_ROOT_ACK (0x00E9) Length: 67 ConnectionIndex: 0 Time: 03/04/2010 03:57:55.000 Number: 471326
Guid:
Movement Counter: 80
Movement Flags: OnTransport, Root (2560)
Extra Movement Flags: None (0)
Time: 52291611
Position: X: -396.0302 Y: 2482.906 Z: 249.86
Orientation: 1.468665
Transport GUID: Full: 0x1FC0000000000460 Type: MOTransport Low: 1120
Transport Position: X: -6.152398 Y: -23.49037 Z: 21.64464 O: 4.827727
Transport Time: 9926
Transport Seat: 255
Fall Time: 824
*/
Example packet:
ClientToServer: CMSG_FORCE_MOVE_ROOT_ACK (0x00E9) Length: 67 ConnectionIndex: 0 Time: 03/04/2010 03:57:55.000 Number: 471326
Guid:
Movement Counter: 80
Movement Flags: OnTransport, Root (2560)
Extra Movement Flags: None (0)
Time: 52291611
Position: X: -396.0302 Y: 2482.906 Z: 249.86
Orientation: 1.468665
Transport GUID: Full: 0x1FC0000000000460 Type: MOTransport Low: 1120
Transport Position: X: -6.152398 Y: -23.49037 Z: 21.64464 O: 4.827727
Transport Time: 9926
Transport Seat: 255
Fall Time: 824
*/
[Script]
class npc_gunship_cannon : CreatureScript
class npc_gunship_cannon : PassiveAI
{
public npc_gunship_cannon() : base("npc_gunship_cannon") { }
class npc_gunship_cannonAI : PassiveAI
{
public npc_gunship_cannonAI(Creature creature)
public npc_gunship_cannon(Creature creature)
: base(creature) { }
public override void OnCharmed(bool apply) { }
@@ -1800,18 +1701,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_gunship_cannonAI(creature);
}
}
[Script]
class spell_igb_rocket_pack : SpellScriptLoader
{
public spell_igb_rocket_pack() : base("spell_igb_rocket_pack") { }
class spell_igb_rocket_pack_AuraScript : AuraScript
class spell_igb_rocket_pack : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1838,18 +1729,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override AuraScript GetAuraScript()
{
return new spell_igb_rocket_pack_AuraScript();
}
}
[Script]
class spell_igb_rocket_pack_useable : SpellScriptLoader
{
public spell_igb_rocket_pack_useable() : base("spell_igb_rocket_pack_useable") { }
class spell_igb_rocket_pack_useable_AuraScript : AuraScript
class spell_igb_rocket_pack_useable : AuraScript
{
public override bool Load()
{
@@ -1893,18 +1774,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override AuraScript GetAuraScript()
{
return new spell_igb_rocket_pack_useable_AuraScript();
}
}
[Script]
class spell_igb_on_gunship_deck : SpellScriptLoader
{
public spell_igb_on_gunship_deck() : base("spell_igb_on_gunship_deck") { }
class spell_igb_on_gunship_deck_AuraScript : AuraScript
class spell_igb_on_gunship_deck : AuraScript
{
public override bool Load()
{
@@ -1940,18 +1811,8 @@ namespace Scripts.Northrend.IcecrownCitadel
Team _teamInInstance;
}
public override AuraScript GetAuraScript()
{
return new spell_igb_on_gunship_deck_AuraScript();
}
}
[Script]
class spell_igb_periodic_trigger_with_power_cost : SpellScriptLoader
{
public spell_igb_periodic_trigger_with_power_cost() : base("spell_igb_periodic_trigger_with_power_cost") { }
class spell_igb_periodic_trigger_with_power_cost_AuraScript : AuraScript
class spell_igb_periodic_trigger_with_power_cost : AuraScript
{
void HandlePeriodicTick(AuraEffect aurEff)
{
@@ -1965,18 +1826,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override AuraScript GetAuraScript()
{
return new spell_igb_periodic_trigger_with_power_cost_AuraScript();
}
}
[Script]
class spell_igb_cannon_blast : SpellScriptLoader
{
public spell_igb_cannon_blast() : base("spell_igb_cannon_blast") { }
class spell_igb_cannon_blast_SpellScript : SpellScript
class spell_igb_cannon_blast : SpellScript
{
public override bool Load()
{
@@ -2004,18 +1855,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_igb_cannon_blast_SpellScript();
}
}
[Script]
class spell_igb_incinerating_blast : SpellScriptLoader
{
public spell_igb_incinerating_blast() : base("spell_igb_incinerating_blast") { }
class spell_igb_incinerating_blast_SpellScript : SpellScript
class spell_igb_incinerating_blast : SpellScript
{
void StoreEnergy()
{
@@ -2042,18 +1883,8 @@ namespace Scripts.Northrend.IcecrownCitadel
uint _energyLeft;
}
public override SpellScript GetSpellScript()
{
return new spell_igb_incinerating_blast_SpellScript();
}
}
[Script]
class spell_igb_overheat : SpellScriptLoader
{
public spell_igb_overheat() : base("spell_igb_overheat") { }
class spell_igb_overheat_AuraScript : AuraScript
class spell_igb_overheat : AuraScript
{
public override bool Load()
{
@@ -2099,18 +1930,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override AuraScript GetAuraScript()
{
return new spell_igb_overheat_AuraScript();
}
}
[Script]
class spell_igb_below_zero : SpellScriptLoader
{
public spell_igb_below_zero() : base("spell_igb_below_zero") { }
class spell_igb_below_zero_SpellScript : SpellScript
class spell_igb_below_zero : SpellScript
{
void RemovePassengers(SpellMissInfo missInfo)
{
@@ -2126,18 +1947,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_igb_below_zero_SpellScript();
}
}
[Script]
class spell_igb_teleport_to_enemy_ship : SpellScriptLoader
{
public spell_igb_teleport_to_enemy_ship() : base("spell_igb_teleport_to_enemy_ship") { }
class spell_igb_teleport_to_enemy_ship_SpellScript : SpellScript
class spell_igb_teleport_to_enemy_ship : SpellScript
{
void RelocateTransportOffset(uint effIndex)
{
@@ -2158,18 +1969,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_igb_teleport_to_enemy_ship_SpellScript();
}
}
[Script]
class spell_igb_burning_pitch_selector : SpellScriptLoader
{
public spell_igb_burning_pitch_selector() : base("spell_igb_burning_pitch_selector") { }
class spell_igb_burning_pitch_selector_SpellScript : SpellScript
class spell_igb_burning_pitch_selector : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -2207,18 +2008,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_igb_burning_pitch_selector_SpellScript();
}
}
[Script]
class spell_igb_burning_pitch : SpellScriptLoader
{
public spell_igb_burning_pitch() : base("spell_igb_burning_pitch") { }
class spell_igb_burning_pitch_SpellScript : SpellScript
class spell_igb_burning_pitch : SpellScript
{
void HandleDummy(uint effIndex)
{
@@ -2233,18 +2024,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_igb_burning_pitch_SpellScript();
}
}
[Script]
class spell_igb_rocket_artillery : SpellScriptLoader
{
public spell_igb_rocket_artillery() : base("spell_igb_rocket_artillery") { }
class spell_igb_rocket_artillery_SpellScript : SpellScript
class spell_igb_rocket_artillery : SpellScript
{
void SelectRandomTarget(List<WorldObject> targets)
{
@@ -2269,18 +2050,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_igb_rocket_artillery_SpellScript();
}
}
[Script]
class spell_igb_rocket_artillery_explosion : SpellScriptLoader
{
public spell_igb_rocket_artillery_explosion() : base("spell_igb_rocket_artillery_explosion") { }
class spell_igb_rocket_artillery_explosion_SpellScript : SpellScript
class spell_igb_rocket_artillery_explosion : SpellScript
{
void DamageGunship(uint effIndex)
{
@@ -2295,18 +2066,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_igb_rocket_artillery_explosion_SpellScript();
}
}
[Script]
class spell_igb_gunship_fall_teleport : SpellScriptLoader
{
public spell_igb_gunship_fall_teleport() : base("spell_igb_gunship_fall_teleport") { }
class spell_igb_gunship_fall_teleport_SpellScript : SpellScript
class spell_igb_gunship_fall_teleport : SpellScript
{
public override bool Load()
{
@@ -2335,18 +2096,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_igb_gunship_fall_teleport_SpellScript();
}
}
[Script]
class spell_igb_check_for_players : SpellScriptLoader
{
public spell_igb_check_for_players() : base("spell_igb_check_for_players") { }
class spell_igb_check_for_players_SpellScript : SpellScript
class spell_igb_check_for_players : SpellScript
{
public override bool Load()
{
@@ -2381,18 +2132,8 @@ namespace Scripts.Northrend.IcecrownCitadel
uint _playerCount;
}
public override SpellScript GetSpellScript()
{
return new spell_igb_check_for_players_SpellScript();
}
}
[Script]
class spell_igb_teleport_players_on_victory : SpellScriptLoader
{
public spell_igb_teleport_players_on_victory() : base("spell_igb_teleport_players_on_victory") { }
class spell_igb_teleport_players_on_victory_SpellScript : SpellScript
class spell_igb_teleport_players_on_victory : SpellScript
{
public override bool Load()
{
@@ -2411,20 +2152,9 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_igb_teleport_players_on_victory_SpellScript();
}
}
[Script] // 71201 - Battle Experience - proc should never happen, handled in script
class spell_igb_battle_experience_check : SpellScriptLoader
class spell_igb_battle_experience_check : AuraScript
{
public spell_igb_battle_experience_check() : base("spell_igb_battle_experience_check") { }
class spell_igb_battle_experience_check_AuraScript : AuraScript
{
bool CheckProc(ProcEventInfo eventInfo)
{
return false;
@@ -2436,12 +2166,6 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override AuraScript GetAuraScript()
{
return new spell_igb_battle_experience_check_AuraScript();
}
}
[Script]
class achievement_im_on_a_boat : AchievementCriteriaScript
{
@@ -123,13 +123,9 @@ namespace Scripts.Northrend.IcecrownCitadel
// at Light's Hammer
[Script]
class npc_highlord_tirion_fordring_lh : CreatureScript
class npc_highlord_tirion_fordring : ScriptedAI
{
public npc_highlord_tirion_fordring_lh() : base("npc_highlord_tirion_fordring_lh") { }
class npc_highlord_tirion_fordringAI : ScriptedAI
{
public npc_highlord_tirion_fordringAI(Creature creature)
public npc_highlord_tirion_fordring(Creature creature)
: base(creature)
{
_instance = creature.GetInstanceScript();
@@ -348,20 +344,10 @@ namespace Scripts.Northrend.IcecrownCitadel
ushort _damnedKills;
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_highlord_tirion_fordringAI>(creature);
}
}
[Script]
class npc_rotting_frost_giant : CreatureScript
class npc_rotting_frost_giant : ScriptedAI
{
public npc_rotting_frost_giant() : base("npc_rotting_frost_giant") { }
class npc_rotting_frost_giantAI : ScriptedAI
{
public npc_rotting_frost_giantAI(Creature creature)
public npc_rotting_frost_giant(Creature creature)
: base(creature) { }
public override void Reset()
@@ -417,20 +403,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_rotting_frost_giantAI>(creature);
}
}
[Script]
class npc_frost_freeze_trap : CreatureScript
class npc_frost_freeze_trap : ScriptedAI
{
public npc_frost_freeze_trap() : base("npc_frost_freeze_trap") { }
class npc_frost_freeze_trapAI : ScriptedAI
{
public npc_frost_freeze_trapAI(Creature creature)
public npc_frost_freeze_trap(Creature creature)
: base(creature)
{
SetCombatMovement(false);
@@ -461,12 +437,6 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_frost_freeze_trapAI>(creature);
}
}
[Script]
class npc_alchemist_adrianna : CreatureScript
{
@@ -482,13 +452,9 @@ namespace Scripts.Northrend.IcecrownCitadel
}
[Script]
class boss_sister_svalna : CreatureScript
class boss_sister_svalna : BossAI
{
public boss_sister_svalna() : base("boss_sister_svalna") { }
class boss_sister_svalnaAI : BossAI
{
public boss_sister_svalnaAI(Creature creature)
public boss_sister_svalna(Creature creature)
: base(creature, Bosses.SisterSvalna)
{
_isEventInProgress = false;
@@ -689,20 +655,10 @@ namespace Scripts.Northrend.IcecrownCitadel
bool _isEventInProgress;
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<boss_sister_svalnaAI>(creature);
}
}
[Script]
class npc_crok_scourgebane : CreatureScript
class npc_crok_scourgebane : npc_escortAI
{
public npc_crok_scourgebane() : base("npc_crok_scourgebane") { }
class npc_crok_scourgebaneAI : npc_escortAI
{
public npc_crok_scourgebaneAI(Creature creature) : base(creature)
public npc_crok_scourgebane(Creature creature) : base(creature)
{
_instance = creature.GetInstanceScript();
_respawnTime = creature.GetRespawnDelay();
@@ -981,12 +937,6 @@ namespace Scripts.Northrend.IcecrownCitadel
bool _didUnderTenPercentText;
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_crok_scourgebaneAI>(creature);
}
}
class npc_argent_captainAI : ScriptedAI
{
public npc_argent_captainAI(Creature creature)
@@ -1112,13 +1062,9 @@ namespace Scripts.Northrend.IcecrownCitadel
}
[Script]
class npc_captain_arnath : CreatureScript
class npc_captain_arnath : npc_argent_captainAI
{
public npc_captain_arnath() : base("CreatureIds.CaptainArnath") { }
class npc_captain_arnathAI : npc_argent_captainAI
{
public npc_captain_arnathAI(Creature creature)
public npc_captain_arnath(Creature creature)
: base(creature) { }
public override void Reset()
@@ -1185,20 +1131,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_captain_arnathAI>(creature);
}
}
[Script]
class npc_captain_brandon : CreatureScript
class npc_captain_brandon : npc_argent_captainAI
{
public npc_captain_brandon() : base("CreatureIds.CaptainBrandon") { }
class npc_captain_brandonAI : npc_argent_captainAI
{
public npc_captain_brandonAI(Creature creature)
public npc_captain_brandon(Creature creature)
: base(creature) { }
public override void Reset()
@@ -1253,21 +1189,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_captain_brandonAI>(creature);
}
}
[Script]
class npc_captain_grondel : CreatureScript
class npc_captain_grondel : npc_argent_captainAI
{
public npc_captain_grondel() : base("CreatureIds.CaptainGrondel") { }
class npc_captain_grondelAI : npc_argent_captainAI
{
public npc_captain_grondelAI(Creature creature)
: base(creature) { }
public npc_captain_grondel(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -1320,20 +1245,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_captain_grondelAI>(creature);
}
}
[Script]
class npc_captain_rupert : CreatureScript
class npc_captain_rupert : npc_argent_captainAI
{
public npc_captain_rupert() : base("CreatureIds.CaptainRupert") { }
class npc_captain_rupertAI : npc_argent_captainAI
{
public npc_captain_rupertAI(Creature creature)
public npc_captain_rupert(Creature creature)
: base(creature)
{
}
@@ -1388,20 +1303,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_captain_rupertAI>(creature);
}
}
[Script]
class npc_frostwing_vrykul : CreatureScript
class npc_frostwing_vrykul : SmartAI
{
public npc_frostwing_vrykul() : base("npc_frostwing_vrykul") { }
class npc_frostwing_vrykulAI : SmartAI
{
public npc_frostwing_vrykulAI(Creature creature)
public npc_frostwing_vrykul(Creature creature)
: base(creature) { }
public override bool CanAIAttack(Unit target)
@@ -1411,20 +1316,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_frostwing_vrykulAI(creature);
}
}
[Script]
class npc_impaling_spear : CreatureScript
class npc_impaling_spear : CreatureAI
{
public npc_impaling_spear() : base("npc_impaling_spear") { }
class npc_impaling_spearAI : CreatureAI
{
public npc_impaling_spearAI(Creature creature)
public npc_impaling_spear(Creature creature)
: base(creature)
{
}
@@ -1450,20 +1345,10 @@ namespace Scripts.Northrend.IcecrownCitadel
uint _vehicleCheckTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_impaling_spearAI(creature);
}
}
[Script]
class npc_arthas_teleport_visual : CreatureScript
class npc_arthas_teleport_visual : NullCreatureAI
{
public npc_arthas_teleport_visual() : base("npc_arthas_teleport_visual") { }
class npc_arthas_teleport_visualAI : NullCreatureAI
{
public npc_arthas_teleport_visualAI(Creature creature)
public npc_arthas_teleport_visual(Creature creature)
: base(creature)
{
_instance = creature.GetInstanceScript();
@@ -1495,23 +1380,8 @@ namespace Scripts.Northrend.IcecrownCitadel
InstanceScript _instance;
}
public override CreatureAI GetAI(Creature creature)
{
// Distance from the center of the spire
if (creature.GetExactDist2d(4357.052f, 2769.421f) < 100.0f && creature.GetHomePosition().GetPositionZ() < 315.0f)
return InstanceIcecrownCitadel.GetInstanceAI<npc_arthas_teleport_visualAI>(creature);
// Default to no script
return null;
}
}
[Script]
class spell_icc_stoneform : SpellScriptLoader
{
public spell_icc_stoneform() : base("spell_icc_stoneform") { }
class spell_icc_stoneform_AuraScript : AuraScript
class spell_icc_stoneform : AuraScript
{
void OnApply(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -1542,18 +1412,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override AuraScript GetAuraScript()
{
return new spell_icc_stoneform_AuraScript();
}
}
[Script]
class spell_icc_sprit_alarm : SpellScriptLoader
{
public spell_icc_sprit_alarm() : base("spell_icc_sprit_alarm") { }
class spell_icc_sprit_alarm_SpellScript : SpellScript
class spell_icc_sprit_alarm : SpellScript
{
public const int AwakenWard1 = 22900;
public const int AwakenWard2 = 22907;
@@ -1610,18 +1470,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_icc_sprit_alarm_SpellScript();
}
}
[Script]
class spell_frost_giant_death_plague : SpellScriptLoader
{
public spell_frost_giant_death_plague() : base("spell_frost_giant_death_plague") { }
class spell_frost_giant_death_plague_SpellScript : SpellScript
class spell_frost_giant_death_plague : SpellScript
{
public override bool Load()
{
@@ -1683,18 +1533,8 @@ namespace Scripts.Northrend.IcecrownCitadel
bool _failed;
}
public override SpellScript GetSpellScript()
{
return new spell_frost_giant_death_plague_SpellScript();
}
}
[Script]
class spell_icc_harvest_blight_specimen : SpellScriptLoader
{
public spell_icc_harvest_blight_specimen() : base("spell_icc_harvest_blight_specimen") { }
class spell_icc_harvest_blight_specimen_SpellScript : SpellScript
class spell_icc_harvest_blight_specimen : SpellScript
{
void HandleScript(uint effIndex)
{
@@ -1714,18 +1554,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_icc_harvest_blight_specimen_SpellScript();
}
}
[Script]
class spell_svalna_revive_champion : SpellScriptLoader
{
public spell_svalna_revive_champion() : base("spell_svalna_revive_champion") { }
class spell_svalna_revive_champion_SpellScript : SpellScript
class spell_svalna_revive_champion : SpellScript
{
void RemoveAliveTarget(List<WorldObject> targets)
{
@@ -1758,18 +1588,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_svalna_revive_champion_SpellScript();
}
}
[Script]
class spell_svalna_remove_spear : SpellScriptLoader
{
public spell_svalna_remove_spear() : base("spell_svalna_remove_spear") { }
class spell_svalna_remove_spear_SpellScript : SpellScript
class spell_svalna_remove_spear : SpellScript
{
void HandleScript(uint effIndex)
{
@@ -1790,19 +1610,9 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_svalna_remove_spear_SpellScript();
}
}
// 72585 - Soul Missile
[Script]
class spell_icc_soul_missile : SpellScriptLoader
{
public spell_icc_soul_missile() : base("spell_icc_soul_missile") { }
class spell_icc_soul_missile_SpellScript : SpellScript
class spell_icc_soul_missile : SpellScript
{
void RelocateDest(ref SpellDestination dest)
{
@@ -1816,12 +1626,6 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_icc_soul_missile_SpellScript();
}
}
[Script]
class at_icc_saurfang_portal : AreaTriggerScript
{
@@ -1905,16 +1709,9 @@ namespace Scripts.Northrend.IcecrownCitadel
}
[Script("spell_svalna_caress_of_death", 70196u)]
class spell_trigger_spell_from_caster : SpellScriptLoader
class spell_trigger_spell_from_caster : SpellScript
{
public spell_trigger_spell_from_caster(string scriptName, uint triggerId) : base(scriptName)
{
_triggerId = triggerId;
}
class spell_trigger_spell_from_caster_SpellScript : SpellScript
{
public spell_trigger_spell_from_caster_SpellScript(uint triggerId)
public spell_trigger_spell_from_caster(uint triggerId)
{
_triggerId = triggerId;
}
@@ -1934,15 +1731,6 @@ namespace Scripts.Northrend.IcecrownCitadel
AfterHit.Add(new HitHandler(HandleTrigger));
}
uint _triggerId;
}
public override SpellScript GetSpellScript()
{
return new spell_trigger_spell_from_caster_SpellScript(_triggerId);
}
uint _triggerId;
}
}
@@ -212,13 +212,9 @@ namespace Scripts.Northrend.IcecrownCitadel
}
[Script]
class boss_lady_deathwhisper : CreatureScript
public class boss_lady_deathwhisper : BossAI
{
public boss_lady_deathwhisper() : base("boss_lady_deathwhisper") { }
public class boss_lady_deathwhisperAI : BossAI
{
public boss_lady_deathwhisperAI(Creature creature)
public boss_lady_deathwhisper(Creature creature)
: base(creature, Bosses.LadyDeathwhisper)
{
_dominateMindCount = RaidMode<byte>(0, 1, 1, 3);
@@ -627,20 +623,10 @@ namespace Scripts.Northrend.IcecrownCitadel
uint QUEST_DEPROGRAMMING { get { return RaidMode<uint>(WeeklyQuestIds.Deprogramming10, WeeklyQuestIds.Deprogramming25, WeeklyQuestIds.Deprogramming10, WeeklyQuestIds.Deprogramming25); } }
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<boss_lady_deathwhisperAI>(creature);
}
}
[Script]
class npc_cult_fanatic : CreatureScript
class npc_cult_fanatic : ScriptedAI
{
public npc_cult_fanatic() : base("npc_cult_fanatic") { }
class npc_cult_fanaticAI : ScriptedAI
{
public npc_cult_fanaticAI(Creature creature) : base(creature) { }
public npc_cult_fanatic(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -733,20 +719,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_cult_fanaticAI>(creature);
}
}
[Script]
class npc_cult_adherent : CreatureScript
class npc_cult_adherent : ScriptedAI
{
public npc_cult_adherent() : base("npc_cult_adherent") { }
class npc_cult_adherentAI : ScriptedAI
{
public npc_cult_adherentAI(Creature creature) : base(creature) { }
public npc_cult_adherent(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -848,20 +824,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_cult_adherentAI>(creature);
}
}
[Script]
class npc_vengeful_shade : CreatureScript
class npc_vengeful_shade : ScriptedAI
{
public npc_vengeful_shade() : base("npc_vengeful_shade") { }
class npc_vengeful_shadeAI : ScriptedAI
{
public npc_vengeful_shadeAI(Creature creature) : base(creature)
public npc_vengeful_shade(Creature creature) : base(creature)
{
me.SetFlag(UnitFields.Flags, UnitFlags.NonAttackable | UnitFlags.NotSelectable);
}
@@ -887,20 +853,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_vengeful_shadeAI>(creature);
}
}
[Script]
class npc_darnavan : CreatureScript
class npc_darnavan : ScriptedAI
{
public npc_darnavan() : base("npc_darnavan") { }
class npc_darnavanAI : ScriptedAI
{
public npc_darnavanAI(Creature creature)
public npc_darnavan(Creature creature)
: base(creature)
{
}
@@ -1014,18 +970,8 @@ namespace Scripts.Northrend.IcecrownCitadel
bool _canShatter;
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_darnavanAI>(creature);
}
}
[Script]
class spell_deathwhisper_mana_barrier : SpellScriptLoader
{
public spell_deathwhisper_mana_barrier() : base("spell_deathwhisper_mana_barrier") { }
class spell_deathwhisper_mana_barrier_AuraScript : AuraScript
class spell_deathwhisper_mana_barrier : AuraScript
{
void HandlePeriodicTick(AuraEffect aurEff)
{
@@ -1045,18 +991,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override AuraScript GetAuraScript()
{
return new spell_deathwhisper_mana_barrier_AuraScript();
}
}
[Script]
class spell_cultist_dark_martyrdom : SpellScriptLoader
{
public spell_cultist_dark_martyrdom() : base("spell_cultist_dark_martyrdom") { }
class spell_cultist_dark_martyrdom_SpellScript : SpellScript
class spell_cultist_dark_martyrdom : SpellScript
{
void HandleEffect(uint effIndex)
{
@@ -1077,12 +1013,6 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_cultist_dark_martyrdom_SpellScript();
}
}
[Script]
class at_lady_deathwhisper_entrance : AreaTriggerScript
{
@@ -122,13 +122,9 @@ namespace Scripts.Northrend.IcecrownCitadel
}
[Script]
class boss_lord_marrowgar : CreatureScript
public class boss_lord_marrowgar : BossAI
{
public boss_lord_marrowgar() : base("boss_lord_marrowgar") { }
public class boss_lord_marrowgarAI : BossAI
{
public boss_lord_marrowgarAI(Creature creature) : base(creature, Bosses.LordMarrowgar)
public boss_lord_marrowgar(Creature creature) : base(creature, Bosses.LordMarrowgar)
{
_boneStormDuration = RaidMode<uint>(20000, 30000, 20000, 30000);
_baseSpeed = creature.GetSpeedRate(UnitMoveType.Run);
@@ -343,20 +339,10 @@ namespace Scripts.Northrend.IcecrownCitadel
bool _boneSlice;
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<boss_lord_marrowgarAI>(creature);
}
}
[Script]
class npc_coldflame : CreatureScript
class npc_coldflame : ScriptedAI
{
public npc_coldflame() : base("npc_coldflame") { }
class npc_coldflameAI : ScriptedAI
{
public npc_coldflameAI(Creature creature) : base(creature) { }
public npc_coldflame(Creature creature) : base(creature) { }
public override void IsSummonedBy(Unit owner)
{
@@ -364,7 +350,7 @@ namespace Scripts.Northrend.IcecrownCitadel
return;
Position pos = new Position();
var marrowgarAI = (boss_lord_marrowgar.boss_lord_marrowgarAI)owner.GetAI();
var marrowgarAI = (boss_lord_marrowgar)owner.GetAI();
if (marrowgarAI != null)
pos.Relocate(marrowgarAI.GetLastColdflamePosition());
else
@@ -409,20 +395,10 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_coldflameAI>(creature);
}
}
[Script]
class npc_bone_spike : CreatureScript
class npc_bone_spike : ScriptedAI
{
public npc_bone_spike() : base("npc_bone_spike") { }
class npc_bone_spikeAI : ScriptedAI
{
public npc_bone_spikeAI(Creature creature)
public npc_bone_spike(Creature creature)
: base(creature)
{
_hasTrappedUnit = false;
@@ -490,18 +466,8 @@ namespace Scripts.Northrend.IcecrownCitadel
bool _hasTrappedUnit;
}
public override CreatureAI GetAI(Creature creature)
{
return InstanceIcecrownCitadel.GetInstanceAI<npc_bone_spikeAI>(creature);
}
}
[Script]
class spell_marrowgar_coldflame : SpellScriptLoader
{
public spell_marrowgar_coldflame() : base("spell_marrowgar_coldflame") { }
class spell_marrowgar_coldflame_SpellScript : SpellScript
class spell_marrowgar_coldflame : SpellScript
{
void SelectTarget(List<WorldObject> targets)
{
@@ -531,18 +497,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_marrowgar_coldflame_SpellScript();
}
}
[Script]
class spell_marrowgar_coldflame_bonestorm : SpellScriptLoader
{
public spell_marrowgar_coldflame_bonestorm() : base("spell_marrowgar_coldflame_bonestorm") { }
class spell_marrowgar_coldflame_SpellScript : SpellScript
class spell_marrowgar_coldflame_bonestorm : SpellScript
{
void HandleScriptEffect(uint effIndex)
{
@@ -557,18 +513,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_marrowgar_coldflame_SpellScript();
}
}
[Script]
class spell_marrowgar_coldflame_damage : SpellScriptLoader
{
public spell_marrowgar_coldflame_damage() : base("spell_marrowgar_coldflame_damage") { }
class spell_marrowgar_coldflame_damage_AuraScript : AuraScript
class spell_marrowgar_coldflame_damage : AuraScript
{
bool CanBeAppliedOn(Unit target)
{
@@ -592,18 +538,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override AuraScript GetAuraScript()
{
return new spell_marrowgar_coldflame_damage_AuraScript();
}
}
[Script]
class spell_marrowgar_bone_spike_graveyard : SpellScriptLoader
{
public spell_marrowgar_bone_spike_graveyard() : base("spell_marrowgar_bone_spike_graveyard") { }
class spell_marrowgar_bone_spike_graveyard_SpellScript : SpellScript
class spell_marrowgar_bone_spike_graveyard : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -651,18 +587,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_marrowgar_bone_spike_graveyard_SpellScript();
}
}
[Script]
class spell_marrowgar_bone_storm : SpellScriptLoader
{
public spell_marrowgar_bone_storm() : base("spell_marrowgar_bone_storm") { }
class spell_marrowgar_bone_storm_SpellScript : SpellScript
class spell_marrowgar_bone_storm : SpellScript
{
void RecalculateDamage()
{
@@ -675,18 +601,8 @@ namespace Scripts.Northrend.IcecrownCitadel
}
}
public override SpellScript GetSpellScript()
{
return new spell_marrowgar_bone_storm_SpellScript();
}
}
[Script]
class spell_marrowgar_bone_slice : SpellScriptLoader
{
public spell_marrowgar_bone_slice() : base("spell_marrowgar_bone_slice") { }
class spell_marrowgar_bone_slice_SpellScript : SpellScript
class spell_marrowgar_bone_slice : SpellScript
{
public override bool Load()
{
@@ -725,10 +641,5 @@ namespace Scripts.Northrend.IcecrownCitadel
uint _targetCount;
}
public override SpellScript GetSpellScript()
{
return new spell_marrowgar_bone_slice_SpellScript();
}
}
}
}
@@ -13,7 +13,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
*/
using Game.Entities;
+4 -24
View File
@@ -64,13 +64,9 @@ namespace Scripts.Northrend.Nexus.Nexus
}
[Script]
class boss_anomalus : CreatureScript
class boss_anomalus : ScriptedAI
{
public boss_anomalus() : base("boss_anomalus") { }
class boss_anomalusAI : ScriptedAI
{
public boss_anomalusAI(Creature creature) : base(creature)
public boss_anomalus(Creature creature) : base(creature)
{
instance = me.GetInstanceScript();
}
@@ -183,20 +179,10 @@ namespace Scripts.Northrend.Nexus.Nexus
bool chaosTheory;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_anomalusAI>(creature);
}
}
[Script]
class npc_chaotic_rift : CreatureScript
class npc_chaotic_rift : ScriptedAI
{
public npc_chaotic_rift() : base("npc_chaotic_rift") { }
class npc_chaotic_riftAI : ScriptedAI
{
public npc_chaotic_riftAI(Creature creature) : base(creature)
public npc_chaotic_rift(Creature creature) : base(creature)
{
Initialize();
instance = me.GetInstanceScript();
@@ -262,12 +248,6 @@ namespace Scripts.Northrend.Nexus.Nexus
uint uiSummonCrazedManaWraithTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_chaotic_riftAI>(creature);
}
}
[Script]
class achievement_chaos_theory : AchievementCriteriaScript
{
@@ -52,13 +52,9 @@ namespace Scripts.Northrend.Nexus.Nexus
}
[Script]
class boss_keristrasza : CreatureScript
public class boss_keristrasza : BossAI
{
public boss_keristrasza() : base("boss_keristrasza") { }
public class boss_keristraszaAI : BossAI
{
public boss_keristraszaAI(Creature creature) : base(creature, DataTypes.Keristrasza)
public boss_keristrasza(Creature creature) : base(creature, DataTypes.Keristrasza)
{
Initialize();
}
@@ -193,12 +189,6 @@ namespace Scripts.Northrend.Nexus.Nexus
public List<ObjectGuid> _intenseColdList = new List<ObjectGuid>();
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_keristraszaAI>(creature);
}
}
[Script]
class containment_sphere : GameObjectScript
{
@@ -215,7 +205,7 @@ namespace Scripts.Northrend.Nexus.Nexus
go.SetFlag(GameObjectFields.Flags, GameObjectFlags.NotSelectable);
go.SetGoState(GameObjectState.Active);
((boss_keristrasza.boss_keristraszaAI)pKeristrasza.GetAI()).CheckContainmentSpheres(true);
((boss_keristrasza)pKeristrasza.GetAI()).CheckContainmentSpheres(true);
}
return true;
}
@@ -223,11 +213,7 @@ namespace Scripts.Northrend.Nexus.Nexus
}
[Script]
class spell_intense_cold : SpellScriptLoader
{
public spell_intense_cold() : base("spell_intense_cold") { }
class spell_intense_cold_AuraScript : AuraScript
class spell_intense_cold : AuraScript
{
void HandlePeriodicTick(AuraEffect aurEff)
{
@@ -247,12 +233,6 @@ namespace Scripts.Northrend.Nexus.Nexus
}
}
public override AuraScript GetAuraScript()
{
return new spell_intense_cold_AuraScript();
}
}
[Script]
class achievement_intense_cold : AchievementCriteriaScript
{
@@ -263,7 +243,7 @@ namespace Scripts.Northrend.Nexus.Nexus
if (!target)
return false;
var _intenseColdList = ((boss_keristrasza.boss_keristraszaAI)target.ToCreature().GetAI())._intenseColdList;
var _intenseColdList = ((boss_keristrasza)target.ToCreature().GetAI())._intenseColdList;
if (!_intenseColdList.Empty())
{
foreach (var guid in _intenseColdList)
@@ -55,13 +55,9 @@ namespace Scripts.Northrend.Nexus.Nexus
}
[Script]
class boss_magus_telestra : CreatureScript
class boss_magus_telestra : ScriptedAI
{
public boss_magus_telestra() : base("boss_magus_telestra") { }
class boss_magus_telestraAI : ScriptedAI
{
public boss_magus_telestraAI(Creature creature) : base(creature)
public boss_magus_telestra(Creature creature) : base(creature)
{
instance = creature.GetInstanceScript();
bFireMagusDead = false;
@@ -297,12 +293,6 @@ namespace Scripts.Northrend.Nexus.Nexus
long[] time = new long[3];
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_magus_telestraAI>(creature);
}
}
[Script]
class achievement_split_personality : AchievementCriteriaScript
{
@@ -325,11 +315,7 @@ namespace Scripts.Northrend.Nexus.Nexus
}
[Script]
class spell_gravity_well_effect : SpellScriptLoader
{
public spell_gravity_well_effect() : base("spell_gravity_well_effect") { }
class spell_gravity_well_effect_SpellScript : SpellScript
class spell_gravity_well_effect : SpellScript
{
void HandleDummy(uint index)
{
@@ -340,10 +326,4 @@ namespace Scripts.Northrend.Nexus.Nexus
{
}
}
public override SpellScript GetSpellScript()
{
return new spell_gravity_well_effect_SpellScript();
}
}
}
@@ -39,13 +39,9 @@ namespace Scripts.Northrend.Nexus.Nexus
}
[Script]
class boss_nexus_commanders : CreatureScript
class boss_nexus_commanders : BossAI
{
public boss_nexus_commanders() : base("boss_nexus_commanders") { }
class boss_nexus_commandersAI : BossAI
{
boss_nexus_commandersAI(Creature creature) : base(creature, DataTypes.Commander) { }
boss_nexus_commanders(Creature creature) : base(creature, DataTypes.Commander) { }
public override void EnterCombat(Unit who)
{
@@ -104,10 +100,4 @@ namespace Scripts.Northrend.Nexus.Nexus
DoMeleeAttackIfReady();
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_nexus_commandersAI>(creature);
}
}
}
+5 -35
View File
@@ -43,13 +43,9 @@ namespace Scripts.Northrend.Nexus.Nexus
}
[Script]
class boss_ormorok : CreatureScript
class boss_ormorok : BossAI
{
public boss_ormorok() : base("boss_ormorok") { }
class boss_ormorokAI : BossAI
{
public boss_ormorokAI(Creature creature) : base(creature, DataTypes.Ormorok)
public boss_ormorok(Creature creature) : base(creature, DataTypes.Ormorok)
{
Initialize();
}
@@ -146,12 +142,6 @@ namespace Scripts.Northrend.Nexus.Nexus
bool frenzy;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<boss_ormorokAI>(creature);
}
}
class OrmorokTanglerPredicate : ISelector
{
public OrmorokTanglerPredicate(Unit unit)
@@ -189,13 +179,9 @@ namespace Scripts.Northrend.Nexus.Nexus
}
[Script]
class npc_crystal_spike_trigger : CreatureScript
class npc_crystal_spike_trigger : ScriptedAI
{
public npc_crystal_spike_trigger() : base("npc_crystal_spike_trigger") { }
class npc_crystal_spike_triggerAI : ScriptedAI
{
public npc_crystal_spike_triggerAI(Creature creature) : base(creature) { }
public npc_crystal_spike_trigger(Creature creature) : base(creature) { }
public override void IsSummonedBy(Unit owner)
{
@@ -249,18 +235,8 @@ namespace Scripts.Northrend.Nexus.Nexus
uint _count;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_crystal_spike_triggerAI(creature);
}
}
[Script]
class spell_crystal_spike : SpellScriptLoader
{
public spell_crystal_spike() : base("spell_crystal_spike") { }
class spell_crystal_spike_AuraScript : AuraScript
class spell_crystal_spike : AuraScript
{
void HandlePeriodic(AuraEffect aurEff)
{
@@ -282,10 +258,4 @@ namespace Scripts.Northrend.Nexus.Nexus
OnEffectPeriodic.Add(new EffectPeriodicHandler(HandlePeriodic, 0, AuraType.PeriodicDummy));
}
}
public override AuraScript GetAuraScript()
{
return new spell_crystal_spike_AuraScript();
}
}
}
@@ -359,10 +359,5 @@ namespace Scripts.Northrend.Nexus.Oculus
EventMap events = new EventMap();
}
public override InstanceScript GetInstanceScript(InstanceMap map)
{
return new instance_oculus_InstanceMapScript(map);
}
}
*/
}
+80 -303
View File
@@ -25,10 +25,8 @@ using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
namespace Scripts.Northrend.Ulduar
namespace Scripts.Northrend.Ulduar.FlameLeviathan
{
namespace FlameLeviathan
{
struct Spells
{
public const uint Pursued = 62374;
@@ -183,7 +181,7 @@ namespace Scripts.Northrend.Ulduar
};
}
struct Says
struct TextIds
{
public const uint Aggro = 0;
public const uint Slay = 1;
@@ -202,14 +200,17 @@ namespace Scripts.Northrend.Ulduar
public const int EmoteRepair = 14;
}
[Script]
class boss_flame_leviathan : CreatureScript
struct GossipIds
{
public boss_flame_leviathan() : base("boss_flame_leviathan") { }
//LoreKeeperGossips
public const int MenuLoreKeeper = 10477;
public const int OptionLoreKeeper = 0;
}
class boss_flame_leviathanAI : BossAI
[Script]
class boss_flame_leviathan : BossAI
{
public boss_flame_leviathanAI(Creature creature) : base(creature, BossIds.Leviathan)
public boss_flame_leviathan(Creature creature) : base(creature, BossIds.Leviathan)
{
vehicle = creature.GetVehicleKit();
}
@@ -288,12 +289,12 @@ namespace Scripts.Northrend.Ulduar
}
if (!towerOfLife && !towerOfFrost && !towerOfFlames && !towerOfStorms)
Talk(Says.TowerNone);
Talk(TextIds.TowerNone);
else
Talk(Says.Hardmode);
Talk(TextIds.Hardmode);
}
else
Talk(Says.Aggro);
Talk(TextIds.Aggro);
}
public override void JustDied(Unit killer)
@@ -302,7 +303,7 @@ namespace Scripts.Northrend.Ulduar
// Set Field Flags 67108928 = 64 | 67108864 = UNIT_FLAG_UNK_6 | UNIT_FLAG_SKINNABLE
// Set DynFlags 12
// Set NPCFlags 0
Talk(Says.Death);
Talk(TextIds.Death);
}
public override void SpellHit(Unit caster, SpellInfo spell)
@@ -365,7 +366,7 @@ namespace Scripts.Northrend.Ulduar
switch (eventId)
{
case Events.Pursue:
Talk(Says.Target);
Talk(TextIds.Target);
DoCast(Spells.Pursued); // Will select target in spellscript
_events.ScheduleEvent(Events.Pursue, 35 * Time.InMilliseconds);
break;
@@ -391,8 +392,8 @@ namespace Scripts.Northrend.Ulduar
_events.ScheduleEvent(Events.Summon, 2 * Time.InMilliseconds);
break;
case Events.Shutdown:
Talk(Says.Overload);
Talk(Says.EmoteOverload);
Talk(TextIds.Overload);
Talk(TextIds.EmoteOverload);
me.CastSpell(me, Spells.SystemsShutdown, true);
if (Shutout)
Shutout = false;
@@ -400,7 +401,7 @@ namespace Scripts.Northrend.Ulduar
_events.DelayEvents(20 * Time.InMilliseconds, 0);
break;
case Events.Repair:
Talk(Says.EmoteRepair);
Talk(TextIds.EmoteRepair);
me.ClearUnitState(UnitState.Stunned | UnitState.Root);
_events.ScheduleEvent(Events.Shutdown, 150 * Time.InMilliseconds);
_events.CancelEvent(Events.Repair);
@@ -412,12 +413,12 @@ namespace Scripts.Northrend.Ulduar
if (thorim)
thorim.GetMotionMaster().MoveRandom(100);
}
Talk(Says.TowerStorm);
Talk(TextIds.TowerStorm);
_events.CancelEvent(Events.ThorimSHammer);
break;
case Events.MimironSInferno: // Tower of Flames
me.SummonCreature(CreatureIds.MimironBeacon, Leviathan.InfernoStart);
Talk(Says.TowerFlame);
Talk(TextIds.TowerFlame);
_events.CancelEvent(Events.MimironSInferno);
break;
case Events.HodirSFury: // Tower of Frost
@@ -427,11 +428,11 @@ namespace Scripts.Northrend.Ulduar
if (hodir)
hodir.GetMotionMaster().MoveRandom(100);
}
Talk(Says.TowerFrost);
Talk(TextIds.TowerFrost);
_events.CancelEvent(Events.HodirSFury);
break;
case Events.FreyaSWard: // Tower of Nature
Talk(Says.TowerNature);
Talk(TextIds.TowerNature);
for (int i = 0; i < 4; ++i)
me.SummonCreature(CreatureIds.FreyaBeacon, Leviathan.FreyaBeacons[i]);
@@ -550,20 +551,10 @@ namespace Scripts.Northrend.Ulduar
ObjectGuid _pursueTarget;
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<boss_flame_leviathanAI>(creature);
}
}
[Script]
class boss_flame_leviathan_seat : CreatureScript
class boss_flame_leviathan_seat : ScriptedAI
{
public boss_flame_leviathan_seat() : base("boss_flame_leviathan_seat") { }
class boss_flame_leviathan_seatAI : ScriptedAI
{
public boss_flame_leviathan_seatAI(Creature creature)
public boss_flame_leviathan_seat(Creature creature)
: base(creature)
{
vehicle = creature.GetVehicleKit();
@@ -587,7 +578,7 @@ namespace Scripts.Northrend.Ulduar
if (!apply)
return;
else if (leviathan)
leviathan.GetAI().Talk(Says.PlayerRiding);
leviathan.GetAI().Talk(TextIds.PlayerRiding);
Unit turretPassenger = me.GetVehicleKit().GetPassenger(Seats.Turret);
if (turretPassenger)
@@ -628,20 +619,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<boss_flame_leviathan_seatAI>(creature);
}
}
[Script]
class boss_flame_leviathan_defense_cannon : CreatureScript
class boss_flame_leviathan_defense_cannon : ScriptedAI
{
public boss_flame_leviathan_defense_cannon() : base("boss_flame_leviathan_defense_cannon") { }
class boss_flame_leviathan_defense_cannonAI : ScriptedAI
{
public boss_flame_leviathan_defense_cannonAI(Creature creature)
public boss_flame_leviathan_defense_cannon(Creature creature)
: base(creature)
{
}
@@ -680,20 +661,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return new boss_flame_leviathan_defense_cannonAI(creature);
}
}
[Script]
class boss_flame_leviathan_defense_turret : CreatureScript
class boss_flame_leviathan_defense_turret : TurretAI
{
public boss_flame_leviathan_defense_turret() : base("boss_flame_leviathan_defense_turret") { }
class boss_flame_leviathan_defense_turretAI : TurretAI
{
public boss_flame_leviathan_defense_turretAI(Creature creature) : base(creature) { }
public boss_flame_leviathan_defense_turret(Creature creature) : base(creature) { }
public override void DamageTaken(Unit who, ref uint damage)
{
@@ -709,20 +680,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return new boss_flame_leviathan_defense_turretAI(creature);
}
}
[Script]
class boss_flame_leviathan_overload_device : CreatureScript
class boss_flame_leviathan_overload_device : PassiveAI
{
public boss_flame_leviathan_overload_device() : base("boss_flame_leviathan_overload_device") { }
class boss_flame_leviathan_overload_deviceAI : PassiveAI
{
public boss_flame_leviathan_overload_deviceAI(Creature creature)
public boss_flame_leviathan_overload_device(Creature creature)
: base(creature)
{
}
@@ -748,20 +709,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return new boss_flame_leviathan_overload_deviceAI(creature);
}
}
[Script]
class boss_flame_leviathan_safety_container : CreatureScript
class boss_flame_leviathan_safety_container : PassiveAI
{
public boss_flame_leviathan_safety_container() : base("boss_flame_leviathan_safety_container") { }
class boss_flame_leviathan_safety_containerAI : PassiveAI
{
public boss_flame_leviathan_safety_containerAI(Creature creature)
public boss_flame_leviathan_safety_container(Creature creature)
: base(creature)
{
}
@@ -780,20 +731,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return new boss_flame_leviathan_safety_containerAI(creature);
}
}
[Script]
class npc_mechanolift : CreatureScript
class npc_mechanolift : PassiveAI
{
public npc_mechanolift() : base("npc_mechanolift") { }
class npc_mechanoliftAI : PassiveAI
{
public npc_mechanoliftAI(Creature creature) : base(creature)
public npc_mechanolift(Creature creature) : base(creature)
{
Contract.Assert(me.GetVehicleKit());
}
@@ -846,20 +787,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_mechanoliftAI(creature);
}
}
[Script]
class npc_pool_of_tar : CreatureScript
class npc_pool_of_tar : ScriptedAI
{
public npc_pool_of_tar() : base("npc_pool_of_tar") { }
class npc_pool_of_tarAI : ScriptedAI
{
public npc_pool_of_tarAI(Creature creature)
public npc_pool_of_tar(Creature creature)
: base(creature)
{
me.RemoveFlag(UnitFields.Flags, UnitFlags.NotSelectable);
@@ -881,20 +812,10 @@ namespace Scripts.Northrend.Ulduar
public override void UpdateAI(uint diff) { }
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_pool_of_tarAI(creature);
}
}
[Script]
class npc_colossus : CreatureScript
class npc_colossus : ScriptedAI
{
public npc_colossus() : base("npc_colossus") { }
class npc_colossusAI : ScriptedAI
{
public npc_colossusAI(Creature creature)
public npc_colossus(Creature creature)
: base(creature)
{
instance = creature.GetInstanceScript();
@@ -917,20 +838,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_colossusAI>(creature);
}
}
[Script]
class npc_thorims_hammer : CreatureScript
class npc_thorims_hammer : ScriptedAI
{
public npc_thorims_hammer() : base("npc_thorims_hammer") { }
class npc_thorims_hammerAI : ScriptedAI
{
public npc_thorims_hammerAI(Creature creature)
public npc_thorims_hammer(Creature creature)
: base(creature)
{
me.SetFlag(UnitFields.Flags, UnitFlags.NotSelectable);
@@ -956,20 +867,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_thorims_hammerAI(creature);
}
}
[Script]
class npc_mimirons_inferno : CreatureScript
class npc_mimirons_inferno : npc_escortAI
{
public npc_mimirons_inferno() : base("npc_mimirons_inferno") { }
class npc_mimirons_infernoAI : npc_escortAI
{
public npc_mimirons_infernoAI(Creature creature)
public npc_mimirons_inferno(Creature creature)
: base(creature)
{
me.SetFlag(UnitFields.Flags, UnitFlags.NonAttackable | UnitFlags.NotSelectable);
@@ -1015,20 +916,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_mimirons_infernoAI(creature);
}
}
[Script]
class npc_hodirs_fury : CreatureScript
class npc_hodirs_fury : ScriptedAI
{
public npc_hodirs_fury() : base("npc_hodirs_fury") { }
class npc_hodirs_furyAI : ScriptedAI
{
public npc_hodirs_furyAI(Creature creature)
public npc_hodirs_fury(Creature creature)
: base(creature)
{
me.SetFlag(UnitFields.Flags, UnitFlags.NotSelectable);
@@ -1054,20 +945,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_hodirs_furyAI(creature);
}
}
[Script]
class npc_freyas_ward : CreatureScript
class npc_freyas_ward : ScriptedAI
{
public npc_freyas_ward() : base("npc_freyas_ward") { }
class npc_freyas_wardAI : ScriptedAI
{
public npc_freyas_wardAI(Creature creature)
public npc_freyas_ward(Creature creature)
: base(creature)
{
me.CastSpell(me, Spells.DummyGreen, true);
@@ -1098,20 +979,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_freyas_wardAI(creature);
}
}
[Script]
class npc_freya_ward_summon : CreatureScript
class npc_freya_ward_summon : ScriptedAI
{
public npc_freya_ward_summon() : base("npc_freya_ward_summon") { }
class npc_freya_ward_summonAI : ScriptedAI
{
public npc_freya_ward_summonAI(Creature creature)
public npc_freya_ward_summon(Creature creature)
: base(creature)
{
creature.GetMotionMaster().MoveRandom(100);
@@ -1141,24 +1012,13 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_freya_ward_summonAI(creature);
}
}
[Script]
class npc_lorekeeper : CreatureScript
class npc_lorekeeper : ScriptedAI
{
string GOSSIP_ITEM_1 = "Activate secondary defensive systems";
string GOSSIP_ITEM_2 = "Confirmed";
public npc_lorekeeper() : base("npc_lorekeeper") { }
class npc_lorekeeperAI : ScriptedAI
public npc_lorekeeper(Creature creature) : base(creature)
{
public npc_lorekeeperAI(Creature creature)
: base(creature) { }
_instance = creature.GetInstanceScript();
}
public override void DoAction(int action)
{
@@ -1174,65 +1034,38 @@ namespace Scripts.Northrend.Ulduar
return;
}
}
}
public override bool OnGossipSelect(Player player, Creature creature, uint sender, uint action)
public override void sGossipSelect(Player player, uint menuId, uint gossipListId)
{
player.CLOSE_GOSSIP_MENU();
InstanceScript instance = creature.GetInstanceScript();
if (instance == null)
return true;
switch (action)
if (menuId == GossipIds.MenuLoreKeeper && gossipListId == GossipIds.OptionLoreKeeper)
{
case eTradeskill.GossipActionInfoDef + 1:
player.PrepareGossipMenu(creature);
instance.instance.LoadGrid(364, -16); //make sure leviathan is loaded
me.RemoveFlag(UnitFields.NpcFlags, NPCFlags.Gossip);
player.PlayerTalkClass.SendCloseGossip();
me.GetMap().LoadGrid(364, -16); // make sure leviathan is loaded
player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GOSSIP_ITEM_2, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 2);
player.SEND_GOSSIP_MENU(player.GetGossipTextId(creature), creature.GetGUID());
break;
case eTradeskill.GossipActionInfoDef + 2:
Creature leviathan = instance.instance.GetCreature(instance.GetGuidData(BossIds.Leviathan));
Creature leviathan = ObjectAccessor.GetCreature(me, _instance.GetGuidData(BossIds.Leviathan));
if (leviathan)
{
leviathan.GetAI().DoAction(Leviathan.ActionStartHardMode);
creature.SetVisible(false);
creature.GetAI().DoAction(Leviathan.ActionSpawnVehicles); // spawn the vehicles
Creature Delorah = creature.FindNearestCreature(CreatureIds.Delorah, 1000, true);
if (Delorah)
me.SetVisible(false);
DoAction(Leviathan.ActionSpawnVehicles); // spawn the vehicles
Creature delorah = _instance.GetCreature(InstanceData.Dellorah);
if (delorah)
{
Creature Branz = creature.FindNearestCreature(CreatureIds.BranzBronzbeard, 1000, true);
if (Branz)
Creature brann = _instance.GetCreature(InstanceData.BrannBronzebeardIntro);
if (brann)
{
Delorah.GetMotionMaster().MovePoint(0, Branz.GetPositionX() - 4, Branz.GetPositionY(), Branz.GetPositionZ());
// @todo Delorah.AI().Talk(xxxx, Branz); when reached at branz
brann.RemoveFlag(UnitFields.NpcFlags, NPCFlags.Gossip);
delorah.GetMotionMaster().MovePoint(0, brann.GetPositionX() - 4, brann.GetPositionY(), brann.GetPositionZ());
/// @todo delorah->AI()->Talk(xxxx, brann->GetGUID()); when reached at branz
}
}
}
}
break;
}
return true;
}
public override bool OnGossipHello(Player player, Creature creature)
{
InstanceScript instance = creature.GetInstanceScript();
if (instance != null && instance.GetData(BossIds.Leviathan) != (uint)EncounterState.Done && player)
{
player.PrepareGossipMenu(creature);
player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GOSSIP_ITEM_1, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
player.SEND_GOSSIP_MENU(player.GetGossipTextId(creature), creature.GetGUID());
}
return true;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_lorekeeperAI(creature);
}
InstanceScript _instance;
}
[Script]
@@ -1435,16 +1268,7 @@ namespace Scripts.Northrend.Ulduar
}
[Script]
class spell_load_into_catapult : SpellScriptLoader
{
enum Spells
{
SPELL_PASSENGER_LOADED = 62340,
}
public spell_load_into_catapult() : base("spell_load_into_catapult") { }
class spell_load_into_catapult_AuraScript : AuraScript
class spell_load_into_catapult : AuraScript
{
void OnApply(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -1471,18 +1295,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override AuraScript GetAuraScript()
{
return new spell_load_into_catapult_AuraScript();
}
}
[Script]
class spell_auto_repair : SpellScriptLoader
{
public spell_auto_repair() : base("spell_auto_repair") { }
class spell_auto_repair_SpellScript : SpellScript
class spell_auto_repair : SpellScript
{
void CheckCooldownForTarget(SpellMissInfo missInfo)
{
@@ -1512,7 +1326,7 @@ namespace Scripts.Northrend.Ulduar
if (!driver)
return;
driver.TextEmote(Says.EmoteRepair, driver, true);
driver.TextEmote(TextIds.EmoteRepair, driver, true);
InstanceScript instance = driver.GetInstanceScript();
if (instance == null)
@@ -1532,18 +1346,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_auto_repair_SpellScript();
}
}
[Script]
class spell_systems_shutdown : SpellScriptLoader
{
public spell_systems_shutdown() : base("spell_systems_shutdown") { }
class spell_systems_shutdown_AuraScript : AuraScript
class spell_systems_shutdown : AuraScript
{
void OnApply(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -1573,20 +1377,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override AuraScript GetAuraScript()
{
return new spell_systems_shutdown_AuraScript();
}
}
[Script]
class spell_pursue : SpellScriptLoader
{
public spell_pursue() : base("spell_pursue") { }
const uint AREA_FORMATION_GROUNDS = 4652;
class spell_pursue_SpellScript : SpellScript
class spell_pursue : SpellScript
{
public override bool Load()
{
@@ -1664,7 +1456,7 @@ namespace Scripts.Northrend.Ulduar
Player passenger = Global.ObjAccessor.GetPlayer(caster, seat.Passenger.Guid);
if (passenger)
{
caster.GetAI().Talk(Says.EmotePursue, passenger);
caster.GetAI().Talk(TextIds.EmotePursue, passenger);
return;
}
}
@@ -1677,21 +1469,13 @@ namespace Scripts.Northrend.Ulduar
OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.ApplyAura));
}
const uint AREA_FORMATION_GROUNDS = 4652;
WorldObject _target;
}
public override SpellScript GetSpellScript()
{
return new spell_pursue_SpellScript();
}
}
[Script]
class spell_vehicle_throw_passenger : SpellScriptLoader
{
public spell_vehicle_throw_passenger() : base("spell_vehicle_throw_passenger") { }
class spell_vehicle_throw_passenger_SpellScript : SpellScript
class spell_vehicle_throw_passenger : SpellScript
{
void HandleScript(uint effIndex)
{
@@ -1758,11 +1542,4 @@ namespace Scripts.Northrend.Ulduar
OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.Dummy));
}
}
public override SpellScript GetSpellScript()
{
return new spell_vehicle_throw_passenger_SpellScript();
}
}
}
}
+46 -395
View File
@@ -372,13 +372,9 @@ namespace Scripts.Northrend.Ulduar
}
[Script]
class boss_mimiron : CreatureScript
class boss_mimiron : BossAI
{
public boss_mimiron() : base("boss_mimiron") { }
class boss_mimironAI : BossAI
{
public boss_mimironAI(Creature creature) : base(creature, BossIds.Mimiron)
public boss_mimiron(Creature creature) : base(creature, BossIds.Mimiron)
{
me.SetReactState(ReactStates.Passive);
_fireFighter = false;
@@ -741,20 +737,10 @@ namespace Scripts.Northrend.Ulduar
bool _fireFighter;
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<boss_mimironAI>(creature);
}
}
[Script]
class boss_leviathan_mk_ii : CreatureScript
class boss_leviathan_mk_ii : BossAI
{
public boss_leviathan_mk_ii() : base("boss_leviathan_mk_ii") { }
class boss_leviathan_mk_iiAI : BossAI
{
public boss_leviathan_mk_iiAI(Creature creature) : base(creature, BossIds.Mimiron)
public boss_leviathan_mk_ii(Creature creature) : base(creature, BossIds.Mimiron)
{
_fireFighter = false;
_setupMine = true;
@@ -1007,20 +993,10 @@ namespace Scripts.Northrend.Ulduar
bool _setupRocket;
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<boss_leviathan_mk_iiAI>(creature);
}
}
[Script] //todo check for both rockets
class boss_vx_001 : CreatureScript
class boss_vx_001 : BossAI
{
public boss_vx_001() : base("boss_vx_001") { }
class boss_vx_001AI : BossAI
{
public boss_vx_001AI(Creature creature) : base(creature, BossIds.Mimiron)
public boss_vx_001(Creature creature) : base(creature, BossIds.Mimiron)
{
me.SetDisableGravity(true); // This is the unfold visual state of VX-001, it has to be set on create as it requires an objectupdate if set later.
me.SetUInt32Value(UnitFields.NpcEmotestate, (uint)Emote.StateSpecialUnarmed); // This is a hack to force the yet to be unfolded visual state.
@@ -1201,20 +1177,10 @@ namespace Scripts.Northrend.Ulduar
bool _fireFighter;
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<boss_vx_001AI>(creature);
}
}
[Script]
class boss_aerial_command_unit : CreatureScript
class boss_aerial_command_unit : BossAI
{
public boss_aerial_command_unit() : base("boss_aerial_command_unit") { }
class boss_aerial_command_unitAI : BossAI
{
public boss_aerial_command_unitAI(Creature creature) : base(creature, BossIds.Mimiron)
public boss_aerial_command_unit(Creature creature) : base(creature, BossIds.Mimiron)
{
me.SetReactState(ReactStates.Passive);
fireFigther = false;
@@ -1363,20 +1329,10 @@ namespace Scripts.Northrend.Ulduar
bool fireFigther;
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<boss_aerial_command_unitAI>(creature);
}
}
[Script]
class npc_mimiron_assault_bot : CreatureScript
class npc_mimiron_assault_bot : ScriptedAI
{
public npc_mimiron_assault_bot() : base("npc_mimiron_assault_bot") { }
class npc_mimiron_assault_botAI : ScriptedAI
{
public npc_mimiron_assault_botAI(Creature creature) : base(creature) { }
public npc_mimiron_assault_bot(Creature creature) : base(creature) { }
public override void EnterCombat(Unit who)
{
@@ -1407,20 +1363,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<npc_mimiron_assault_botAI>(creature);
}
}
[Script]
class npc_mimiron_emergency_fire_bot : CreatureScript
class npc_mimiron_emergency_fire_bot : ScriptedAI
{
public npc_mimiron_emergency_fire_bot() : base("npc_mimiron_emergency_fire_bot") { }
class npc_mimiron_emergency_fire_botAI : ScriptedAI
{
public npc_mimiron_emergency_fire_botAI(Creature creature) : base(creature)
public npc_mimiron_emergency_fire_bot(Creature creature) : base(creature)
{
me.SetReactState(ReactStates.Passive);
isWaterSprayReady = true;
@@ -1466,20 +1412,10 @@ namespace Scripts.Northrend.Ulduar
bool moveNew;
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<npc_mimiron_emergency_fire_botAI>(creature);
}
}
[Script]
class npc_mimiron_computer : CreatureScript
class npc_mimiron_computer : ScriptedAI
{
public npc_mimiron_computer() : base("npc_mimiron_computer") { }
class npc_mimiron_computerAI : ScriptedAI
{
public npc_mimiron_computerAI(Creature creature) : base(creature)
public npc_mimiron_computer(Creature creature) : base(creature)
{
instance = me.GetInstanceScript();
}
@@ -1574,20 +1510,10 @@ namespace Scripts.Northrend.Ulduar
InstanceScript instance;
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<npc_mimiron_computerAI>(creature);
}
}
[Script]
class npc_mimiron_flames : CreatureScript
class npc_mimiron_flames : ScriptedAI
{
public npc_mimiron_flames() : base("npc_mimiron_flames") { }
class npc_mimiron_flamesAI : ScriptedAI
{
public npc_mimiron_flamesAI(Creature creature) : base(creature)
public npc_mimiron_flames(Creature creature) : base(creature)
{
instance = me.GetInstanceScript();
}
@@ -1611,20 +1537,10 @@ namespace Scripts.Northrend.Ulduar
InstanceScript instance;
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<npc_mimiron_flamesAI>(creature);
}
}
[Script]
class npc_mimiron_frost_bomb : CreatureScript
class npc_mimiron_frost_bomb : ScriptedAI
{
public npc_mimiron_frost_bomb() : base("npc_mimiron_frost_bomb") { }
class npc_mimiron_frost_bombAI : ScriptedAI
{
public npc_mimiron_frost_bombAI(Creature creature) : base(creature) { }
public npc_mimiron_frost_bomb(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -1646,20 +1562,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<npc_mimiron_frost_bombAI>(creature);
}
}
[Script]
class npc_mimiron_proximity_mine : CreatureScript
class npc_mimiron_proximity_mine : ScriptedAI
{
public npc_mimiron_proximity_mine() : base("npc_mimiron_proximity_mine") { }
class npc_mimiron_proximity_mineAI : ScriptedAI
{
public npc_mimiron_proximity_mineAI(Creature creature) : base(creature) { }
public npc_mimiron_proximity_mine(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -1683,12 +1589,6 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<npc_mimiron_proximity_mineAI>(creature);
}
}
[Script]
class go_mimiron_hardmode_button : GameObjectScript
{
@@ -1713,11 +1613,7 @@ namespace Scripts.Northrend.Ulduar
}
[Script] // 63801 - Bomb Bot
class spell_mimiron_bomb_bot : SpellScriptLoader
{
public spell_mimiron_bomb_bot() : base("spell_mimiron_bomb_bot") { }
class spell_mimiron_bomb_bot_SpellScript : SpellScript
class spell_mimiron_bomb_bot : SpellScript
{
void HandleScript(uint effIndex)
{
@@ -1750,18 +1646,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_bomb_bot_SpellScript();
}
}
[Script] // 65192 - Flame Suppressant, 65224 - Clear Fires, 65354 - Clear Fires, 64619 - Water Spray
class spell_mimiron_clear_fires : SpellScriptLoader
{
public spell_mimiron_clear_fires() : base("spell_mimiron_clear_fires") { }
class spell_mimiron_clear_fires_SpellScript : SpellScript
class spell_mimiron_clear_fires : SpellScript
{
void HandleDummy(uint effIndex)
{
@@ -1775,18 +1661,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_clear_fires_SpellScript();
}
}
[Script] // 64463 - Despawn Assault Bots
class spell_mimiron_despawn_assault_bots : SpellScriptLoader
{
public spell_mimiron_despawn_assault_bots() : base("spell_mimiron_despawn_assault_bots") { }
class spell_mimiron_despawn_assault_bots_SpellScript : SpellScript
class spell_mimiron_despawn_assault_bots : SpellScript
{
void HandleScript(uint effIndex)
{
@@ -1800,20 +1676,10 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_despawn_assault_bots_SpellScript();
}
}
[Script] // 64618 - Fire Search
class spell_mimiron_fire_search : SpellScriptLoader
class spell_mimiron_fire_search : SpellScript
{
public spell_mimiron_fire_search() : base("spell_mimiron_fire_search") { }
class spell_mimiron_fire_search_SpellScript : SpellScript
{
public spell_mimiron_fire_search_SpellScript()
public spell_mimiron_fire_search()
{
_noTarget = false;
}
@@ -1870,18 +1736,8 @@ namespace Scripts.Northrend.Ulduar
bool _noTarget;
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_fire_search_SpellScript();
}
}
[Script] // 64436 - Magnetic Core
class spell_mimiron_magnetic_core : SpellScriptLoader
{
public spell_mimiron_magnetic_core() : base("spell_mimiron_magnetic_core") { }
class spell_mimiron_magnetic_core_SpellScript : SpellScript
class spell_mimiron_magnetic_core : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -1894,11 +1750,7 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_magnetic_core_SpellScript();
}
[Script]
class spell_mimiron_magnetic_core_AuraScript : AuraScript
{
public override bool Validate(SpellInfo spell)
@@ -1941,18 +1793,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override AuraScript GetAuraScript()
{
return new spell_mimiron_magnetic_core_AuraScript();
}
}
[Script] // 63667 - Napalm Shell
class spell_mimiron_napalm_shell : SpellScriptLoader
{
public spell_mimiron_napalm_shell() : base("spell_mimiron_napalm_shell") { }
class spell_mimiron_napalm_shell_SpellScript : SpellScript
class spell_mimiron_napalm_shell : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -1987,18 +1829,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_napalm_shell_SpellScript();
}
}
[Script] // 64542 - Plasma Blast
class spell_mimiron_plasma_blast : SpellScriptLoader
{
public spell_mimiron_plasma_blast() : base("spell_mimiron_plasma_blast") { }
class spell_mimiron_plasma_blast_SpellScript : SpellScript
class spell_mimiron_plasma_blast : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2023,18 +1855,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_plasma_blast_SpellScript();
}
}
[Script] // 66351 - Explosion
class spell_mimiron_proximity_explosion : SpellScriptLoader
{
public spell_mimiron_proximity_explosion() : base("spell_mimiron_proximity_explosion") { }
class spell_mimiron_proximity_explosion_SpellScript : SpellScript
class spell_mimiron_proximity_explosion : SpellScript
{
public void onHit(uint effIndex)
{
@@ -2062,18 +1884,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_proximity_explosion_SpellScript();
}
}
[Script] // 63027 - Proximity Mines
class spell_mimiron_proximity_mines : SpellScriptLoader
{
public spell_mimiron_proximity_mines() : base("spell_mimiron_proximity_mines") { }
class spell_mimiron_proximity_mines_SpellScript : SpellScript
class spell_mimiron_proximity_mines : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2092,18 +1904,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_proximity_mines_SpellScript();
}
}
[Script] // 65346 - Proximity Mine
class spell_mimiron_proximity_trigger : SpellScriptLoader
{
public spell_mimiron_proximity_trigger() : base("spell_mimiron_proximity_trigger") { }
class spell_mimiron_proximity_trigger_SpellScript : SpellScript
class spell_mimiron_proximity_trigger : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2130,18 +1932,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_proximity_trigger_SpellScript();
}
}
[Script] // 63382 - Rapid Burst
class spell_mimiron_rapid_burst : SpellScriptLoader
{
public spell_mimiron_rapid_burst() : base("spell_mimiron_rapid_burst") { }
class spell_mimiron_rapid_burst_AuraScript : AuraScript
class spell_mimiron_rapid_burst : AuraScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2168,18 +1960,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override AuraScript GetAuraScript()
{
return new spell_mimiron_rapid_burst_AuraScript();
}
}
[Script] // 64402 - Rocket Strike, 65034 - Rocket Strike
class spell_mimiron_rocket_strike : SpellScriptLoader
{
public spell_mimiron_rocket_strike() : base("spell_mimiron_rocket_strike") { }
class spell_mimiron_rocket_strike_SpellScript : SpellScript
class spell_mimiron_rocket_strike : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2214,18 +1996,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_rocket_strike_SpellScript();
}
}
[Script] // 63041 - Rocket Strike
class spell_mimiron_rocket_strike_damage : SpellScriptLoader
{
public spell_mimiron_rocket_strike_damage() : base("spell_mimiron_rocket_strike_damage") { }
class spell_mimiron_rocket_strike_damage_SpellScript : SpellScript
class spell_mimiron_rocket_strike_damage : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2266,18 +2038,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_rocket_strike_damage_SpellScript();
}
}
[Script] // 63681 - Rocket Strike
class spell_mimiron_rocket_strike_target_select : SpellScriptLoader
{
public spell_mimiron_rocket_strike_target_select() : base("spell_mimiron_rocket_strike_target_select") { }
class spell_mimiron_rocket_strike_target_select_SpellScript : SpellScript
class spell_mimiron_rocket_strike_target_select : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2315,18 +2077,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_rocket_strike_target_select_SpellScript();
}
}
[Script] // 64383 - Self Repair
class spell_mimiron_self_repair : SpellScriptLoader
{
public spell_mimiron_self_repair() : base("spell_mimiron_self_repair") { }
class spell_mimiron_self_repair_SpellScript : SpellScript
class spell_mimiron_self_repair : SpellScript
{
void HandleScript()
{
@@ -2340,18 +2092,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_self_repair_SpellScript();
}
}
[Script] // 64426 - Summon Scrap Bot
class spell_mimiron_summon_assault_bot : SpellScriptLoader
{
public spell_mimiron_summon_assault_bot() : base("spell_mimiron_summon_assault_bot") { }
class spell_mimiron_summon_assault_bot_AuraScript : AuraScript
class spell_mimiron_summon_assault_bot : AuraScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2376,18 +2118,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override AuraScript GetAuraScript()
{
return new spell_mimiron_summon_assault_bot_AuraScript();
}
}
[Script] // 64425 - Summon Scrap Bot Trigger
class spell_mimiron_summon_assault_bot_target : SpellScriptLoader
{
public spell_mimiron_summon_assault_bot_target() : base("spell_mimiron_summon_assault_bot_target") { }
class spell_mimiron_summon_assault_bot_target_SpellScript : SpellScript
class spell_mimiron_summon_assault_bot_target : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2405,18 +2137,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_summon_assault_bot_target_SpellScript();
}
}
[Script] // 64621 - Summon Fire Bot
class spell_mimiron_summon_fire_bot : SpellScriptLoader
{
public spell_mimiron_summon_fire_bot() : base("spell_mimiron_summon_fire_bot") { }
class spell_mimiron_summon_fire_bot_AuraScript : AuraScript
class spell_mimiron_summon_fire_bot : AuraScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2442,18 +2164,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override AuraScript GetAuraScript()
{
return new spell_mimiron_summon_fire_bot_AuraScript();
}
}
[Script] // 64620 - Summon Fire Bot Trigger
class spell_mimiron_summon_fire_bot_target : SpellScriptLoader
{
public spell_mimiron_summon_fire_bot_target() : base("spell_mimiron_summon_fire_bot_target") { }
class spell_mimiron_summon_fire_bot_target_SpellScript : SpellScript
class spell_mimiron_summon_fire_bot_target : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2471,18 +2183,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_summon_fire_bot_target_SpellScript();
}
}
[Script] // 64562 - Summon Flames Spread Trigger
class spell_mimiron_summon_flames_spread : SpellScriptLoader
{
public spell_mimiron_summon_flames_spread() : base("spell_mimiron_summon_flames_spread") { }
class spell_mimiron_summon_flames_spread_SpellScript : SpellScript
class spell_mimiron_summon_flames_spread : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -2512,11 +2214,6 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_summon_flames_spread_SpellScript();
}
class spell_mimiron_summon_flames_spread_AuraScript : AuraScript
{
public override bool Validate(SpellInfo spell)
@@ -2539,18 +2236,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override AuraScript GetAuraScript()
{
return new spell_mimiron_summon_flames_spread_AuraScript();
}
}
[Script] // 64623 - Frost Bomb
class spell_mimiron_summon_frost_bomb_target : SpellScriptLoader
{
public spell_mimiron_summon_frost_bomb_target() : base("spell_mimiron_summon_frost_bomb_target") { }
class spell_mimiron_summon_frost_bomb_target_SpellScript : SpellScript
class spell_mimiron_summon_frost_bomb_target : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2585,18 +2272,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_summon_frost_bomb_target_SpellScript();
}
}
[Script] // 64398 - Summon Scrap Bot
class spell_mimiron_summon_junk_bot : SpellScriptLoader
{
public spell_mimiron_summon_junk_bot() : base("spell_mimiron_summon_junk_bot") { }
class spell_mimiron_summon_junk_bot_AuraScript : AuraScript
class spell_mimiron_summon_junk_bot : AuraScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2621,18 +2298,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override AuraScript GetAuraScript()
{
return new spell_mimiron_summon_junk_bot_AuraScript();
}
}
[Script] // 63820 - Summon Scrap Bot Trigger
class spell_mimiron_summon_junk_bot_target : SpellScriptLoader
{
public spell_mimiron_summon_junk_bot_target() : base("spell_mimiron_summon_junk_bot_target") { }
class spell_mimiron_summon_junk_bot_target_SpellScript : SpellScript
class spell_mimiron_summon_junk_bot_target : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -2650,18 +2317,8 @@ namespace Scripts.Northrend.Ulduar
}
}
public override SpellScript GetSpellScript()
{
return new spell_mimiron_summon_junk_bot_target_SpellScript();
}
}
[Script] // 63339 - Weld
class spell_mimiron_weld : SpellScriptLoader
{
public spell_mimiron_weld() : base("spell_mimiron_weld") { }
class spell_mimiron_weld_AuraScript : AuraScript
class spell_mimiron_weld : AuraScript
{
void HandleTick(AuraEffect aurEff)
{
@@ -2681,12 +2338,6 @@ namespace Scripts.Northrend.Ulduar
}
}
public override AuraScript GetAuraScript()
{
return new spell_mimiron_weld_AuraScript();
}
}
[Script]
class achievement_setup_boom : AchievementCriteriaScript
{
+3 -7
View File
@@ -30,13 +30,9 @@ namespace Scripts.Northrend.Ulduar
{
namespace Razorscale
{
/*class boss_razorscale_controller : CreatureScript
/*class boss_razorscale_controller : BossAI
{
public boss_razorscale_controller() : base("boss_razorscale_controller") { }
class boss_razorscale_controllerAI : BossAI
{
public boss_razorscale_controllerAI(Creature creature) : base(creature, InstanceData.RazorscaleControl)
public boss_razorscale_controller(Creature creature) : base(creature, InstanceData.RazorscaleControl)
{
me.SetDisplayId(me.GetCreatureTemplate().ModelId2);
}
@@ -152,7 +148,7 @@ namespace Scripts.Northrend.Ulduar
}
}
public override CreatureAI GetAI(Creature creature)
public override CreatureAI Get(Creature creature)
{
return GetInstanceAI<boss_razorscale_controllerAI>(creature);
}
+6
View File
@@ -377,6 +377,12 @@ namespace Scripts.Northrend.Ulduar
public const uint UniverseGlobe = 55;
public const uint AlgalonTrapdoor = 56;
public const uint BrannBronzebeardAlg = 57;
// Misc
public const uint BrannBronzebeardIntro = 58;
public const uint LoreKeeperOfNorgannon = 59;
public const uint Dellorah = 60;
public const uint BronzebeardRadio = 61;
}
struct InstanceWorldStates
+21 -161
View File
@@ -122,13 +122,9 @@ namespace Scripts.Northrend.Ulduar.Xt002
}
[Script]
class boss_xt002 : CreatureScript
class boss_xt002_ : BossAI
{
public boss_xt002() : base("boss_xt002") { }
class boss_xt002_AI : BossAI
{
public boss_xt002_AI(Creature creature) : base(creature, BossIds.Xt002)
public boss_xt002_(Creature creature) : base(creature, BossIds.Xt002)
{
Initialize();
_transferHealth = 0;
@@ -367,20 +363,10 @@ namespace Scripts.Northrend.Ulduar.Xt002
uint _transferHealth;
}
public override CreatureAI GetAI(Creature creature)
{
return instance_ulduar.GetUlduarInstanceAI<boss_xt002_AI>(creature);
}
}
[Script]
class npc_xt002_heart : CreatureScript
class npc_xt002_heart : ScriptedAI
{
public npc_xt002_heart() : base("npc_xt002_heart") { }
class npc_xt002_heartAI : ScriptedAI
{
public npc_xt002_heartAI(Creature creature) : base(creature)
public npc_xt002_heart(Creature creature) : base(creature)
{
_instance = creature.GetInstanceScript();
@@ -402,20 +388,10 @@ namespace Scripts.Northrend.Ulduar.Xt002
InstanceScript _instance;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_xt002_heartAI>(creature);
}
}
[Script]
class npc_scrapbot : CreatureScript
class npc_scrapbot : ScriptedAI
{
public npc_scrapbot() : base("npc_scrapbot") { }
class npc_scrapbotAI : ScriptedAI
{
public npc_scrapbotAI(Creature creature) : base(creature)
public npc_scrapbot(Creature creature) : base(creature)
{
_instance = me.GetInstanceScript();
}
@@ -450,20 +426,10 @@ namespace Scripts.Northrend.Ulduar.Xt002
InstanceScript _instance;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_scrapbotAI>(creature);
}
}
[Script]
class npc_pummeller : CreatureScript
class npc_pummeller : ScriptedAI
{
public npc_pummeller() : base("npc_pummeller") { }
class npc_pummellerAI : ScriptedAI
{
public npc_pummellerAI(Creature creature) : base(creature)
public npc_pummeller(Creature creature) : base(creature)
{
Initialize();
_instance = creature.GetInstanceScript();
@@ -519,12 +485,6 @@ namespace Scripts.Northrend.Ulduar.Xt002
InstanceScript _instance;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_pummellerAI>(creature);
}
}
class BoomEvent : BasicEvent
{
public BoomEvent(Creature me)
@@ -548,13 +508,9 @@ namespace Scripts.Northrend.Ulduar.Xt002
}
[Script]
class npc_boombot : CreatureScript
class npc_boombot : ScriptedAI
{
public npc_boombot() : base("npc_boombot") { }
class npc_boombotAI : ScriptedAI
{
public npc_boombotAI(Creature creature) : base(creature)
public npc_boombot(Creature creature) : base(creature)
{
Initialize();
_instance = creature.GetInstanceScript();
@@ -618,20 +574,10 @@ namespace Scripts.Northrend.Ulduar.Xt002
bool _boomed;
}
public override CreatureAI GetAI(Creature creature)
{
return GetInstanceAI<npc_boombotAI>(creature);
}
}
[Script]
class npc_life_spark : CreatureScript
class npc_life_spark : ScriptedAI
{
public npc_life_spark() : base("npc_life_spark") { }
class npc_life_sparkAI : ScriptedAI
{
public npc_life_sparkAI(Creature creature) : base(creature) { }
public npc_life_spark(Creature creature) : base(creature) { }
void Initialize()
{
@@ -670,20 +616,10 @@ namespace Scripts.Northrend.Ulduar.Xt002
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_life_sparkAI(creature);
}
}
[Script]
class npc_xt_void_zone : CreatureScript
class npc_xt_void_zone : PassiveAI
{
public npc_xt_void_zone() : base("npc_xt_void_zone") { }
class npc_xt_void_zoneAI : PassiveAI
{
public npc_xt_void_zoneAI(Creature creature) : base(creature) { }
public npc_xt_void_zone(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -700,18 +636,8 @@ namespace Scripts.Northrend.Ulduar.Xt002
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_xt_void_zoneAI(creature);
}
}
[Script]
class spell_xt002_searing_light_spawn_life_spark : SpellScriptLoader
{
public spell_xt002_searing_light_spawn_life_spark() : base("spell_xt002_searing_light_spawn_life_spark") { }
class spell_xt002_searing_light_spawn_life_spark_AuraScript : AuraScript
class spell_xt002_searing_light_spawn_life_spark : AuraScript
{
public override bool Validate(SpellInfo spell)
{
@@ -736,18 +662,8 @@ namespace Scripts.Northrend.Ulduar.Xt002
}
}
public override AuraScript GetAuraScript()
{
return new spell_xt002_searing_light_spawn_life_spark_AuraScript();
}
}
[Script]
class spell_xt002_gravity_bomb_aura : SpellScriptLoader
{
public spell_xt002_gravity_bomb_aura() : base("spell_xt002_gravity_bomb_aura") { }
class spell_xt002_gravity_bomb_aura_AuraScript : AuraScript
class spell_xt002_gravity_bomb_aura : AuraScript
{
public override bool Validate(SpellInfo spell)
{
@@ -788,18 +704,8 @@ namespace Scripts.Northrend.Ulduar.Xt002
}
}
public override AuraScript GetAuraScript()
{
return new spell_xt002_gravity_bomb_aura_AuraScript();
}
}
[Script]
class spell_xt002_gravity_bomb_damage : SpellScriptLoader
{
public spell_xt002_gravity_bomb_damage() : base("spell_xt002_gravity_bomb_damage") { }
class spell_xt002_gravity_bomb_damage_SpellScript : SpellScript
class spell_xt002_gravity_bomb_damage : SpellScript
{
void HandleScript(uint eff)
{
@@ -818,18 +724,8 @@ namespace Scripts.Northrend.Ulduar.Xt002
}
}
public override SpellScript GetSpellScript()
{
return new spell_xt002_gravity_bomb_damage_SpellScript();
}
}
[Script]
class spell_xt002_heart_overload_periodic : SpellScriptLoader
{
public spell_xt002_heart_overload_periodic() : base("spell_xt002_heart_overload_periodic") { }
class spell_xt002_heart_overload_periodic_SpellScript : SpellScript
class spell_xt002_heart_overload_periodic : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -873,18 +769,8 @@ namespace Scripts.Northrend.Ulduar.Xt002
}
}
public override SpellScript GetSpellScript()
{
return new spell_xt002_heart_overload_periodic_SpellScript();
}
}
[Script]
class spell_xt002_tympanic_tantrum : SpellScriptLoader
{
public spell_xt002_tympanic_tantrum() : base("spell_xt002_tympanic_tantrum") { }
class spell_xt002_tympanic_tantrum_SpellScript : SpellScript
class spell_xt002_tympanic_tantrum : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -904,18 +790,8 @@ namespace Scripts.Northrend.Ulduar.Xt002
}
}
public override SpellScript GetSpellScript()
{
return new spell_xt002_tympanic_tantrum_SpellScript();
}
}
[Script]
class spell_xt002_submerged : SpellScriptLoader
{
public spell_xt002_submerged() : base("spell_xt002_submerged") { }
class spell_xt002_submerged_SpellScript : SpellScript
class spell_xt002_submerged : SpellScript
{
void HandleScript(uint eff)
{
@@ -933,18 +809,8 @@ namespace Scripts.Northrend.Ulduar.Xt002
}
}
public override SpellScript GetSpellScript()
{
return new spell_xt002_submerged_SpellScript();
}
}
[Script]
class spell_xt002_321_boombot_aura : SpellScriptLoader
{
public spell_xt002_321_boombot_aura() : base("spell_xt002_321_boombot_aura") { }
class spell_xt002_321_boombot_aura_AuraScript : AuraScript
class spell_xt002_321_boombot_aura : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -974,12 +840,6 @@ namespace Scripts.Northrend.Ulduar.Xt002
}
}
public override AuraScript GetAuraScript()
{
return new spell_xt002_321_boombot_aura_AuraScript();
}
}
[Script]
class achievement_nerf_engineering : AchievementCriteriaScript
{
+2 -22
View File
@@ -24,11 +24,7 @@ using Game.Scripting;
namespace Scripts.Northrend
{
[Script]
class spell_wintergrasp_defender_teleport : SpellScriptLoader
{
public spell_wintergrasp_defender_teleport() : base("spell_wintergrasp_defender_teleport") { }
class spell_wintergrasp_defender_teleport_SpellScript : SpellScript
class spell_wintergrasp_defender_teleport : SpellScript
{
SpellCastResult CheckCast()
{
@@ -51,18 +47,8 @@ namespace Scripts.Northrend
}
}
public override SpellScript GetSpellScript()
{
return new spell_wintergrasp_defender_teleport_SpellScript();
}
}
[Script]
class spell_wintergrasp_defender_teleport_trigger : SpellScriptLoader
{
public spell_wintergrasp_defender_teleport_trigger() : base("spell_wintergrasp_defender_teleport_trigger") { }
class spell_wintergrasp_defender_teleport_trigger_SpellScript : SpellScript
class spell_wintergrasp_defender_teleport_trigger : SpellScript
{
void HandleDummy(uint effindex)
{
@@ -80,12 +66,6 @@ namespace Scripts.Northrend
}
}
public override SpellScript GetSpellScript()
{
return new spell_wintergrasp_defender_teleport_trigger_SpellScript();
}
}
[Script]
class condition_is_wintergrasp_horde : ConditionScript
{
+21 -60
View File
@@ -36,13 +36,9 @@ namespace Scripts.Outlands
}
[Script]
class npc_aeranas : CreatureScript
class npc_aeranas : ScriptedAI
{
public npc_aeranas() : base("npc_aeranas") { }
class npc_aeranasAI : ScriptedAI
{
public npc_aeranasAI(Creature creature) : base(creature) { }
public npc_aeranas(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -107,12 +103,6 @@ namespace Scripts.Outlands
uint shock_Timer;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_aeranasAI(creature);
}
}
struct AncestralWolf
{
public const uint EmoteWoldLiftHead = 0;
@@ -125,13 +115,9 @@ namespace Scripts.Outlands
}
[Script]
class npc_ancestral_wolf : CreatureScript
class npc_ancestral_wolf : npc_escortAI
{
public npc_ancestral_wolf() : base("npc_ancestral_wolf") { }
class npc_ancestral_wolfAI : npc_escortAI
{
public npc_ancestral_wolfAI(Creature creature) : base(creature)
public npc_ancestral_wolf(Creature creature) : base(creature)
{
if (creature.GetOwner() && creature.GetOwner().IsTypeId(TypeId.Player))
Start(false, false, creature.GetOwner().GetGUID());
@@ -180,31 +166,10 @@ namespace Scripts.Outlands
Creature ryga;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_ancestral_wolfAI(creature);
}
}
[Script]
class npc_wounded_blood_elf : CreatureScript
class npc_wounded_blood_elf : npc_escortAI
{
const uint SAY_ELF_START = 0;
const uint SAY_ELF_SUMMON1 = 1;
const uint SAY_ELF_RESTING = 2;
const uint SAY_ELF_SUMMON2 = 3;
const uint SAY_ELF_COMPLETE = 4;
const uint SAY_ELF_AGGRO = 5;
const uint QUEST_ROAD_TO_FALCON_WATCH = 9375;
const uint NPC_HAALESHI_WINDWALKER = 16966;
const uint NPC_HAALESHI_TALONGUARD = 16967;
const uint FACTION_FALCON_WATCH_QUEST = 775;
public npc_wounded_blood_elf() : base("npc_wounded_blood_elf") { }
class npc_wounded_blood_elfAI : npc_escortAI
{
public npc_wounded_blood_elfAI(Creature creature) : base(creature) { }
public npc_wounded_blood_elf(Creature creature) : base(creature) { }
public override void Reset() { }
@@ -261,25 +226,24 @@ namespace Scripts.Outlands
break;
}
}
const uint SAY_ELF_START = 0;
const uint SAY_ELF_SUMMON1 = 1;
const uint SAY_ELF_RESTING = 2;
const uint SAY_ELF_SUMMON2 = 3;
const uint SAY_ELF_COMPLETE = 4;
const uint SAY_ELF_AGGRO = 5;
const uint QUEST_ROAD_TO_FALCON_WATCH = 9375;
const uint NPC_HAALESHI_WINDWALKER = 16966;
const uint NPC_HAALESHI_TALONGUARD = 16967;
const uint FACTION_FALCON_WATCH_QUEST = 775;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_wounded_blood_elfAI(creature);
}
}
[Script]
class npc_fel_guard_hound : CreatureScript
class npc_fel_guard_hound : ScriptedAI
{
const uint SPELL_SUMMON_POO = 37688;
const uint NPC_DERANGED_HELBOAR = 16863;
public npc_fel_guard_hound() : base("npc_fel_guard_hound") { }
class npc_fel_guard_houndAI : ScriptedAI
{
public npc_fel_guard_houndAI(Creature creature) : base(creature) { }
public npc_fel_guard_hound(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -329,12 +293,9 @@ namespace Scripts.Outlands
uint checkTimer;
ObjectGuid helboarGUID;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_fel_guard_houndAI(creature);
}
const uint SPELL_SUMMON_POO = 37688;
const uint NPC_DERANGED_HELBOAR = 16863;
}
}
+1 -67
View File
@@ -140,8 +140,7 @@ namespace Scripts.Outlands
class npc_cooshcooshAI : ScriptedAI
{
public npc_cooshcooshAI(Creature creature)
: base(creature)
public npc_cooshcooshAI(Creature creature) : base(creature)
{
m_uiNormFaction = creature.getFaction();
}
@@ -263,32 +262,6 @@ namespace Scripts.Outlands
const string GOSSIP_ITEM_KUR3 = "I will tell them. Farewell, elder.";
}
[Script]
class npc_mortog_steamhead : CreatureScript
{
public npc_mortog_steamhead() : base("npc_mortog_steamhead") { }
public override bool OnGossipHello(Player player, Creature creature)
{
if (creature.IsVendor() && player.GetReputationRank(942) == ReputationRank.Exalted)
player.ADD_GOSSIP_ITEM(GossipOptionIcon.Vendor, GOSSIP_TEXT_BROWSE_GOODS, eTradeskill.GossipSenderMain, eTradeskill.GossipActionTrade);
player.SEND_GOSSIP_MENU(player.GetGossipTextId(creature), creature.GetGUID());
return true;
}
public override bool OnGossipSelect(Player player, Creature creature, uint sender, uint action)
{
player.PlayerTalkClass.ClearMenus();
if (action == eTradeskill.GossipActionTrade)
player.GetSession().SendListInventory(creature.GetGUID());
return true;
}
const string GOSSIP_TEXT_BROWSE_GOODS = "I'd like to browse your goods.";
}
[Script]
class npc_kayra_longmane : CreatureScript
{
@@ -360,43 +333,4 @@ namespace Scripts.Outlands
const uint QUEST_ESCAPE_FROM = 9752;
const uint NPC_SLAVEBINDER = 18042;
}
[Script]
class npc_timothy_daniels : CreatureScript
{
public npc_timothy_daniels() : base("npc_timothy_daniels") { }
public override bool OnGossipHello(Player player, Creature creature)
{
if (creature.IsQuestGiver())
player.PrepareQuestMenu(creature.GetGUID());
if (creature.IsVendor())
player.ADD_GOSSIP_ITEM(GossipOptionIcon.Vendor, GOSSIP_TEXT_BROWSE_POISONS, eTradeskill.GossipSenderMain, eTradeskill.GossipActionTrade);
player.ADD_GOSSIP_ITEM(GossipOptionIcon.Chat, GOSSIP_TIMOTHY_DANIELS_ITEM1, eTradeskill.GossipSenderMain, eTradeskill.GossipActionInfoDef + 1);
player.SEND_GOSSIP_MENU(player.GetGossipTextId(creature), creature.GetGUID());
return true;
}
public override bool OnGossipSelect(Player player, Creature creature, uint sender, uint action)
{
player.PlayerTalkClass.ClearMenus();
switch (action)
{
case eTradeskill.GossipActionInfoDef + 1:
player.SEND_GOSSIP_MENU(GOSSIP_TEXTID_TIMOTHY_DANIELS1, creature.GetGUID());
break;
case eTradeskill.GossipActionTrade:
player.GetSession().SendListInventory(creature.GetGUID());
break;
}
return true;
}
const string GOSSIP_TIMOTHY_DANIELS_ITEM1 = "Specialist, eh? Just what kind of specialist are you, anyway?";
const string GOSSIP_TEXT_BROWSE_POISONS = "Let me browse your reagents and poison supplies.";
const uint GOSSIP_TEXTID_TIMOTHY_DANIELS1 = 9239;
}
}
+4 -24
View File
@@ -27,13 +27,9 @@ using System.Collections.Generic;
namespace Scripts.Pets
{
[Script]
class npc_pet_dk_ebon_gargoyle : CreatureScript
class npc_pet_dk_ebon_gargoyle : CasterAI
{
public npc_pet_dk_ebon_gargoyle() : base("npc_pet_dk_ebon_gargoyle") { }
class npc_pet_dk_ebon_gargoyleAI : CasterAI
{
public npc_pet_dk_ebon_gargoyleAI(Creature creature) : base(creature) { }
public npc_pet_dk_ebon_gargoyle(Creature creature) : base(creature) { }
public override void InitializeAI()
{
@@ -103,20 +99,10 @@ namespace Scripts.Pets
const uint SpellSanctuary = 54661;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_pet_dk_ebon_gargoyleAI(creature);
}
}
[Script]
class npc_pet_dk_guardian : CreatureScript
class npc_pet_dk_guardian : AggressorAI
{
public npc_pet_dk_guardian() : base("npc_pet_dk_guardian") { }
class npc_pet_dk_guardianAI : AggressorAI
{
public npc_pet_dk_guardianAI(Creature creature) : base(creature) { }
public npc_pet_dk_guardian(Creature creature) : base(creature) { }
public override bool CanAIAttack(Unit target)
{
@@ -128,10 +114,4 @@ namespace Scripts.Pets
return base.CanAIAttack(target);
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_pet_dk_guardianAI(creature);
}
}
}
+2 -12
View File
@@ -23,13 +23,9 @@ using Game.Scripting;
namespace Scripts.Pets
{
[Script]
class npc_pet_gen_mojo : CreatureScript
class npc_pet_gen_mojo : ScriptedAI
{
public npc_pet_gen_mojo() : base("npc_pet_gen_mojo") { }
class npc_pet_gen_mojoAI : ScriptedAI
{
public npc_pet_gen_mojoAI(Creature creature) : base(creature) { }
public npc_pet_gen_mojo(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -76,10 +72,4 @@ namespace Scripts.Pets
const uint SpellFeelingFroggy = 43906;
const uint SpellSeductionVisual = 43919;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_pet_gen_mojoAI(creature);
}
}
}
+2 -12
View File
@@ -23,13 +23,9 @@ using Game.Scripting;
namespace Scripts.Pets
{
[Script]
class npc_pet_hunter_snake_trap : CreatureScript
class npc_pet_hunter_snake_trap : ScriptedAI
{
public npc_pet_hunter_snake_trap() : base("npc_pet_hunter_snake_trap") { }
class npc_pet_hunter_snake_trapAI : ScriptedAI
{
public npc_pet_hunter_snake_trapAI(Creature creature) : base(creature) { }
public npc_pet_hunter_snake_trap(Creature creature) : base(creature) { }
public override void EnterCombat(Unit who) { }
@@ -111,12 +107,6 @@ namespace Scripts.Pets
bool _isViper;
uint _spellTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_pet_hunter_snake_trapAI(creature);
}
const uint SpellCripplingPoison = 30981; // Viper
const uint SpellDeadlyPoisonPassive = 34657; // Venomous Snake
+2 -13
View File
@@ -37,15 +37,10 @@ namespace Scripts.Pets
public const uint TimerMirrorImageFireBlast = 6000;
}
[Script]
class npc_pet_mage_mirror_image : CreatureScript
class npc_pet_mage_mirror_image : CasterAI
{
public npc_pet_mage_mirror_image() : base("npc_pet_mage_mirror_image") { }
class npc_pet_mage_mirror_imageAI : CasterAI
{
public npc_pet_mage_mirror_imageAI(Creature creature) : base(creature) { }
public npc_pet_mage_mirror_image(Creature creature) : base(creature) { }
void Init()
{
@@ -243,10 +238,4 @@ namespace Scripts.Pets
Init();
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_pet_mage_mirror_imageAI(creature);
}
}
}
+4 -25
View File
@@ -30,13 +30,9 @@ namespace Scripts.Pets.Priest
}
[Script]
class npc_pet_pri_lightwell : CreatureScript
class npc_pet_pri_lightwell : PassiveAI
{
public npc_pet_pri_lightwell() : base("npc_pet_pri_lightwell") { }
class npc_pet_pri_lightwellAI : PassiveAI
{
public npc_pet_pri_lightwellAI(Creature creature) : base(creature)
public npc_pet_pri_lightwell(Creature creature) : base(creature)
{
DoCast(creature, SpellIds.LightWellCharges, false);
}
@@ -52,32 +48,15 @@ namespace Scripts.Pets.Priest
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_pet_pri_lightwellAI(creature);
}
}
[Script]
class npc_pet_pri_shadowfiend : CreatureScript
class npc_pet_pri_shadowfiend : PetAI
{
public npc_pet_pri_shadowfiend() : base("npc_pet_pri_shadowfiend") { }
class npc_pet_pri_shadowfiendAI : PetAI
{
public npc_pet_pri_shadowfiendAI(Creature creature) : base(creature) { }
public npc_pet_pri_shadowfiend(Creature creature) : base(creature) { }
public override void IsSummonedBy(Unit summoner)
{
if (summoner.HasAura(SpellIds.GlyphOfShadowFiend))
DoCastAOE(SpellIds.ShadowFiendDeath);
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_pet_pri_shadowfiendAI(creature);
}
}
}
+4 -24
View File
@@ -23,13 +23,9 @@ using Game.Scripting;
namespace Scripts.Pets
{
[Script]
class npc_pet_shaman_earth_elemental : CreatureScript
class npc_pet_shaman_earth_elemental : ScriptedAI
{
public npc_pet_shaman_earth_elemental() : base("npc_pet_shaman_earth_elemental") { }
class npc_pet_shaman_earth_elementalAI : ScriptedAI
{
public npc_pet_shaman_earth_elementalAI(Creature creature) : base(creature) { }
public npc_pet_shaman_earth_elemental(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -58,20 +54,10 @@ namespace Scripts.Pets
const uint SpellAngeredEarth = 36213;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_pet_shaman_earth_elementalAI(creature);
}
}
[Script]
class npc_pet_shaman_fire_elemental : CreatureScript
public class npc_pet_shaman_fire_elemental : ScriptedAI
{
public npc_pet_shaman_fire_elemental() : base("npc_pet_shaman_fire_elemental") { }
public class npc_pet_shaman_fire_elementalAI : ScriptedAI
{
public npc_pet_shaman_fire_elementalAI(Creature creature) : base(creature) { }
public npc_pet_shaman_fire_elemental(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -124,10 +110,4 @@ namespace Scripts.Pets
const uint SpellFireNova = 12470;
const uint SpellFireShield = 13376;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_pet_shaman_fire_elementalAI(creature);
}
}
}
+24 -238
View File
@@ -82,11 +82,7 @@ namespace Scripts.Spells.DeathKnight
}
[Script] // 70656 - Advantage (T10 4P Melee Bonus)
class spell_dk_advantage_t10_4p : SpellScriptLoader
{
public spell_dk_advantage_t10_4p() : base("spell_dk_advantage_t10_4p") { }
class spell_dk_advantage_t10_4p_AuraScript : AuraScript
class spell_dk_advantage_t10_4p : AuraScript
{
bool CheckProc(ProcEventInfo eventInfo)
{
@@ -112,20 +108,10 @@ namespace Scripts.Spells.DeathKnight
}
}
public override AuraScript GetAuraScript()
{
return new spell_dk_advantage_t10_4p_AuraScript();
}
}
[Script] // 48707 - Anti-Magic Shell
class spell_dk_anti_magic_shell : SpellScriptLoader
class spell_dk_anti_magic_shell : AuraScript
{
public spell_dk_anti_magic_shell() : base("spell_dk_anti_magic_shell") { }
class spell_dk_anti_magic_shell_AuraScript : AuraScript
{
public spell_dk_anti_magic_shell_AuraScript()
public spell_dk_anti_magic_shell()
{
absorbPct = 0;
maxHealth = 0;
@@ -183,18 +169,8 @@ namespace Scripts.Spells.DeathKnight
uint absorbedAmount;
}
public override AuraScript GetAuraScript()
{
return new spell_dk_anti_magic_shell_AuraScript();
}
}
[Script] // 127517 - Army Transform // 6.x, does this belong here or in spell_generic? where do we cast this? sniffs say this is only cast when caster has glyph of foul menagerie.
class spell_dk_army_transform : SpellScriptLoader
{
public spell_dk_army_transform() : base("spell_dk_army_transform") { }
class spell_dk_army_transform_SpellScript : SpellScript
class spell_dk_army_transform : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -228,18 +204,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_army_transform_SpellScript();
}
}
[Script] // 50842 - Blood Boil
class spell_dk_blood_boil : SpellScriptLoader
{
public spell_dk_blood_boil() : base("spell_dk_blood_boil") { }
class spell_dk_blood_boil_SpellScript : SpellScript
class spell_dk_blood_boil : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -257,18 +223,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_blood_boil_SpellScript();
}
}
[Script] // 49028 - Dancing Rune Weapon 7.1.5
class spell_dk_dancing_rune_weapon : SpellScriptLoader
{
public spell_dk_dancing_rune_weapon() : base("spell_dk_dancing_rune_weapon") { }
class spell_dk_dancing_rune_weapon_AuraScript : AuraScript
class spell_dk_dancing_rune_weapon : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -319,18 +275,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override AuraScript GetAuraScript()
{
return new spell_dk_dancing_rune_weapon_AuraScript();
}
}
[Script] // 43265 - Death and Decay
class spell_dk_death_and_decay : SpellScriptLoader
{
public spell_dk_death_and_decay() : base("spell_dk_death_and_decay") { }
class spell_dk_death_and_decay_SpellScript : SpellScript
class spell_dk_death_and_decay : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -353,12 +299,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_death_and_decay_SpellScript();
}
class spell_dk_death_and_decay_AuraScript : AuraScript
[Script]
class spell_dk_death_and_decay_AuraScript: AuraScript
{
void HandleDummyTick(AuraEffect aurEff)
{
@@ -373,18 +315,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override AuraScript GetAuraScript()
{
return new spell_dk_death_and_decay_AuraScript();
}
}
[Script] // 47541 - Death Coil
class spell_dk_death_coil : SpellScriptLoader
{
public spell_dk_death_coil() : base("spell_dk_death_coil") { }
class spell_dk_death_coil_SpellScript : SpellScript
class spell_dk_death_coil : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -407,18 +339,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_death_coil_SpellScript();
}
}
[Script] // 52751 - Death Gate
class spell_dk_death_gate : SpellScriptLoader
{
public spell_dk_death_gate() : base("spell_dk_death_gate") { }
class spell_dk_death_gate_SpellScript : SpellScript
class spell_dk_death_gate : SpellScript
{
SpellCastResult CheckClass()
{
@@ -446,18 +368,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_death_gate_SpellScript();
}
}
[Script] //49576 - Death Grip Initial
class spell_dk_death_grip_initial : SpellScriptLoader
{
public spell_dk_death_grip_initial() : base("spell_dk_death_grip_initial") { }
class spell_dk_death_grip_initial_SpellScript : SpellScript
class spell_dk_death_grip_initial : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -489,18 +401,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_death_grip_initial_SpellScript();
}
}
[Script] // 48743 - Death Pact
class spell_dk_death_pact : SpellScriptLoader
{
public spell_dk_death_pact() : base("spell_dk_death_pact") { }
class spell_dk_death_pact_AuraScript : AuraScript
class spell_dk_death_pact : AuraScript
{
void HandleCalcAmount(AuraEffect aurEff, ref int amount, ref bool canBeRecalculated)
{
@@ -515,18 +417,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override AuraScript GetAuraScript()
{
return new spell_dk_death_pact_AuraScript();
}
}
[Script] // 49998 - Death Strike
class spell_dk_death_strike : SpellScriptLoader
{
public spell_dk_death_strike() : base("spell_dk_death_strike") { }
class spell_dk_death_strike_SpellScript : SpellScript
class spell_dk_death_strike : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -561,18 +453,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_death_strike_SpellScript();
}
}
[Script] // 85948 - Festering Strike
class spell_dk_festering_strike : SpellScriptLoader
{
public spell_dk_festering_strike() : base("spell_dk_festering_strike") { }
class spell_dk_festering_strike_SpellScript : SpellScript
class spell_dk_festering_strike : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -590,18 +472,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_festering_strike_SpellScript();
}
}
[Script] // 47496 - Explode, Ghoul spell for Corpse Explosion
class spell_dk_ghoul_explode : SpellScriptLoader
{
public spell_dk_ghoul_explode() : base("spell_dk_ghoul_explode") { }
class spell_dk_ghoul_explode_SpellScript : SpellScript
class spell_dk_ghoul_explode : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -630,18 +502,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_ghoul_explode_SpellScript();
}
}
[Script] // 206940 - Mark of Blood
class spell_dk_mark_of_blood : SpellScriptLoader
{
public spell_dk_mark_of_blood() : base("spell_dk_mark_of_blood") { }
class spell_dk_mark_of_blood_AuraScript : AuraScript
class spell_dk_mark_of_blood : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -662,18 +524,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override AuraScript GetAuraScript()
{
return new spell_dk_mark_of_blood_AuraScript();
}
}
[Script] // 207346 - Necrosis
class spell_dk_necrosis : SpellScriptLoader
{
public spell_dk_necrosis() : base("spell_dk_necrosis") { }
class spell_dk_necrosis_AuraScript : AuraScript
class spell_dk_necrosis : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -692,18 +544,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override AuraScript GetAuraScript()
{
return new spell_dk_necrosis_AuraScript();
}
}
[Script] // 121916 - Glyph of the Geist (Unholy) // 6.x, does this belong here or in spell_generic? apply this in creature_template_addon? sniffs say this is always cast on raise dead.
class spell_dk_pet_geist_transform : SpellScriptLoader
{
public spell_dk_pet_geist_transform() : base("spell_dk_pet_geist_transform") { }
class spell_dk_pet_geist_transform_SpellScript : SpellScript
class spell_dk_pet_geist_transform : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -731,18 +573,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_pet_geist_transform_SpellScript();
}
}
[Script] // 147157 Glyph of the Skeleton (Unholy) // 6.x, does this belong here or in spell_generic? apply this in creature_template_addon? sniffs say this is always cast on raise dead.
class spell_dk_pet_skeleton_transform : SpellScriptLoader
{
public spell_dk_pet_skeleton_transform() : base("spell_dk_pet_skeleton_transform") { }
class spell_dk_pet_skeleton_transform_SpellScript : SpellScript
class spell_dk_pet_skeleton_transform : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -765,18 +597,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_pet_skeleton_transform_SpellScript();
}
}
[Script] // 61257 - Runic Power Back on Snare/Root 7.1.5
class spell_dk_pvp_4p_bonus : SpellScriptLoader
{
public spell_dk_pvp_4p_bonus() : base("spell_dk_pvp_4p_bonus") { }
class spell_dk_pvp_4p_bonus_AuraScript : AuraScript
class spell_dk_pvp_4p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -805,18 +627,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override AuraScript GetAuraScript()
{
return new spell_dk_pvp_4p_bonus_AuraScript();
}
}
[Script] // 46584 - Raise Dead
class spell_dk_raise_dead : SpellScriptLoader
{
public spell_dk_raise_dead() : base("spell_dk_raise_dead") { }
class spell_dk_raise_dead_SpellScript : SpellScript
class spell_dk_raise_dead : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -838,18 +650,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_raise_dead_SpellScript();
}
}
[Script] // 115994 - Unholy Blight
class spell_dk_unholy_blight : SpellScriptLoader
{
public spell_dk_unholy_blight() : base("spell_dk_unholy_blight") { }
class spell_dk_unholy_blight_SpellScript : SpellScript
class spell_dk_unholy_blight : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -868,18 +670,8 @@ namespace Scripts.Spells.DeathKnight
}
}
public override SpellScript GetSpellScript()
{
return new spell_dk_unholy_blight_SpellScript();
}
}
[Script] // 55233 - Vampiric Blood
class spell_dk_vampiric_blood : SpellScriptLoader
{
public spell_dk_vampiric_blood() : base("spell_dk_vampiric_blood") { }
class spell_dk_vampiric_blood_AuraScript : AuraScript
class spell_dk_vampiric_blood : AuraScript
{
void CalculateAmount(AuraEffect aurEff, ref int amount, ref bool canBeRecalculated)
{
@@ -891,10 +683,4 @@ namespace Scripts.Spells.DeathKnight
DoEffectCalcAmount.Add(new EffectCalcAmountHandler(CalculateAmount, 1, AuraType.ModIncreaseHealth2));
}
}
public override AuraScript GetAuraScript()
{
return new spell_dk_vampiric_blood_AuraScript();
}
}
}
+29 -297
View File
@@ -60,11 +60,7 @@ namespace Scripts.Spells.Druid
}
[Script] // 1850 - Dash
class spell_dru_dash : SpellScriptLoader
{
public spell_dru_dash() : base("spell_dru_dash") { }
public class spell_dru_dash_AuraScript : AuraScript
public class spell_dru_dash : AuraScript
{
void CalculateAmount(AuraEffect aurEff, ref int amount, ref bool canBeRecalculated)
{
@@ -79,18 +75,8 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_dash_AuraScript();
}
}
[Script] // 33943 - Flight Form
class spell_dru_flight_form : SpellScriptLoader
{
public spell_dru_flight_form() : base("spell_dru_flight_form") { }
class spell_dru_flight_form_SpellScript : SpellScript
class spell_dru_flight_form : SpellScript
{
SpellCastResult CheckCast()
{
@@ -107,18 +93,8 @@ namespace Scripts.Spells.Druid
}
}
public override SpellScript GetSpellScript()
{
return new spell_dru_flight_form_SpellScript();
}
}
[Script] // 37336 - Druid Forms Trinket
class spell_dru_forms_trinket : SpellScriptLoader
{
public spell_dru_forms_trinket() : base("spell_dru_forms_trinket") { }
class spell_dru_forms_trinket_AuraScript : AuraScript
class spell_dru_forms_trinket : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -183,19 +159,9 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_forms_trinket_AuraScript();
}
}
// 34246 - Idol of the Emerald Queen
[Script] // 60779 - Idol of Lush Moss
class spell_dru_idol_lifebloom : SpellScriptLoader
{
public spell_dru_idol_lifebloom() : base("spell_dru_idol_lifebloom") { }
class spell_dru_idol_lifebloom_AuraScript : AuraScript
class spell_dru_idol_lifebloom : AuraScript
{
void HandleEffectCalcSpellMod(AuraEffect aurEff, ref SpellModifier spellMod)
{
@@ -216,19 +182,9 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_idol_lifebloom_AuraScript();
}
}
// 29166 - Innervate
[Script]
class spell_dru_innervate : SpellScriptLoader
{
public spell_dru_innervate() : base("spell_dru_innervate") { }
class spell_dru_innervate_AuraScript : AuraScript
class spell_dru_innervate : AuraScript
{
void CalculateAmount(AuraEffect aurEff, ref int amount, ref bool canBeRecalculated)
{
@@ -245,19 +201,9 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_innervate_AuraScript();
}
}
// 33763 - Lifebloom
[Script]
class spell_dru_lifebloom : SpellScriptLoader
{
public spell_dru_lifebloom() : base("spell_dru_lifebloom") { }
class spell_dru_lifebloom_AuraScript : AuraScript
class spell_dru_lifebloom : AuraScript
{
public override bool Validate(SpellInfo spell)
{
@@ -335,19 +281,9 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_lifebloom_AuraScript();
}
}
// 48496 - Living Seed
[Script]
class spell_dru_living_seed : SpellScriptLoader
{
public spell_dru_living_seed() : base("spell_dru_living_seed") { }
class spell_dru_living_seed_AuraScript : AuraScript
class spell_dru_living_seed : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -367,19 +303,9 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_living_seed_AuraScript();
}
}
// 48504 - Living Seed (Proc)
[Script]
class spell_dru_living_seed_proc : SpellScriptLoader
{
public spell_dru_living_seed_proc() : base("spell_dru_living_seed_proc") { }
class spell_dru_living_seed_proc_AuraScript : AuraScript
class spell_dru_living_seed_proc : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -398,18 +324,8 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_living_seed_proc_AuraScript();
}
}
[Script] // 8921 - Moonfire
class spell_dru_moonfire : SpellScriptLoader
{
public spell_dru_moonfire() : base("spell_dru_moonfire") { }
class spell_dru_moonfire_SpellScript : SpellScript
class spell_dru_moonfire : SpellScript
{
void HandleOnHit(uint effIndex)
{
@@ -422,19 +338,9 @@ namespace Scripts.Spells.Druid
}
}
public override SpellScript GetSpellScript()
{
return new spell_dru_moonfire_SpellScript();
}
}
// 16972 - Predatory Strikes
[Script]
class spell_dru_predatory_strikes : SpellScriptLoader
{
public spell_dru_predatory_strikes() : base("spell_dru_predatory_strikes") { }
class spell_dru_predatory_strikes_AuraScript : AuraScript
class spell_dru_predatory_strikes : AuraScript
{
void UpdateAmount(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -450,19 +356,9 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_predatory_strikes_AuraScript();
}
}
// 1079 - Rip
[Script]
class spell_dru_rip : SpellScriptLoader
{
public spell_dru_rip() : base("spell_dru_rip") { }
class spell_dru_rip_AuraScript : AuraScript
class spell_dru_rip : AuraScript
{
public override bool Load()
{
@@ -498,18 +394,8 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_rip_AuraScript();
}
}
[Script] // 16864 - Omen of Clarity
class spell_dru_omen_of_clarity : SpellScriptLoader
{
public spell_dru_omen_of_clarity() : base("spell_dru_omen_of_clarity") { }
class spell_dru_omen_of_clarity_AuraScript : AuraScript
class spell_dru_omen_of_clarity : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -529,19 +415,9 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_omen_of_clarity_AuraScript();
}
}
// 52610 - Savage Roar
[Script]
class spell_dru_savage_roar : SpellScriptLoader
{
public spell_dru_savage_roar() : base("spell_dru_savage_roar") { }
class spell_dru_savage_roar_SpellScript : SpellScript
class spell_dru_savage_roar : SpellScript
{
SpellCastResult CheckCast()
{
@@ -558,6 +434,7 @@ namespace Scripts.Spells.Druid
}
}
[Script]
class spell_dru_savage_roar_AuraScript : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
@@ -583,23 +460,8 @@ namespace Scripts.Spells.Druid
}
}
public override SpellScript GetSpellScript()
{
return new spell_dru_savage_roar_SpellScript();
}
public override AuraScript GetAuraScript()
{
return new spell_dru_savage_roar_AuraScript();
}
}
[Script] // 78892 - Stampede
class spell_dru_stampede : SpellScriptLoader
{
public spell_dru_stampede() : base("spell_dru_stampede") { }
class spell_dru_stampede_AuraScript : AuraScript
class spell_dru_stampede : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -632,19 +494,9 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_stampede_AuraScript();
}
}
// 50286 - Starfall (Dummy)
[Script]
class spell_dru_starfall_dummy : SpellScriptLoader
{
public spell_dru_starfall_dummy() : base("spell_dru_starfall_dummy") { }
class spell_dru_starfall_dummy_SpellScript : SpellScript
class spell_dru_starfall_dummy : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -677,18 +529,8 @@ namespace Scripts.Spells.Druid
}
}
public override SpellScript GetSpellScript()
{
return new spell_dru_starfall_dummy_SpellScript();
}
}
[Script] // 93402 - Sunfire
class spell_dru_sunfire : SpellScriptLoader
{
public spell_dru_sunfire() : base("spell_dru_sunfire") { }
class spell_dru_sunfire_SpellScript : SpellScript
class spell_dru_sunfire : SpellScript
{
void HandleOnHit(uint effIndex)
{
@@ -701,19 +543,9 @@ namespace Scripts.Spells.Druid
}
}
public override SpellScript GetSpellScript()
{
return new spell_dru_sunfire_SpellScript();
}
}
// 61336 - Survival Instincts
[Script]
class spell_dru_survival_instincts : SpellScriptLoader
{
public spell_dru_survival_instincts() : base("spell_dru_survival_instincts") { }
class spell_dru_survival_instincts_SpellScript : SpellScript
class spell_dru_survival_instincts : SpellScript
{
SpellCastResult CheckCast()
{
@@ -730,6 +562,7 @@ namespace Scripts.Spells.Druid
}
}
[Script]
class spell_dru_survival_instincts_AuraScript : AuraScript
{
public override bool Validate(SpellInfo spell)
@@ -756,24 +589,9 @@ namespace Scripts.Spells.Druid
}
}
public override SpellScript GetSpellScript()
{
return new spell_dru_survival_instincts_SpellScript();
}
public override AuraScript GetAuraScript()
{
return new spell_dru_survival_instincts_AuraScript();
}
}
// 40121 - Swift Flight Form (Passive)
[Script]
class spell_dru_swift_flight_passive : SpellScriptLoader
{
public spell_dru_swift_flight_passive() : base("spell_dru_swift_flight_passive") { }
class spell_dru_swift_flight_passive_AuraScript : AuraScript
class spell_dru_swift_flight_passive : AuraScript
{
public override bool Load()
{
@@ -794,18 +612,8 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_swift_flight_passive_AuraScript();
}
}
[Script] // 28744 - Regrowth
class spell_dru_t3_6p_bonus : SpellScriptLoader
{
public spell_dru_t3_6p_bonus() : base("spell_dru_t3_6p_bonus") { }
class spell_dru_t3_6p_bonus_AuraScript : AuraScript
class spell_dru_t3_6p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -824,18 +632,8 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_t3_6p_bonus_AuraScript();
}
}
[Script] // 28719 - Healing Touch
class spell_dru_t3_8p_bonus : SpellScriptLoader
{
public spell_dru_t3_8p_bonus() : base("spell_dru_t3_8p_bonus") { }
class spell_dru_t3_8p_bonus_AuraScript : AuraScript
class spell_dru_t3_8p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -865,19 +663,9 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_t3_8p_bonus_AuraScript();
}
}
// 37288 - Mana Restore
[Script] // 37295 - Mana Restore
class spell_dru_t4_2p_bonus : SpellScriptLoader
{
public spell_dru_t4_2p_bonus() : base("spell_dru_t4_2p_bonus") { }
class spell_dru_t4_2p_bonus_AuraScript : AuraScript
class spell_dru_t4_2p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -896,18 +684,8 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_t4_2p_bonus_AuraScript();
}
}
[Script] // 40442 - Druid Tier 6 Trinket
class spell_dru_item_t6_trinket : SpellScriptLoader
{
public spell_dru_item_t6_trinket() : base("spell_dru_item_t6_trinket") { }
class spell_dru_item_t6_trinket_AuraScript : AuraScript
class spell_dru_item_t6_trinket : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -955,18 +733,8 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_item_t6_trinket_AuraScript();
}
}
[Script] // 70723 - Item - Druid T10 Balance 4P Bonus
class spell_dru_t10_balance_4p_bonus : SpellScriptLoader
{
public spell_dru_t10_balance_4p_bonus() : base("spell_dru_t10_balance_4p_bonus") { }
class spell_dru_t10_balance_4p_bonus_AuraScript : AuraScript
class spell_dru_t10_balance_4p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -999,19 +767,9 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_t10_balance_4p_bonus_AuraScript();
}
}
// 70691 - Item T10 Restoration 4P Bonus
[Script]
class spell_dru_t10_restoration_4p_bonus : SpellScriptLoader
{
public spell_dru_t10_restoration_4p_bonus() : base("spell_dru_t10_restoration_4p_bonus") { }
class spell_dru_t10_restoration_4p_bonus_SpellScript : SpellScript
class spell_dru_t10_restoration_4p_bonus : SpellScript
{
public override bool Load()
{
@@ -1052,18 +810,8 @@ namespace Scripts.Spells.Druid
}
}
public override SpellScript GetSpellScript()
{
return new spell_dru_t10_restoration_4p_bonus_SpellScript();
}
}
[Script] // 70664 - Druid T10 Restoration 4P Bonus (Rejuvenation)
class spell_dru_t10_restoration_4p_bonus_dummy : SpellScriptLoader
{
public spell_dru_t10_restoration_4p_bonus_dummy() : base("spell_dru_t10_restoration_4p_bonus_dummy") { }
class spell_dru_t10_restoration_4p_bonus_dummy_AuraScript : AuraScript
class spell_dru_t10_restoration_4p_bonus_dummy : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1102,18 +850,8 @@ namespace Scripts.Spells.Druid
}
}
public override AuraScript GetAuraScript()
{
return new spell_dru_t10_restoration_4p_bonus_dummy_AuraScript();
}
}
[Script] // 48438 - Wild Growth
class spell_dru_wild_growth : SpellScriptLoader
{
public spell_dru_wild_growth() : base("spell_dru_wild_growth") { }
class spell_dru_wild_growth_SpellScript : SpellScript
class spell_dru_wild_growth : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1148,7 +886,7 @@ namespace Scripts.Spells.Druid
void SetTargets(List<WorldObject> targets)
{
targets.Clear();
targets .AddRange(_targets);
targets.AddRange(_targets);
}
public override void Register()
@@ -1159,10 +897,4 @@ namespace Scripts.Spells.Druid
List<WorldObject> _targets;
}
public override SpellScript GetSpellScript()
{
return new spell_dru_wild_growth_SpellScript();
}
}
}
+103 -940
View File
File diff suppressed because it is too large Load Diff
+20 -216
View File
@@ -163,11 +163,7 @@ namespace Scripts.Spells.Holiday
[Script] // 45102 Romantic Picnic
class spell_love_is_in_the_air_romantic_picnic : SpellScriptLoader
{
public spell_love_is_in_the_air_romantic_picnic() : base("spell_love_is_in_the_air_romantic_picnic") { }
class spell_love_is_in_the_air_romantic_picnic_AuraScript : AuraScript
class spell_love_is_in_the_air_romantic_picnic : AuraScript
{
void OnApply(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -225,18 +221,8 @@ namespace Scripts.Spells.Holiday
}
}
public override AuraScript GetAuraScript()
{
return new spell_love_is_in_the_air_romantic_picnic_AuraScript();
}
}
[Script] // 24750 Trick
class spell_hallow_end_trick : SpellScriptLoader
{
public spell_hallow_end_trick() : base("spell_hallow_end_trick") { }
class spell_hallow_end_trick_SpellScript : SpellScript
class spell_hallow_end_trick : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -283,18 +269,8 @@ namespace Scripts.Spells.Holiday
}
}
public override SpellScript GetSpellScript()
{
return new spell_hallow_end_trick_SpellScript();
}
}
[Script] // 24751 Trick or Treat
class spell_hallow_end_trick_or_treat : SpellScriptLoader
{
public spell_hallow_end_trick_or_treat() : base("spell_hallow_end_trick_or_treat") { }
class spell_hallow_end_trick_or_treat_SpellScript : SpellScript
class spell_hallow_end_trick_or_treat : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -318,18 +294,8 @@ namespace Scripts.Spells.Holiday
}
}
public override SpellScript GetSpellScript()
{
return new spell_hallow_end_trick_or_treat_SpellScript();
}
}
[Script]
class spell_hallow_end_tricky_treat : SpellScriptLoader
{
public spell_hallow_end_tricky_treat() : base("spell_hallow_end_tricky_treat") { }
class spell_hallow_end_tricky_treat_SpellScript : SpellScript
class spell_hallow_end_tricky_treat : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -349,18 +315,8 @@ namespace Scripts.Spells.Holiday
}
}
public override SpellScript GetSpellScript()
{
return new spell_hallow_end_tricky_treat_SpellScript();
}
}
[Script]
class spell_hallow_end_wand : SpellScriptLoader
{
public spell_hallow_end_wand() : base("spell_hallow_end_wand") { }
class spell_hallow_end_wand_SpellScript : SpellScript
class spell_hallow_end_wand : SpellScript
{
public override bool Validate(SpellInfo spellEntry)
{
@@ -405,27 +361,14 @@ namespace Scripts.Spells.Holiday
}
}
public override SpellScript GetSpellScript()
{
return new spell_hallow_end_wand_SpellScript();
}
}
[Script("spell_gen_slow_roasted_turkey", SpellIds.WellFedApTrigger)]
[Script("spell_gen_cranberry_chutney", SpellIds.WellFedZmTrigger)]
[Script("spell_gen_spice_bread_stuffing", SpellIds.WellFedHitTrigger)]
[Script("spell_gen_pumpkin_pie", SpellIds.WellFedSpiritTrigger)]
[Script("spell_gen_candied_sweet_potato", SpellIds.WellFedHasteTrigger)]
class spell_pilgrims_bounty_buff_food : SpellScriptLoader
class spell_pilgrims_bounty_buff_food : AuraScript
{
public spell_pilgrims_bounty_buff_food(string name, uint triggeredSpellId) : base(name)
{
_triggeredSpellId = triggeredSpellId;
}
class spell_pilgrims_bounty_buff_food_AuraScript : AuraScript
{
public spell_pilgrims_bounty_buff_food_AuraScript(uint triggeredSpellId) : base()
public spell_pilgrims_bounty_buff_food(uint triggeredSpellId) : base()
{
_triggeredSpellId = triggeredSpellId;
_handled = false;
@@ -451,20 +394,8 @@ namespace Scripts.Spells.Holiday
bool _handled;
}
public override AuraScript GetAuraScript()
{
return new spell_pilgrims_bounty_buff_food_AuraScript(_triggeredSpellId);
}
uint _triggeredSpellId;
}
[Script]
class spell_winter_veil_mistletoe : SpellScriptLoader
{
public spell_winter_veil_mistletoe() : base("spell_winter_veil_mistletoe") { }
class spell_winter_veil_mistletoe_SpellScript : SpellScript
class spell_winter_veil_mistletoe : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -487,18 +418,8 @@ namespace Scripts.Spells.Holiday
}
}
public override SpellScript GetSpellScript()
{
return new spell_winter_veil_mistletoe_SpellScript();
}
}
[Script] // 26275 - PX-238 Winter Wondervolt TRAP
class spell_winter_veil_px_238_winter_wondervolt : SpellScriptLoader
{
public spell_winter_veil_px_238_winter_wondervolt() : base("spell_winter_veil_px_238_winter_wondervolt") { }
class spell_winter_veil_px_238_winter_wondervolt_SpellScript : SpellScript
class spell_winter_veil_px_238_winter_wondervolt : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -535,18 +456,8 @@ namespace Scripts.Spells.Holiday
}
}
public override SpellScript GetSpellScript()
{
return new spell_winter_veil_px_238_winter_wondervolt_SpellScript();
}
}
[Script] // 42924 - Giddyup!
class spell_brewfest_giddyup : SpellScriptLoader
{
public spell_brewfest_giddyup() : base("spell_brewfest_giddyup") { }
class spell_brewfest_giddyup_AuraScript : AuraScript
class spell_brewfest_giddyup : AuraScript
{
void OnChange(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -600,22 +511,12 @@ namespace Scripts.Spells.Holiday
}
}
public override AuraScript GetAuraScript()
{
return new spell_brewfest_giddyup_AuraScript();
}
}
// 43310 - Ram Level - Neutral
// 42992 - Ram - Trot
// 42993 - Ram - Canter
// 42994 - Ram - Gallop
[Script]
class spell_brewfest_ram : SpellScriptLoader
{
public spell_brewfest_ram() : base("spell_brewfest_ram") { }
class spell_brewfest_ram_AuraScript : AuraScript
class spell_brewfest_ram : AuraScript
{
void OnPeriodic(AuraEffect aurEff)
{
@@ -663,18 +564,8 @@ namespace Scripts.Spells.Holiday
}
}
public override AuraScript GetAuraScript()
{
return new spell_brewfest_ram_AuraScript();
}
}
[Script] // 43052 - Ram Fatigue
class spell_brewfest_ram_fatigue : SpellScriptLoader
{
public spell_brewfest_ram_fatigue() : base("spell_brewfest_ram_fatigue") { }
class spell_brewfest_ram_fatigue_AuraScript : AuraScript
class spell_brewfest_ram_fatigue : AuraScript
{
void OnApply(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -698,18 +589,8 @@ namespace Scripts.Spells.Holiday
}
}
public override AuraScript GetAuraScript()
{
return new spell_brewfest_ram_fatigue_AuraScript();
}
}
[Script] // 43450 - Brewfest - apple trap - friendly DND
class spell_brewfest_apple_trap : SpellScriptLoader
{
public spell_brewfest_apple_trap() : base("spell_brewfest_apple_trap") { }
class spell_brewfest_apple_trap_AuraScript : AuraScript
class spell_brewfest_apple_trap : AuraScript
{
void OnApply(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -722,18 +603,8 @@ namespace Scripts.Spells.Holiday
}
}
public override AuraScript GetAuraScript()
{
return new spell_brewfest_apple_trap_AuraScript();
}
}
[Script] // 43332 - Exhausted Ram
class spell_brewfest_exhausted_ram : SpellScriptLoader
{
public spell_brewfest_exhausted_ram() : base("spell_brewfest_exhausted_ram") { }
class spell_brewfest_exhausted_ram_AuraScript : AuraScript
class spell_brewfest_exhausted_ram : AuraScript
{
void OnRemove(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -747,18 +618,8 @@ namespace Scripts.Spells.Holiday
}
}
public override AuraScript GetAuraScript()
{
return new spell_brewfest_exhausted_ram_AuraScript();
}
}
[Script] // 43714 - Brewfest - Relay Race - Intro - Force - Player to throw- DND
class spell_brewfest_relay_race_intro_force_player_to_throw : SpellScriptLoader
{
public spell_brewfest_relay_race_intro_force_player_to_throw() : base("spell_brewfest_relay_race_intro_force_player_to_throw") { }
class spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript : SpellScript
class spell_brewfest_relay_race_intro_force_player_to_throw : SpellScript
{
void HandleForceCast(uint effIndex)
{
@@ -774,18 +635,8 @@ namespace Scripts.Spells.Holiday
}
}
public override SpellScript GetSpellScript()
{
return new spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript();
}
}
[Script]
class spell_brewfest_relay_race_turn_in : SpellScriptLoader
{
public spell_brewfest_relay_race_turn_in() : base("spell_brewfest_relay_race_turn_in") { }
class spell_brewfest_relay_race_turn_in_SpellScript : SpellScript
class spell_brewfest_relay_race_turn_in : SpellScript
{
void HandleDummy(uint effIndex)
{
@@ -805,18 +656,8 @@ namespace Scripts.Spells.Holiday
}
}
public override SpellScript GetSpellScript()
{
return new spell_brewfest_relay_race_turn_in_SpellScript();
}
}
[Script] // 43876 - Dismount Ram
class spell_brewfest_dismount_ram : SpellScriptLoader
{
public spell_brewfest_dismount_ram() : base("spell_brewfest_dismount_ram") { }
class spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript : SpellScript
class spell_brewfest_dismount_ram : SpellScript
{
void HandleScript(uint effIndex)
{
@@ -829,22 +670,12 @@ namespace Scripts.Spells.Holiday
}
}
public override SpellScript GetSpellScript()
{
return new spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript();
}
}
// 43259 Brewfest - Barker Bunny 1
// 43260 Brewfest - Barker Bunny 2
// 43261 Brewfest - Barker Bunny 3
// 43262 Brewfest - Barker Bunny 4
[Script]
class spell_brewfest_barker_bunny : SpellScriptLoader
{
public spell_brewfest_barker_bunny() : base("spell_brewfest_barker_bunny") { }
class spell_brewfest_barker_bunny_AuraScript : AuraScript
class spell_brewfest_barker_bunny : AuraScript
{
public override bool Load()
{
@@ -883,19 +714,8 @@ namespace Scripts.Spells.Holiday
}
}
public override AuraScript GetAuraScript()
{
return new spell_brewfest_barker_bunny_AuraScript();
}
}
[Script] // 45724 - Braziers Hit!
class spell_midsummer_braziers_hit : SpellScriptLoader
{
public spell_midsummer_braziers_hit() : base("spell_midsummer_braziers_hit") { }
class spell_midsummer_braziers_hit_AuraScript : AuraScript
class spell_midsummer_braziers_hit : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -924,18 +744,8 @@ namespace Scripts.Spells.Holiday
}
}
public override AuraScript GetAuraScript()
{
return new spell_midsummer_braziers_hit_AuraScript();
}
}
[Script]
class spell_gen_ribbon_pole_dancer_check : SpellScriptLoader
{
public spell_gen_ribbon_pole_dancer_check() : base("spell_gen_ribbon_pole_dancer_check") { }
class spell_gen_ribbon_pole_dancer_check_AuraScript : AuraScript
class spell_gen_ribbon_pole_dancer_check : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -975,10 +785,4 @@ namespace Scripts.Spells.Holiday
OnEffectPeriodic.Add(new EffectPeriodicHandler(PeriodicTick, 0, AuraType.PeriodicDummy));
}
}
public override AuraScript GetAuraScript()
{
return new spell_gen_ribbon_pole_dancer_check_AuraScript();
}
}
}
+25 -307
View File
@@ -56,11 +56,7 @@ namespace Scripts.Spells.Hunter
}
[Script] // 186257 - Aspect of the Cheetah
class spell_hun_aspect_cheetah : SpellScriptLoader
{
public spell_hun_aspect_cheetah() : base("spell_hun_aspect_cheetah") { }
class spell_hun_aspect_cheetah_AuraScript : AuraScript
class spell_hun_aspect_cheetah : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -79,19 +75,9 @@ namespace Scripts.Spells.Hunter
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_aspect_cheetah_AuraScript();
}
}
// 53209 - Chimera Shot
[Script]
class HunterChimeraShot : SpellScriptLoader
{
public HunterChimeraShot() : base("spell_hun_chimera_shot") { }
class spell_hun_chimera_shot_SpellScript : SpellScript
class spell_hun_chimera_shot : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -117,21 +103,9 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_chimera_shot_SpellScript();
}
}
// 77767 - Cobra Shot
[Script]
class spell_hun_cobra_shot : SpellScriptLoader
{
public spell_hun_cobra_shot()
: base("spell_hun_cobra_shot")
{ }
class spell_hun_cobra_shot_SpellScript : SpellScript
class spell_hun_cobra_shot : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -160,21 +134,9 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_cobra_shot_SpellScript();
}
}
// 781 - Disengage
[Script]
class spell_hun_disengage : SpellScriptLoader
{
public spell_hun_disengage()
: base("spell_hun_disengage")
{ }
class spell_hun_disengage_SpellScript : SpellScript
class spell_hun_disengage : SpellScript
{
SpellCastResult CheckCast()
{
@@ -191,21 +153,9 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_disengage_SpellScript();
}
}
// 82926 - Fire!
[Script]
class spell_hun_fire : SpellScriptLoader
{
public spell_hun_fire()
: base("spell_hun_fire")
{ }
class spell_hun_fire_AuraScript : AuraScript
class spell_hun_fire : AuraScript
{
void HandleEffectCalcSpellMod(AuraEffect aurEff, ref SpellModifier spellMod)
{
@@ -227,18 +177,8 @@ namespace Scripts.Spells.Hunter
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_fire_AuraScript();
}
}
[Script] // 109304 - Exhilaration
class spell_hun_exhilaration : SpellScriptLoader
{
public spell_hun_exhilaration() : base("spell_hun_exhilaration") { }
class spell_hun_exhilaration_SpellScript : SpellScript
class spell_hun_exhilaration : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -257,18 +197,8 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_exhilaration_SpellScript();
}
}
[Script] // 212658 - Hunting Party
class spell_hun_hunting_party : SpellScriptLoader
{
public spell_hun_hunting_party() : base("spell_hun_hunting_party") { }
class spell_hun_hunting_party_AuraScript : AuraScript
class spell_hun_hunting_party : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -288,19 +218,9 @@ namespace Scripts.Spells.Hunter
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_hunting_party_AuraScript();
}
}
// -19572 - Improved Mend Pet
[Script]
class spell_hun_improved_mend_pet : SpellScriptLoader
{
public spell_hun_improved_mend_pet() : base("spell_hun_improved_mend_pet") { }
class spell_hun_improved_mend_pet_AuraScript : AuraScript
class spell_hun_improved_mend_pet : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -325,21 +245,9 @@ namespace Scripts.Spells.Hunter
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_improved_mend_pet_AuraScript();
}
}
// -19464 Improved Serpent Sting
[Script]
class spell_hun_improved_serpent_sting : SpellScriptLoader
{
public spell_hun_improved_serpent_sting()
: base("spell_hun_improved_serpent_sting")
{ }
class spell_hun_improved_serpent_sting_AuraScript : AuraScript
class spell_hun_improved_serpent_sting : AuraScript
{
void HandleEffectCalcSpellMod(AuraEffect aurEff, ref SpellModifier spellMod)
{
@@ -361,21 +269,9 @@ namespace Scripts.Spells.Hunter
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_improved_serpent_sting_AuraScript();
}
}
// 53478 - Last Stand Pet
[Script]
class spell_hun_last_stand_pet : SpellScriptLoader
{
public spell_hun_last_stand_pet()
: base("spell_hun_last_stand_pet")
{ }
class spell_hun_last_stand_pet_SpellScript : SpellScript
class spell_hun_last_stand_pet : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -395,21 +291,9 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_last_stand_pet_SpellScript();
}
}
// 53271 - Masters Call
[Script]
class spell_hun_masters_call : SpellScriptLoader
{
public spell_hun_masters_call()
: base("spell_hun_masters_call")
{ }
class spell_hun_masters_call_SpellScript : SpellScript
class spell_hun_masters_call : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -452,19 +336,9 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_masters_call_SpellScript();
}
}
// 34477 - Misdirection
[Script]
class spell_hun_misdirection : SpellScriptLoader
{
public spell_hun_misdirection() : base("spell_hun_misdirection") { }
class spell_hun_misdirection_AuraScript : AuraScript
class spell_hun_misdirection : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -496,21 +370,9 @@ namespace Scripts.Spells.Hunter
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_misdirection_AuraScript();
}
}
// 35079 - Misdirection (Proc)
[Script]
class spell_hun_misdirection_proc : SpellScriptLoader
{
public spell_hun_misdirection_proc()
: base("spell_hun_misdirection_proc")
{ }
class spell_hun_misdirection_proc_AuraScript : AuraScript
class spell_hun_misdirection_proc : AuraScript
{
void OnRemove(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -523,21 +385,9 @@ namespace Scripts.Spells.Hunter
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_misdirection_proc_AuraScript();
}
}
// 54044 - Pet Carrion Feeder
[Script]
class spell_hun_pet_carrion_feeder : SpellScriptLoader
{
public spell_hun_pet_carrion_feeder()
: base("spell_hun_pet_carrion_feeder")
{ }
class spell_hun_pet_carrion_feeder_SpellScript : SpellScript
class spell_hun_pet_carrion_feeder : SpellScript
{
public override bool Load()
{
@@ -580,21 +430,9 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_pet_carrion_feeder_SpellScript();
}
}
// 55709 - Pet Heart of the Phoenix
[Script]
class spell_hun_pet_heart_of_the_phoenix : SpellScriptLoader
{
public spell_hun_pet_heart_of_the_phoenix()
: base("spell_hun_pet_heart_of_the_phoenix")
{ }
class spell_hun_pet_heart_of_the_phoenix_SpellScript : SpellScript
class spell_hun_pet_heart_of_the_phoenix : SpellScript
{
public override bool Load()
{
@@ -628,21 +466,9 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_pet_heart_of_the_phoenix_SpellScript();
}
}
// 23989 - Readiness
[Script]
class spell_hun_readiness : SpellScriptLoader
{
public spell_hun_readiness()
: base("spell_hun_readiness")
{ }
class spell_hun_readiness_SpellScript : SpellScript
class spell_hun_readiness : SpellScript
{
public override bool Load()
{
@@ -673,21 +499,9 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_readiness_SpellScript();
}
}
// 82925 - Ready, Set, Aim...
[Script]
class spell_hun_ready_set_aim : SpellScriptLoader
{
public spell_hun_ready_set_aim()
: base("spell_hun_ready_set_aim")
{ }
class spell_hun_ready_set_aim_AuraScript : AuraScript
class spell_hun_ready_set_aim : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -709,18 +523,8 @@ namespace Scripts.Spells.Hunter
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_ready_set_aim_AuraScript();
}
}
[Script] // 53480 - Roar of Sacrifice
class spell_hun_roar_of_sacrifice : SpellScriptLoader
{
public spell_hun_roar_of_sacrifice() : base("spell_hun_roar_of_sacrifice") { }
class spell_hun_roar_of_sacrifice_AuraScript : AuraScript
class spell_hun_roar_of_sacrifice : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -747,21 +551,9 @@ namespace Scripts.Spells.Hunter
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_roar_of_sacrifice_AuraScript();
}
}
// 37506 - Scatter Shot
[Script]
class spell_hun_scatter_shot : SpellScriptLoader
{
public spell_hun_scatter_shot()
: base("spell_hun_scatter_shot")
{ }
class spell_hun_scatter_shot_SpellScript : SpellScript
class spell_hun_scatter_shot : SpellScript
{
public override bool Load()
{
@@ -783,21 +575,9 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_scatter_shot_SpellScript();
}
}
// -53302 - Sniper Training
[Script]
class spell_hun_sniper_training : SpellScriptLoader
{
public spell_hun_sniper_training()
: base("spell_hun_sniper_training")
{ }
class spell_hun_sniper_training_AuraScript : AuraScript
class spell_hun_sniper_training : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -842,19 +622,9 @@ namespace Scripts.Spells.Hunter
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_sniper_training_AuraScript();
}
}
// 56641 - Steady Shot
[Script]
class spell_hun_steady_shot : SpellScriptLoader
{
public spell_hun_steady_shot() : base("spell_hun_steady_shot") { }
class spell_hun_steady_shot_SpellScript : SpellScript
class spell_hun_steady_shot : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -877,21 +647,9 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_steady_shot_SpellScript();
}
}
// 1515 - Tame Beast
[Script]
class spell_hun_tame_beast : SpellScriptLoader
{
public spell_hun_tame_beast()
: base("spell_hun_tame_beast")
{ }
class spell_hun_tame_beast_SpellScript : SpellScript
class spell_hun_tame_beast : SpellScript
{
SpellCastResult CheckCast()
{
@@ -930,21 +688,9 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_tame_beast_SpellScript();
}
}
// 53434 - Call of the Wild
[Script]
class spell_hun_target_only_pet_and_owner : SpellScriptLoader
{
public spell_hun_target_only_pet_and_owner()
: base("spell_hun_target_only_pet_and_owner")
{ }
class spell_hun_target_only_pet_and_owner_SpellScript : SpellScript
class spell_hun_target_only_pet_and_owner : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -962,18 +708,8 @@ namespace Scripts.Spells.Hunter
}
}
public override SpellScript GetSpellScript()
{
return new spell_hun_target_only_pet_and_owner_SpellScript();
}
}
[Script] // 67151 - Item - Hunter T9 4P Bonus (Steady Shot)
class spell_hun_t9_4p_bonus : SpellScriptLoader
{
public spell_hun_t9_4p_bonus() : base("spell_hun_t9_4p_bonus") { }
class spell_hun_t9_4p_bonus_AuraScript : AuraScript
class spell_hun_t9_4p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1002,21 +738,9 @@ namespace Scripts.Spells.Hunter
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_t9_4p_bonus_AuraScript();
}
}
// -56333 - T.N.T.
[Script]
class spell_hun_tnt : SpellScriptLoader
{
public spell_hun_tnt()
: base("spell_hun_tnt")
{ }
class spell_hun_tnt_AuraScript : AuraScript
class spell_hun_tnt : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1040,10 +764,4 @@ namespace Scripts.Spells.Hunter
OnEffectProc.Add(new EffectProcHandler(HandleEffectProc, 0, AuraType.Dummy));
}
}
public override AuraScript GetAuraScript()
{
return new spell_hun_tnt_AuraScript();
}
}
}
+99 -1066
View File
File diff suppressed because it is too large Load Diff
+26 -271
View File
@@ -72,11 +72,7 @@ namespace Scripts.Spells.Mage
}
[Script] // 235313 - Blazing Barrier
class spell_mage_blazing_barrier : SpellScriptLoader
{
public spell_mage_blazing_barrier() : base("spell_mage_blazing_barrier") { }
class spell_mage_blazing_barrier_AuraScript : AuraScript
class spell_mage_blazing_barrier : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -108,18 +104,8 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_blazing_barrier_AuraScript();
}
}
[Script] // 198063 - Burning Determination
class spell_mage_burning_determination : SpellScriptLoader
{
public spell_mage_burning_determination() : base("spell_mage_burning_determination") { }
class spell_mage_burning_determination_AuraScript : AuraScript
class spell_mage_burning_determination : AuraScript
{
bool CheckProc(ProcEventInfo eventInfo)
{
@@ -137,19 +123,9 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_burning_determination_AuraScript();
}
}
// 11958 - Cold Snap
[Script]
class spell_mage_cold_snap : SpellScriptLoader
{
public spell_mage_cold_snap() : base("spell_mage_cold_snap") { }
class spell_mage_cold_snap_SpellScript : SpellScript
class spell_mage_cold_snap : SpellScript
{
public override bool Load()
{
@@ -172,19 +148,9 @@ namespace Scripts.Spells.Mage
}
}
public override SpellScript GetSpellScript()
{
return new spell_mage_cold_snap_SpellScript();
}
}
// Updated 4.3.4
[Script] // 120 - Cone of Cold
class spell_mage_cone_of_cold : SpellScriptLoader
{
public spell_mage_cone_of_cold() : base("spell_mage_cone_of_cold") { }
class spell_mage_cone_of_cold_SpellScript : SpellScript
class spell_mage_cone_of_cold : SpellScript
{
void HandleConeOfColdScript(uint effIndex)
{
@@ -205,19 +171,8 @@ namespace Scripts.Spells.Mage
}
}
public override SpellScript GetSpellScript()
{
return new spell_mage_cone_of_cold_SpellScript();
}
}
[Script] // 190336 - Conjure Refreshment
class spell_mage_conjure_refreshment : SpellScriptLoader
{
public spell_mage_conjure_refreshment() : base("spell_mage_conjure_refreshment") { }
class spell_mage_conjure_refreshment_SpellScript : SpellScript
class spell_mage_conjure_refreshment : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -243,19 +198,9 @@ namespace Scripts.Spells.Mage
}
}
public override SpellScript GetSpellScript()
{
return new spell_mage_conjure_refreshment_SpellScript();
}
}
// 54646 - Focus Magic
[Script]
class spell_mage_focus_magic : SpellScriptLoader
{
public spell_mage_focus_magic() : base("spell_mage_focus_magic") { }
class spell_mage_focus_magic_AuraScript : AuraScript
class spell_mage_focus_magic : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -289,18 +234,8 @@ namespace Scripts.Spells.Mage
Unit _procTarget;
}
public override AuraScript GetAuraScript()
{
return new spell_mage_focus_magic_AuraScript();
}
}
[Script] // 195283 - Hot Streak
class spell_mage_hot_streak : SpellScriptLoader
{
public spell_mage_hot_streak() : base("spell_mage_hot_streak") { }
class spell_mage_hot_streak_AuraScript : AuraScript
class spell_mage_hot_streak : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -317,19 +252,9 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_hot_streak_AuraScript();
}
}
// 56374 - Glyph of Icy Veins
[Script]
class spell_mage_glyph_of_icy_veins : SpellScriptLoader
{
public spell_mage_glyph_of_icy_veins() : base("spell_mage_glyph_of_icy_veins") { }
class spell_mage_glyph_of_icy_veins_AuraScript : AuraScript
class spell_mage_glyph_of_icy_veins : AuraScript
{
void HandleEffectProc(AuraEffect aurEff, ProcEventInfo eventInfo)
{
@@ -345,19 +270,9 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_glyph_of_icy_veins_AuraScript();
}
}
// 56375 - Glyph of Polymorph
[Script]
class spell_mage_glyph_of_polymorph : SpellScriptLoader
{
public spell_mage_glyph_of_polymorph() : base("spell_mage_glyph_of_polymorph") { }
class spell_mage_glyph_of_polymorph_AuraScript : AuraScript
class spell_mage_glyph_of_polymorph : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -380,19 +295,9 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_glyph_of_polymorph_AuraScript();
}
}
// 37447 - Improved Mana Gems
[Script] // 61062 - Improved Mana Gems
class spell_mage_imp_mana_gems : SpellScriptLoader
{
public spell_mage_imp_mana_gems() : base("spell_mage_imp_mana_gems") { }
class spell_mage_imp_mana_gems_AuraScript : AuraScript
class spell_mage_imp_mana_gems : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -411,19 +316,9 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_imp_mana_gems_AuraScript();
}
}
// 44457 - Living Bomb
[Script]
class spell_mage_living_bomb : SpellScriptLoader
{
public spell_mage_living_bomb() : base("spell_mage_living_bomb") { }
class spell_mage_living_bomb_AuraScript : AuraScript
class spell_mage_living_bomb : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -446,18 +341,8 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_living_bomb_AuraScript();
}
}
[Script] // 11426 - Ice Barrier
class spell_mage_ice_barrier : SpellScriptLoader
{
public spell_mage_ice_barrier() : base("spell_mage_ice_barrier") { }
class spell_mage_ice_barrier_AuraScript : AuraScript
class spell_mage_ice_barrier : AuraScript
{
public override bool Validate(SpellInfo spellEntry)
{
@@ -488,19 +373,9 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_ice_barrier_AuraScript();
}
}
// -11119 - Ignite
[Script]
class spell_mage_ignite : SpellScriptLoader
{
public spell_mage_ignite() : base("spell_mage_ignite") { }
class spell_mage_ignite_AuraScript : AuraScript
class spell_mage_ignite : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -531,19 +406,9 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_ignite_AuraScript();
}
}
// -29074 - Master of Elements
[Script]
class spell_mage_master_of_elements : SpellScriptLoader
{
public spell_mage_master_of_elements() : base("spell_mage_master_of_elements") { }
class spell_mage_master_of_elements_AuraScript : AuraScript
class spell_mage_master_of_elements : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -576,19 +441,9 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_master_of_elements_AuraScript();
}
}
// 86181 - Nether Vortex
[Script]
class spell_mage_nether_vortex : SpellScriptLoader
{
public spell_mage_nether_vortex() : base("spell_mage_nether_vortex") { }
class spell_mage_nether_vortex_AuraScript : AuraScript
class spell_mage_nether_vortex : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -618,19 +473,9 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_nether_vortex_AuraScript();
}
}
// -11175 - Permafrost
[Script]
class spell_mage_permafrost : SpellScriptLoader
{
public spell_mage_permafrost() : base("spell_mage_permafrost") { }
class spell_mage_permafrost_AuraScript : AuraScript
class spell_mage_permafrost : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -657,19 +502,9 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_permafrost_AuraScript();
}
}
// 118 - Polymorph
[Script]
class spell_mage_polymorph : SpellScriptLoader
{
public spell_mage_polymorph() : base("spell_mage_polymorph") { }
class spell_mage_polymorph_AuraScript : AuraScript
class spell_mage_polymorph : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -712,22 +547,10 @@ namespace Scripts.Spells.Mage
Unit _caster;
}
public override AuraScript GetAuraScript()
{
return new spell_mage_polymorph_AuraScript();
}
}
// @todo move out of here and rename - not a mage spell
// 32826 - Polymorph (Visual)
[Script]
class spell_mage_polymorph_cast_visual : SpellScriptLoader
{
public spell_mage_polymorph_cast_visual() : base("spell_mage_polymorph_visual") { }
const uint NPC_AUROSALIA = 18744;
class spell_mage_polymorph_cast_visual_SpellScript : SpellScript
class spell_mage_polymorph_cast_visual : SpellScript
{
uint[] PolymorhForms =
{
@@ -757,20 +580,12 @@ namespace Scripts.Spells.Mage
// add dummy effect spell handler to Polymorph visual
OnEffectHitTarget.Add(new EffectHandler(HandleDummy, 0, SpellEffectName.Dummy));
}
}
public override SpellScript GetSpellScript()
{
return new spell_mage_polymorph_cast_visual_SpellScript();
}
const uint NPC_AUROSALIA = 18744;
}
[Script] // 235450 - Prismatic Barrier
class spell_mage_prismatic_barrier : SpellScriptLoader
{
public spell_mage_prismatic_barrier() : base("spell_mage_prismatic_barrier") { }
class spell_mage_prismatic_barrier_AuraScript : AuraScript
class spell_mage_prismatic_barrier : AuraScript
{
void CalculateAmount(AuraEffect aurEff, ref int amount, ref bool canBeRecalculated)
{
@@ -786,20 +601,10 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_prismatic_barrier_AuraScript();
}
}
// 82676 - Ring of Frost
// Updated 4.3.4
[Script]
class spell_mage_ring_of_frost : SpellScriptLoader
{
public spell_mage_ring_of_frost() : base("spell_mage_ring_of_frost") { }
class spell_mage_ring_of_frost_AuraScript : AuraScript
class spell_mage_ring_of_frost : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -853,20 +658,10 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_ring_of_frost_AuraScript();
}
}
// 82691 - Ring of Frost (freeze efect)
// Updated 4.3.4
[Script]
class spell_mage_ring_of_frost_freeze : SpellScriptLoader
{
public spell_mage_ring_of_frost_freeze() : base("spell_mage_ring_of_frost_freeze") { }
class spell_mage_ring_of_frost_freeze_SpellScript : SpellScript
class spell_mage_ring_of_frost_freeze : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -893,11 +688,7 @@ namespace Scripts.Spells.Mage
}
}
public override SpellScript GetSpellScript()
{
return new spell_mage_ring_of_frost_freeze_SpellScript();
}
[Script]
class spell_mage_ring_of_frost_freeze_AuraScript : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
@@ -918,19 +709,9 @@ namespace Scripts.Spells.Mage
}
}
public override AuraScript GetAuraScript()
{
return new spell_mage_ring_of_frost_freeze_AuraScript();
}
}
// 80353 - Time Warp
[Script]
class spell_mage_time_warp : SpellScriptLoader
{
public spell_mage_time_warp() : base("spell_mage_time_warp") { }
class spell_mage_time_warp_SpellScript : SpellScript
class spell_mage_time_warp : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -959,18 +740,8 @@ namespace Scripts.Spells.Mage
}
}
public override SpellScript GetSpellScript()
{
return new spell_mage_time_warp_SpellScript();
}
}
[Script] //228597 - Frostbolt 84721 - Frozen Orb 190357 - Blizzard
class spell_mage_trigger_chilled : SpellScriptLoader
{
public spell_mage_trigger_chilled() : base("spell_mage_trigger_chilled") { }
class spell_mage_trigger_chilled_SpellScript : SpellScript
class spell_mage_trigger_chilled : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -990,18 +761,8 @@ namespace Scripts.Spells.Mage
}
}
public override SpellScript GetSpellScript()
{
return new spell_mage_trigger_chilled_SpellScript();
}
}
[Script] // 33395 Water Elemental's Freeze
class spell_mage_water_elemental_freeze : SpellScriptLoader
{
public spell_mage_water_elemental_freeze() : base("spell_mage_water_elemental_freeze") { }
class spell_mage_water_elemental_freeze_SpellScript : SpellScript
class spell_mage_water_elemental_freeze : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1022,10 +783,4 @@ namespace Scripts.Spells.Mage
AfterHit.Add(new HitHandler(HandleImprovedFreeze));
}
}
public override SpellScript GetSpellScript()
{
return new spell_mage_water_elemental_freeze_SpellScript();
}
}
}
+3 -33
View File
@@ -37,11 +37,7 @@ namespace Scripts.Spells.Monk
}
[Script] // 117952 - Crackling Jade Lightning
class spell_monk_crackling_jade_lightning : SpellScriptLoader
{
public spell_monk_crackling_jade_lightning() : base("spell_monk_crackling_jade_lightning") { }
class spell_monk_crackling_jade_lightning_AuraScript : AuraScript
class spell_monk_crackling_jade_lightning : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -62,18 +58,8 @@ namespace Scripts.Spells.Monk
}
}
public override AuraScript GetAuraScript()
{
return new spell_monk_crackling_jade_lightning_AuraScript();
}
}
[Script] // 117959 - Crackling Jade Lightning
class spell_monk_crackling_jade_lightning_knockback_proc_aura : SpellScriptLoader
{
public spell_monk_crackling_jade_lightning_knockback_proc_aura() : base("spell_monk_crackling_jade_lightning_knockback_proc_aura") { }
class spell_monk_crackling_jade_lightning_aura_AuraScript : AuraScript
class spell_monk_crackling_jade_lightning_aura : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -108,18 +94,8 @@ namespace Scripts.Spells.Monk
}
}
public override AuraScript GetAuraScript()
{
return new spell_monk_crackling_jade_lightning_aura_AuraScript();
}
}
[Script] // 115546 - Provoke
class spell_monk_provoke : SpellScriptLoader
{
public spell_monk_provoke() : base("spell_monk_provoke") { }
class spell_monk_provoke_SpellScript : SpellScript
class spell_monk_provoke : SpellScript
{
const uint BlackOxStatusEntry = 61146;
@@ -160,10 +136,4 @@ namespace Scripts.Spells.Monk
OnEffectHitTarget.Add(new EffectHandler(HandleDummy, 0, SpellEffectName.Dummy));
}
}
public override SpellScript GetSpellScript()
{
return new spell_monk_provoke_SpellScript();
}
}
}
+22 -251
View File
@@ -66,11 +66,7 @@ namespace Scripts.Spells.Paladin
// 31821 - Aura Mastery
[Script]
class spell_pal_aura_mastery : SpellScriptLoader
{
public spell_pal_aura_mastery() : base("spell_pal_aura_mastery") { }
class spell_pal_aura_mastery_AuraScript : AuraScript
class spell_pal_aura_mastery : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -94,20 +90,9 @@ namespace Scripts.Spells.Paladin
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_aura_mastery_AuraScript();
}
}
// 64364 - Aura Mastery Immune
[Script]
class spell_pal_aura_mastery_immune : SpellScriptLoader
{
public spell_pal_aura_mastery_immune()
: base("spell_pal_aura_mastery_immune") { }
class spell_pal_aura_mastery_immune_AuraScript : AuraScript
class spell_pal_aura_mastery_immune : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -125,20 +110,9 @@ namespace Scripts.Spells.Paladin
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_aura_mastery_immune_AuraScript();
}
}
// 37877 - Blessing of Faith
[Script]
class spell_pal_blessing_of_faith : SpellScriptLoader
{
public spell_pal_blessing_of_faith()
: base("spell_pal_blessing_of_faith") { }
class spell_pal_blessing_of_faith_SpellScript : SpellScript
class spell_pal_blessing_of_faith : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -179,18 +153,8 @@ namespace Scripts.Spells.Paladin
}
}
public override SpellScript GetSpellScript()
{
return new spell_pal_blessing_of_faith_SpellScript();
}
}
[Script] // 190784 - Divine Steed
class spell_pal_divine_steed : SpellScriptLoader
{
public spell_pal_divine_steed() : base("spell_pal_divine_steed") { }
class spell_pal_divine_steed_SpellScript : SpellScript
class spell_pal_divine_steed : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -226,19 +190,9 @@ namespace Scripts.Spells.Paladin
}
}
public override SpellScript GetSpellScript()
{
return new spell_pal_divine_steed_SpellScript();
}
}
// 224239 - Divine Storm
[Script]
class spell_pal_divine_storm : SpellScriptLoader
{
public spell_pal_divine_storm() : base("spell_pal_divine_storm") { }
class spell_pal_divine_storm_SpellScript : SpellScript
class spell_pal_divine_storm : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -268,20 +222,9 @@ namespace Scripts.Spells.Paladin
}
}
public override SpellScript GetSpellScript()
{
return new spell_pal_divine_storm_SpellScript();
}
}
// 33695 - Exorcism and Holy Wrath Damage
[Script]
class spell_pal_exorcism_and_holy_wrath_damage : SpellScriptLoader
{
public spell_pal_exorcism_and_holy_wrath_damage()
: base("spell_pal_exorcism_and_holy_wrath_damage") { }
class spell_pal_exorcism_and_holy_wrath_damage_AuraScript : AuraScript
class spell_pal_exorcism_and_holy_wrath_damage : AuraScript
{
void HandleEffectCalcSpellMod(AuraEffect aurEff, ref SpellModifier spellMod)
{
@@ -303,20 +246,9 @@ namespace Scripts.Spells.Paladin
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_exorcism_and_holy_wrath_damage_AuraScript();
}
}
// -9799 - Eye for an Eye
[Script]
class spell_pal_eye_for_an_eye : SpellScriptLoader
{
public spell_pal_eye_for_an_eye()
: base("spell_pal_eye_for_an_eye") { }
class spell_pal_eye_for_an_eye_AuraScript : AuraScript
class spell_pal_eye_for_an_eye : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -336,20 +268,9 @@ namespace Scripts.Spells.Paladin
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_eye_for_an_eye_AuraScript();
}
}
// -75806 - Grand Crusader
[Script]
class spell_pal_grand_crusader : SpellScriptLoader
{
public spell_pal_grand_crusader()
: base("spell_pal_grand_crusader") { }
class spell_pal_grand_crusader_AuraScript : AuraScript
class spell_pal_grand_crusader : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -373,20 +294,9 @@ namespace Scripts.Spells.Paladin
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_grand_crusader_AuraScript();
}
}
// 54968 - Glyph of Holy Light
[Script]
class spell_pal_glyph_of_holy_light : SpellScriptLoader
{
public spell_pal_glyph_of_holy_light()
: base("spell_pal_glyph_of_holy_light") { }
class spell_pal_glyph_of_holy_light_SpellScript : SpellScript
class spell_pal_glyph_of_holy_light : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -405,20 +315,9 @@ namespace Scripts.Spells.Paladin
}
}
public override SpellScript GetSpellScript()
{
return new spell_pal_glyph_of_holy_light_SpellScript();
}
}
// 6940 - Hand of Sacrifice
[Script]
class spell_pal_hand_of_sacrifice : SpellScriptLoader
{
public spell_pal_hand_of_sacrifice()
: base("spell_pal_hand_of_sacrifice") { }
class spell_pal_hand_of_sacrifice_AuraScript : AuraScript
class spell_pal_hand_of_sacrifice : AuraScript
{
int remainingAmount;
@@ -449,20 +348,9 @@ namespace Scripts.Spells.Paladin
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_hand_of_sacrifice_AuraScript();
}
}
// 20473 - Holy Shock
[Script]
class spell_pal_holy_shock : SpellScriptLoader
{
public spell_pal_holy_shock()
: base("spell_pal_holy_shock") { }
class spell_pal_holy_shock_SpellScript : SpellScript
class spell_pal_holy_shock : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -522,20 +410,9 @@ namespace Scripts.Spells.Paladin
}
}
public override SpellScript GetSpellScript()
{
return new spell_pal_holy_shock_SpellScript();
}
}
// 37705 - Healing Discount
[Script]
class spell_pal_item_healing_discount : SpellScriptLoader
{
public spell_pal_item_healing_discount()
: base("spell_pal_item_healing_discount") { }
class spell_pal_item_healing_discount_AuraScript : AuraScript
class spell_pal_item_healing_discount : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -554,18 +431,8 @@ namespace Scripts.Spells.Paladin
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_item_healing_discount_AuraScript();
}
}
[Script] // 40470 - Paladin Tier 6 Trinket
class spell_pal_item_t6_trinket : SpellScriptLoader
{
public spell_pal_item_t6_trinket() : base("spell_pal_item_t6_trinket") { }
class spell_pal_item_t6_trinket_AuraScript : AuraScript
class spell_pal_item_t6_trinket : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -607,20 +474,10 @@ namespace Scripts.Spells.Paladin
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_item_t6_trinket_AuraScript();
}
}
// 20271 - Judgement
// Updated 4.3.4
[Script]
class spell_pal_judgement : SpellScriptLoader
{
public spell_pal_judgement() : base("spell_pal_judgement") { }
class spell_pal_judgement_SpellScript : SpellScript
class spell_pal_judgement : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -654,19 +511,9 @@ namespace Scripts.Spells.Paladin
}
}
public override SpellScript GetSpellScript()
{
return new spell_pal_judgement_SpellScript();
}
}
// 633 - Lay on Hands
[Script]
class spell_pal_lay_on_hands : SpellScriptLoader
{
public spell_pal_lay_on_hands() : base("spell_pal_lay_on_hands") { }
class spell_pal_lay_on_hands_SpellScript : SpellScript
class spell_pal_lay_on_hands : SpellScript
{
public override bool Validate(SpellInfo spell)
{
@@ -706,19 +553,9 @@ namespace Scripts.Spells.Paladin
}
}
public override SpellScript GetSpellScript()
{
return new spell_pal_lay_on_hands_SpellScript();
}
}
// 53651 - Beacon of Light
[Script]
class spell_pal_light_s_beacon : SpellScriptLoader
{
public spell_pal_light_s_beacon() : base("spell_pal_light_s_beacon") { }
class spell_pal_light_s_beacon_AuraScript : AuraScript
class spell_pal_light_s_beacon : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -764,19 +601,9 @@ namespace Scripts.Spells.Paladin
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_light_s_beacon_AuraScript();
}
}
// 31789 - Righteous Defense
[Script]
class spell_pal_righteous_defense : SpellScriptLoader
{
public spell_pal_righteous_defense() : base("spell_pal_righteous_defense") { }
class spell_pal_righteous_defense_SpellScript : SpellScript
class spell_pal_righteous_defense : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -826,19 +653,9 @@ namespace Scripts.Spells.Paladin
}
}
public override SpellScript GetSpellScript()
{
return new spell_pal_righteous_defense_SpellScript();
}
}
// 85285 - Sacred Shield
[Script]
class spell_pal_sacred_shield : SpellScriptLoader
{
public spell_pal_sacred_shield() : base("spell_pal_sacred_shield") { }
class spell_pal_sacred_shield_SpellScript : SpellScript
class spell_pal_sacred_shield : SpellScript
{
SpellCastResult CheckCast()
{
@@ -858,20 +675,10 @@ namespace Scripts.Spells.Paladin
}
};
public override SpellScript GetSpellScript()
{
return new spell_pal_sacred_shield_SpellScript();
}
}
// 85256 - Templar's Verdict
// Updated 4.3.4
[Script]
class spell_pal_templar_s_verdict : SpellScriptLoader
{
public spell_pal_templar_s_verdict() : base("spell_pal_templar_s_verdict") { }
class spell_pal_templar_s_verdict_SpellScript : SpellScript
class spell_pal_templar_s_verdict : SpellScript
{
public override bool Validate(SpellInfo spellEntry)
{
@@ -921,19 +728,9 @@ namespace Scripts.Spells.Paladin
}
}
public override SpellScript GetSpellScript()
{
return new spell_pal_templar_s_verdict_SpellScript();
}
}
// 20154, 21084 - Seal of Righteousness - melee proc dummy (addition ${$MWS*(0.022*$AP+0.044*$SPH)} damage)
[Script]
class spell_pal_seal_of_righteousness : SpellScriptLoader
{
public spell_pal_seal_of_righteousness() : base("spell_pal_seal_of_righteousness") { }
class spell_pal_seal_of_righteousness_AuraScript : AuraScript
class spell_pal_seal_of_righteousness : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -963,18 +760,8 @@ namespace Scripts.Spells.Paladin
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_seal_of_righteousness_AuraScript();
}
}
[Script] // 28789 - Holy Power
class spell_pal_t3_6p_bonus : SpellScriptLoader
{
public spell_pal_t3_6p_bonus() : base("spell_pal_t3_6p_bonus") { }
class spell_pal_t3_6p_bonus_AuraScript : AuraScript
class spell_pal_t3_6p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1021,18 +808,8 @@ namespace Scripts.Spells.Paladin
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_t3_6p_bonus_AuraScript();
}
}
[Script] // 64890 Item - Paladin T8 Holy 2P Bonus
class spell_pal_t8_2p_bonus : SpellScriptLoader
{
public spell_pal_t8_2p_bonus() : base("spell_pal_t8_2p_bonus") { }
class spell_pal_t8_2p_bonus_AuraScript : AuraScript
class spell_pal_t8_2p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1064,10 +841,4 @@ namespace Scripts.Spells.Paladin
OnEffectProc.Add(new EffectProcHandler(HandleProc, 0, AuraType.Dummy));
}
}
public override AuraScript GetAuraScript()
{
return new spell_pal_t8_2p_bonus_AuraScript();
}
}
}
+34 -344
View File
@@ -84,11 +84,7 @@ namespace Scripts.Spells.Priest
}
[Script] // 26169 - Oracle Healing Bonus
class spell_pri_aq_3p_bonus : SpellScriptLoader
{
public spell_pri_aq_3p_bonus() : base("spell_pri_aq_3p_bonus") { }
class spell_pri_aq_3p_bonus_AuraScript : AuraScript
class spell_pri_aq_3p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -116,18 +112,8 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_aq_3p_bonus_AuraScript();
}
}
[Script] // 81749 - Atonement
class spell_pri_atonement : SpellScriptLoader
{
public spell_pri_atonement() : base("spell_pri_atonement") { }
public class spell_pri_atonement_AuraScript : AuraScript
public class spell_pri_atonement : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -176,18 +162,8 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_atonement_AuraScript();
}
}
[Script] // 194384 - Atonement
class spell_pri_atonement_triggered : SpellScriptLoader
{
public spell_pri_atonement_triggered() : base("spell_pri_atonement_triggered") { }
class spell_pri_atonement_triggered_AuraScript : AuraScript
class spell_pri_atonement_triggered : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -202,7 +178,7 @@ namespace Scripts.Spells.Priest
Aura atonement = caster.GetAura(SpellIds.Atonement);
if (atonement != null)
{
var script = atonement.GetScript<spell_pri_atonement.spell_pri_atonement_AuraScript>(nameof(spell_pri_atonement));
var script = atonement.GetScript<spell_pri_atonement>("spell_pri_atonement");
if (script != null)
script.AddAtonementTarget(GetTarget().GetGUID());
}
@@ -217,7 +193,7 @@ namespace Scripts.Spells.Priest
Aura atonement = caster.GetAura(SpellIds.Atonement);
if (atonement != null)
{
var script = atonement.GetScript<spell_pri_atonement.spell_pri_atonement_AuraScript>(nameof(spell_pri_atonement));
var script = atonement.GetScript<spell_pri_atonement>("spell_pri_atonement");
if (script != null)
script.RemoveAtonementTarget(GetTarget().GetGUID());
}
@@ -231,18 +207,8 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_atonement_triggered_AuraScript();
}
}
[Script] // 64129 - Body and Soul
class spell_pri_body_and_soul : SpellScriptLoader
{
public spell_pri_body_and_soul() : base("spell_pri_body_and_soul") { }
class spell_pri_body_and_soul_AuraScript : AuraScript
class spell_pri_body_and_soul : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -277,19 +243,9 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_body_and_soul_AuraScript();
}
}
// 34861 - Circle of Healing
[Script]
class spell_pri_circle_of_healing : SpellScriptLoader
{
public spell_pri_circle_of_healing() : base("spell_pri_circle_of_healing") { }
class spell_pri_circle_of_healing_SpellScript : SpellScript
class spell_pri_circle_of_healing : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -322,19 +278,9 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_circle_of_healing_SpellScript();
}
}
// 527 - Dispel magic
[Script]
class spell_pri_dispel_magic : SpellScriptLoader
{
public spell_pri_dispel_magic() : base("spell_pri_dispel_magic") { }
class spell_pri_dispel_magic_SpellScript : SpellScript
class spell_pri_dispel_magic : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -374,19 +320,9 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_dispel_magic_SpellScript();
}
}
// -47509 - Divine Aegis
[Script]
class spell_pri_divine_aegis : SpellScriptLoader
{
public spell_pri_divine_aegis() : base("spell_pri_divine_aegis") { }
class spell_pri_divine_aegis_AuraScript : AuraScript
class spell_pri_divine_aegis : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -425,19 +361,9 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_divine_aegis_AuraScript();
}
}
// 64844 - Divine Hymn
[Script]
class spell_pri_divine_hymn : SpellScriptLoader
{
public spell_pri_divine_hymn() : base("spell_pri_divine_hymn") { }
class spell_pri_divine_hymn_SpellScript : SpellScript
class spell_pri_divine_hymn : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -465,19 +391,9 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_divine_hymn_SpellScript();
}
}
// 55680 - Glyph of Prayer of Healing
[Script]
class spell_pri_glyph_of_prayer_of_healing : SpellScriptLoader
{
public spell_pri_glyph_of_prayer_of_healing() : base("spell_pri_glyph_of_prayer_of_healing") { }
class spell_pri_glyph_of_prayer_of_healing_AuraScript : AuraScript
class spell_pri_glyph_of_prayer_of_healing : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -503,18 +419,8 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_glyph_of_prayer_of_healing_AuraScript();
}
}
[Script] // 24191 - Improved Power Word Shield
class spell_pri_improved_power_word_shield : SpellScriptLoader
{
public spell_pri_improved_power_word_shield() : base("spell_pri_improved_power_word_shield") { }
class spell_pri_improved_power_word_shield_AuraScript : AuraScript
class spell_pri_improved_power_word_shield : AuraScript
{
void HandleEffectCalcSpellMod(AuraEffect aurEff, ref SpellModifier spellMod)
{
@@ -536,19 +442,9 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_improved_power_word_shield_AuraScript();
}
}
// 47788 - Guardian Spirit
[Script]
class spell_pri_guardian_spirit : SpellScriptLoader
{
public spell_pri_guardian_spirit() : base("spell_pri_guardian_spirit") { }
class spell_pri_guardian_spirit_AuraScript : AuraScript
class spell_pri_guardian_spirit : AuraScript
{
uint healPct;
@@ -589,19 +485,9 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_guardian_spirit_AuraScript();
}
}
// 64904 - Hymn of Hope
[Script]
class spell_pri_hymn_of_hope : SpellScriptLoader
{
public spell_pri_hymn_of_hope() : base("spell_pri_hymn_of_hope") { }
class spell_pri_hymn_of_hope_SpellScript : SpellScript
class spell_pri_hymn_of_hope : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -638,18 +524,8 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_hymn_of_hope_SpellScript();
}
}
[Script] // 40438 - Priest Tier 6 Trinket
class spell_pri_item_t6_trinket : SpellScriptLoader
{
public spell_pri_item_t6_trinket() : base("spell_pri_item_t6_trinket") { }
class spell_pri_item_t6_trinket_AuraScript : AuraScript
class spell_pri_item_t6_trinket : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -673,19 +549,9 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_item_t6_trinket_AuraScript();
}
}
// 92833 - Leap of Faith
[Script]
class spell_pri_leap_of_faith_effect_trigger : SpellScriptLoader
{
public spell_pri_leap_of_faith_effect_trigger() : base("spell_pri_leap_of_faith_effect_trigger") { }
class spell_pri_leap_of_faith_effect_trigger_SpellScript : SpellScript
class spell_pri_leap_of_faith_effect_trigger : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -708,18 +574,8 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_leap_of_faith_effect_trigger_SpellScript();
}
}
[Script] // 1706 - Levitate
class spell_pri_levitate : SpellScriptLoader
{
public spell_pri_levitate() : base("spell_pri_levitate") { }
class spell_pri_levitate_SpellScript : SpellScript
class spell_pri_levitate : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -737,19 +593,9 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_levitate_SpellScript();
}
}
// 7001 - Lightwell Renew
[Script]
class spell_pri_lightwell_renew : SpellScriptLoader
{
public spell_pri_lightwell_renew() : base("spell_pri_lightwell_renew") { }
class spell_pri_lightwell_renew_AuraScript : AuraScript
class spell_pri_lightwell_renew : AuraScript
{
void CalculateAmount(AuraEffect aurEff, ref int amount, ref bool canBeRecalculated)
{
@@ -769,19 +615,9 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_lightwell_renew_AuraScript();
}
}
// 8129 - Mana Burn
[Script]
class spell_pri_mana_burn : SpellScriptLoader
{
public spell_pri_mana_burn() : base("spell_pri_mana_burn") { }
class spell_pri_mana_burn_SpellScript : SpellScript
class spell_pri_mana_burn : SpellScript
{
void HandleAfterHit()
{
@@ -796,19 +632,9 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_mana_burn_SpellScript();
}
}
// 28305 - Mana Leech (Passive) (Priest Pet Aura)
[Script]
class spell_pri_mana_leech : SpellScriptLoader
{
public spell_pri_mana_leech() : base("spell_pri_mana_leech") { }
class spell_pri_mana_leech_AuraScript : AuraScript
class spell_pri_mana_leech : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -842,19 +668,9 @@ namespace Scripts.Spells.Priest
Unit _procTarget;
}
public override AuraScript GetAuraScript()
{
return new spell_pri_mana_leech_AuraScript();
}
}
// 47948 - Pain and Suffering (Proc)
[Script]
class spell_pri_pain_and_suffering_proc : SpellScriptLoader
{
public spell_pri_pain_and_suffering_proc() : base("spell_pri_pain_and_suffering_proc") { }
class spell_pri_pain_and_suffering_proc_SpellScript : SpellScript
class spell_pri_pain_and_suffering_proc : SpellScript
{
void HandleEffectScriptEffect(uint effIndex)
{
@@ -874,19 +690,9 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_pain_and_suffering_proc_SpellScript();
}
}
// 47540 - Penance
[Script]
class spell_pri_penance : SpellScriptLoader
{
public spell_pri_penance() : base("spell_pri_penance") { }
class spell_pri_penance_SpellScript : SpellScript
class spell_pri_penance : SpellScript
{
public override bool Load()
{
@@ -964,19 +770,9 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_penance_SpellScript();
}
}
// -47569 - Phantasm
[Script]
class spell_pri_phantasm : SpellScriptLoader
{
public spell_pri_phantasm() : base("spell_pri_phantasm") { }
class spell_pri_phantasm_AuraScript : AuraScript
class spell_pri_phantasm : AuraScript
{
bool CheckProc(ProcEventInfo eventInfo)
{
@@ -996,18 +792,8 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_phantasm_AuraScript();
}
}
[Script] // 17 - Power Word: Shield
class spell_pri_power_word_shield : SpellScriptLoader
{
public spell_pri_power_word_shield() : base("spell_pri_power_word_shield") { }
class spell_pri_power_word_shield_AuraScript : AuraScript
class spell_pri_power_word_shield : AuraScript
{
void CalculateAmount(AuraEffect auraEffect, ref int amount, ref bool canBeRecalculated)
{
@@ -1061,18 +847,8 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_power_word_shield_AuraScript();
}
}
[Script] // 33110 - Prayer of Mending Heal
class spell_pri_prayer_of_mending_heal : SpellScriptLoader
{
public spell_pri_prayer_of_mending_heal() : base("spell_pri_prayer_of_mending_heal") { }
class spell_pri_prayer_of_mending_heal_SpellScript : SpellScript
class spell_pri_prayer_of_mending_heal : SpellScript
{
void HandleHeal(uint effIndex)
{
@@ -1095,19 +871,9 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_prayer_of_mending_heal_SpellScript();
}
}
// 15473 - Shadowform
[Script]
class spell_pri_shadowform : SpellScriptLoader
{
public spell_pri_shadowform() : base("spell_pri_shadowform") { }
class spell_pri_shadowform_AuraScript : AuraScript
class spell_pri_shadowform : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1131,18 +897,8 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_shadowform_AuraScript();
}
}
[Script] // 28809 - Greater Heal
class spell_pri_t3_4p_bonus : SpellScriptLoader
{
public spell_pri_t3_4p_bonus() : base("spell_pri_t3_4p_bonus") { }
class spell_pri_t3_4p_bonus_AuraScript : AuraScript
class spell_pri_t3_4p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1161,18 +917,8 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_t3_4p_bonus_AuraScript();
}
}
[Script] // 37594 - Greater Heal Refund
class spell_pri_t5_heal_2p_bonus : SpellScriptLoader
{
public spell_pri_t5_heal_2p_bonus() : base("spell_pri_t5_heal_2p_bonus") { }
class spell_pri_t5_heal_2p_bonus_AuraScript : AuraScript
class spell_pri_t5_heal_2p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1207,18 +953,8 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_t5_heal_2p_bonus_AuraScript();
}
}
[Script] // 70770 - Item - Priest T10 Healer 2P Bonus
class spell_pri_t10_heal_2p_bonus : SpellScriptLoader
{
public spell_pri_t10_heal_2p_bonus() : base("spell_pri_t10_heal_2p_bonus") { }
class spell_pri_t10_heal_2p_bonus_AuraScript : AuraScript
class spell_pri_t10_heal_2p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1251,19 +987,9 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_t10_heal_2p_bonus_AuraScript();
}
}
// 15286 - Vampiric Embrace
[Script]
class spell_pri_vampiric_embrace : SpellScriptLoader
{
public spell_pri_vampiric_embrace() : base("spell_pri_vampiric_embrace") { }
class spell_pri_vampiric_embrace_AuraScript : AuraScript
class spell_pri_vampiric_embrace : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1296,19 +1022,9 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_vampiric_embrace_AuraScript();
}
}
// 15290 - Vampiric Embrace (heal)
[Script]
class spell_pri_vampiric_embrace_target : SpellScriptLoader
{
public spell_pri_vampiric_embrace_target() : base("spell_pri_vampiric_embrace_target") { }
class spell_pri_vampiric_embrace_target_SpellScript : SpellScript
class spell_pri_vampiric_embrace_target : SpellScript
{
void FilterTargets(List<WorldObject> unitList)
{
@@ -1321,19 +1037,9 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_vampiric_embrace_target_SpellScript();
}
}
// 34914 - Vampiric Touch
[Script]
class spell_pri_vampiric_touch : SpellScriptLoader
{
public spell_pri_vampiric_touch() : base("spell_pri_vampiric_touch") { }
class spell_pri_vampiric_touch_AuraScript : AuraScript
class spell_pri_vampiric_touch : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1378,18 +1084,8 @@ namespace Scripts.Spells.Priest
}
}
public override AuraScript GetAuraScript()
{
return new spell_pri_vampiric_touch_AuraScript();
}
}
[Script] // 121536 - Angelic Feather talent
class spell_pri_angelic_feather_trigger : SpellScriptLoader
{
public spell_pri_angelic_feather_trigger() : base("spell_pri_angelic_feather_trigger") { }
class spell_pri_angelic_feather_trigger_SpellScript : SpellScript
class spell_pri_angelic_feather_trigger : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1420,12 +1116,6 @@ namespace Scripts.Spells.Priest
}
}
public override SpellScript GetSpellScript()
{
return new spell_pri_angelic_feather_trigger_SpellScript();
}
}
[Script] // Angelic Feather areatrigger - created by SPELL_PRIEST_ANGELIC_FEATHER_AREATRIGGER
class areatrigger_pri_angelic_feather : AreaTriggerEntityScript
{
@@ -1439,7 +1129,7 @@ namespace Scripts.Spells.Priest
public override void OnInitialize()
{
Unit caster = at.GetCaster();
if (caster )
if (caster)
{
List<AreaTrigger> areaTriggers = caster.GetAreaTriggers(SpellIds.AngelicFeatherAreatrigger);
+69 -683
View File
File diff suppressed because it is too large Load Diff
+4 -49
View File
@@ -43,11 +43,7 @@ namespace Scripts.Spells.Rogue
}
[Script] // 51690 - Killing Spree
class spell_rog_killing_spree : SpellScriptLoader
{
public spell_rog_killing_spree() : base("spell_rog_killing_spree") { }
class spell_rog_killing_spree_SpellScript : SpellScript
class spell_rog_killing_spree : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -73,11 +69,6 @@ namespace Scripts.Spells.Rogue
}
}
public override SpellScript GetSpellScript()
{
return new spell_rog_killing_spree_SpellScript();
}
public class spell_rog_killing_spree_AuraScript : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
@@ -127,18 +118,8 @@ namespace Scripts.Spells.Rogue
List<ObjectGuid> _targets = new List<ObjectGuid>();
}
public override AuraScript GetAuraScript()
{
return new spell_rog_killing_spree_AuraScript();
}
}
[Script] // 70805 - Rogue T10 2P Bonus -- THIS SHOULD BE REMOVED WITH NEW PROC SYSTEM.
class spell_rog_t10_2p_bonus : SpellScriptLoader
{
public spell_rog_t10_2p_bonus() : base("spell_rog_t10_2p_bonus") { }
class spell_rog_t10_2p_bonus_AuraScript : AuraScript
class spell_rog_t10_2p_bonus : AuraScript
{
bool CheckProc(ProcEventInfo eventInfo)
{
@@ -151,18 +132,8 @@ namespace Scripts.Spells.Rogue
}
}
public override AuraScript GetAuraScript()
{
return new spell_rog_t10_2p_bonus_AuraScript();
}
}
[Script] // 2098 - Eviscerate
class spell_rog_eviscerate : SpellScriptLoader
{
public spell_rog_eviscerate() : base("spell_rog_eviscerate") { }
class spell_rog_eviscerate_SpellScript : SpellScript
class spell_rog_eviscerate : SpellScript
{
void CalculateDamage(uint effIndex)
{
@@ -180,18 +151,8 @@ namespace Scripts.Spells.Rogue
}
}
public override SpellScript GetSpellScript()
{
return new spell_rog_eviscerate_SpellScript();
}
}
[Script] // 32645 - Envenom
class spell_rog_envenom : SpellScriptLoader
{
public spell_rog_envenom() : base("spell_rog_envenom") { }
class spell_rog_envenom_SpellScript : SpellScript
class spell_rog_envenom : SpellScript
{
void CalculateDamage(uint effIndex)
{
@@ -208,10 +169,4 @@ namespace Scripts.Spells.Rogue
OnEffectLaunchTarget.Add(new EffectHandler(CalculateDamage, 0, SpellEffectName.SchoolDamage));
}
}
public override SpellScript GetSpellScript()
{
return new spell_rog_envenom_SpellScript();
}
}
}
+30 -320
View File
@@ -75,11 +75,7 @@ namespace Scripts.Spells.Shaman
}
[Script] // 108281 - Ancestral Guidance
class spell_sha_ancestral_guidance : SpellScriptLoader
{
public spell_sha_ancestral_guidance() : base("spell_sha_ancestral_guidance") { }
class spell_sha_ancestral_guidance_AuraScript : AuraScript
class spell_sha_ancestral_guidance : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -108,18 +104,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_ancestral_guidance_AuraScript();
}
}
[Script] // 114911 - Ancestral Guidance Heal
class spell_sha_ancestral_guidance_heal : SpellScriptLoader
{
public spell_sha_ancestral_guidance_heal() : base("spell_sha_ancestral_guidance_heal") { }
class spell_sha_ancestral_guidance_heal_SpellScript : SpellScript
class spell_sha_ancestral_guidance_heal : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -137,18 +123,8 @@ namespace Scripts.Spells.Shaman
}
}
public override SpellScript GetSpellScript()
{
return new spell_sha_ancestral_guidance_heal_SpellScript();
}
}
[Script] // 2825 - Bloodlust
class spell_sha_bloodlust : SpellScriptLoader
{
public spell_sha_bloodlust() : base("spell_sha_bloodlust") { }
class spell_sha_bloodlust_SpellScript : SpellScript
class spell_sha_bloodlust : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -177,18 +153,8 @@ namespace Scripts.Spells.Shaman
}
}
public override SpellScript GetSpellScript()
{
return new spell_sha_bloodlust_SpellScript();
}
}
[Script] // 187874 - Crash Lightning
class spell_sha_crash_lightning : SpellScriptLoader
{
public spell_sha_crash_lightning() : base("spell_sha_crash_lightning") { }
class spell_sha_crash_lightning_SpellScript : SpellScript
class spell_sha_crash_lightning : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -219,18 +185,8 @@ namespace Scripts.Spells.Shaman
int _targetsHit = 0;
}
public override SpellScript GetSpellScript()
{
return new spell_sha_crash_lightning_SpellScript();
}
}
[Script] // 204288 - Earth Shield
class spell_sha_earth_shield : SpellScriptLoader
{
public spell_sha_earth_shield() : base("spell_sha_earth_shield") { }
class spell_sha_earth_shield_AuraScript : AuraScript
class spell_sha_earth_shield : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -258,18 +214,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_earth_shield_AuraScript();
}
}
[Script] // 170374 - Earthen Rage (Passive)
class spell_sha_earthen_rage_passive : SpellScriptLoader
{
public spell_sha_earthen_rage_passive() : base("spell_sha_earthen_rage_passive") { }
public class spell_sha_earthen_rage_passive_AuraScript : AuraScript
public class spell_sha_earthen_rage_passive : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -296,18 +242,8 @@ namespace Scripts.Spells.Shaman
ObjectGuid _procTargetGuid;
}
public override AuraScript GetAuraScript()
{
return new spell_sha_earthen_rage_passive_AuraScript();
}
}
[Script] // 170377 - Earthen Rage (Proc Aura)
class spell_sha_earthen_rage_proc_aura : SpellScriptLoader
{
public spell_sha_earthen_rage_proc_aura() : base("spell_sha_earthen_rage_proc_aura") { }
class spell_sha_earthen_rage_proc_aura_AuraScript : AuraScript
class spell_sha_earthen_rage_proc_aura : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -320,7 +256,7 @@ namespace Scripts.Spells.Shaman
Aura aura = GetCaster().GetAura(SpellIds.EarthenRagePassive);
if (aura != null)
{
var earthen_rage_script = aura.GetScript<spell_sha_earthen_rage_passive.spell_sha_earthen_rage_passive_AuraScript>(nameof(spell_sha_earthen_rage_passive));
var earthen_rage_script = aura.GetScript<spell_sha_earthen_rage_passive>("spell_sha_earthen_rage_passive");
if (earthen_rage_script != null)
{
Unit procTarget = Global.ObjAccessor.GetUnit(GetCaster(), earthen_rage_script.GetProcTargetGuid());
@@ -337,18 +273,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_earthen_rage_proc_aura_AuraScript();
}
}
[Script] // 117014 - Elemental Blast
class spell_sha_elemental_blast : SpellScriptLoader
{
public spell_sha_elemental_blast() : base("spell_sha_elemental_blast") { }
class spell_sha_elemental_blast_SpellScript : SpellScript
class spell_sha_elemental_blast : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -374,18 +300,8 @@ namespace Scripts.Spells.Shaman
}
}
public override SpellScript GetSpellScript()
{
return new spell_sha_elemental_blast_SpellScript();
}
}
[Script] // 1535 Fire Nova
class spell_sha_fire_nova : SpellScriptLoader
{
public spell_sha_fire_nova() : base("spell_sha_fire_nova") { }
class spell_sha_fire_nova_SpellScript : SpellScript
class spell_sha_fire_nova : SpellScript
{
void HandleDummy(uint effIndex)
{
@@ -401,18 +317,8 @@ namespace Scripts.Spells.Shaman
}
}
public override SpellScript GetSpellScript()
{
return new spell_sha_fire_nova_SpellScript();
}
}
[Script] // 194084 - Flametongue
class spell_sha_flametongue : SpellScriptLoader
{
public spell_sha_flametongue() : base("spell_sha_flametongue") { }
class spell_sha_flametongue_AuraScript : AuraScript
class spell_sha_flametongue : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -434,18 +340,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_flametongue_AuraScript();
}
}
[Script] // 52042 - Healing Stream Totem
class spell_sha_healing_stream_totem_heal : SpellScriptLoader
{
public spell_sha_healing_stream_totem_heal() : base("spell_sha_healing_stream_totem_heal") { }
class spell_sha_healing_stream_totem_heal_SpellScript : SpellScript
class spell_sha_healing_stream_totem_heal : SpellScript
{
void SelectTargets(List<WorldObject> targets)
{
@@ -466,18 +362,8 @@ namespace Scripts.Spells.Shaman
}
}
public override SpellScript GetSpellScript()
{
return new spell_sha_healing_stream_totem_heal_SpellScript();
}
}
[Script] // 32182 - Heroism
class spell_sha_heroism : SpellScriptLoader
{
public spell_sha_heroism() : base("spell_sha_heroism") { }
class spell_sha_heroism_SpellScript : SpellScript
class spell_sha_heroism : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -506,18 +392,8 @@ namespace Scripts.Spells.Shaman
}
}
public override SpellScript GetSpellScript()
{
return new spell_sha_heroism_SpellScript();
}
}
[Script] // 23551 - Lightning Shield T2 Bonus
class spell_sha_item_lightning_shield : SpellScriptLoader
{
public spell_sha_item_lightning_shield() : base("spell_sha_item_lightning_shield") { }
class spell_sha_item_lightning_shield_AuraScript : AuraScript
class spell_sha_item_lightning_shield : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -536,18 +412,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_item_lightning_shield_AuraScript();
}
}
[Script] // 23552 - Lightning Shield T2 Bonus
class spell_sha_item_lightning_shield_trigger : SpellScriptLoader
{
public spell_sha_item_lightning_shield_trigger() : base("spell_sha_item_lightning_shield_trigger") { }
class spell_sha_item_lightning_shield_trigger_AuraScript : AuraScript
class spell_sha_item_lightning_shield_trigger : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -566,18 +432,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_item_lightning_shield_trigger_AuraScript();
}
}
[Script] // 23572 - Mana Surge
class spell_sha_item_mana_surge : SpellScriptLoader
{
public spell_sha_item_mana_surge() : base("spell_sha_item_mana_surge") { }
class spell_sha_item_mana_surge_AuraScript : AuraScript
class spell_sha_item_mana_surge : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -613,18 +469,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_item_mana_surge_AuraScript();
}
}
[Script] // 40463 - Shaman Tier 6 Trinket
class spell_sha_item_t6_trinket : SpellScriptLoader
{
public spell_sha_item_t6_trinket() : base("spell_sha_item_t6_trinket") { }
class spell_sha_item_t6_trinket_AuraScript : AuraScript
class spell_sha_item_t6_trinket : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -672,18 +518,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_item_t6_trinket_AuraScript();
}
}
[Script] // 70811 - Item - Shaman T10 Elemental 2P Bonus
class spell_sha_item_t10_elemental_2p_bonus : SpellScriptLoader
{
public spell_sha_item_t10_elemental_2p_bonus() : base("spell_sha_item_t10_elemental_2p_bonus") { }
class spell_sha_item_t10_elemental_2p_bonus_AuraScript : AuraScript
class spell_sha_item_t10_elemental_2p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -704,18 +540,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_item_t10_elemental_2p_bonus_AuraScript();
}
}
[Script] // 189063 - Lightning Vortex (proc 185881 Item - Shaman T18 Elemental 4P Bonus)
class spell_sha_item_t18_elemental_4p_bonus : SpellScriptLoader
{
public spell_sha_item_t18_elemental_4p_bonus() : base("spell_sha_item_t18_elemental_4p_bonus") { }
class spell_sha_item_t18_elemental_4p_bonus_AuraScript : AuraScript
class spell_sha_item_t18_elemental_4p_bonus : AuraScript
{
void DiminishHaste(AuraEffect aurEff)
{
@@ -731,18 +557,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_item_t18_elemental_4p_bonus_AuraScript();
}
}
[Script] // 51505 - Lava burst
class spell_sha_lava_burst : SpellScriptLoader
{
public spell_sha_lava_burst() : base("spell_sha_lava_burst") { }
class spell_sha_lava_burst_SpellScript : SpellScript
class spell_sha_lava_burst : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -767,18 +583,8 @@ namespace Scripts.Spells.Shaman
}
}
public override SpellScript GetSpellScript()
{
return new spell_sha_lava_burst_SpellScript();
}
}
[Script] // 77756 - Lava Surge
class spell_sha_lava_surge : SpellScriptLoader
{
public spell_sha_lava_surge() : base("spell_sha_lava_surge") { }
class spell_sha_lava_surge_AuraScript : AuraScript
class spell_sha_lava_surge : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -797,18 +603,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_lava_surge_AuraScript();
}
}
[Script] // 77762 - Lava Surge
class spell_sha_lava_surge_proc : SpellScriptLoader
{
public spell_sha_lava_surge_proc() : base("spell_sha_lava_surge_proc") { }
class spell_sha_lava_surge_proc_SpellScript : SpellScript
class spell_sha_lava_surge_proc : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -831,18 +627,8 @@ namespace Scripts.Spells.Shaman
}
}
public override SpellScript GetSpellScript()
{
return new spell_sha_lava_surge_proc_SpellScript();
}
}
[Script] // 210621 - Path of Flames Spread
class spell_sha_path_of_flames_spread : SpellScriptLoader
{
public spell_sha_path_of_flames_spread() : base("spell_sha_path_of_flames_spread") { }
class spell_sha_path_of_flames_spread_SpellScript : SpellScript
class spell_sha_path_of_flames_spread : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -883,18 +669,8 @@ namespace Scripts.Spells.Shaman
}
}
public override SpellScript GetSpellScript()
{
return new spell_sha_path_of_flames_spread_SpellScript();
}
}
[Script] // 51562 - Tidal Waves
class spell_sha_tidal_waves : SpellScriptLoader
{
public spell_sha_tidal_waves() : base("spell_sha_tidal_waves") { }
class spell_sha_tidal_waves_AuraScript : AuraScript
class spell_sha_tidal_waves : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -916,18 +692,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_tidal_waves_AuraScript();
}
}
[Script] // 28823 - Totemic Power
class spell_sha_t3_6p_bonus : SpellScriptLoader
{
public spell_sha_t3_6p_bonus() : base("spell_sha_t3_6p_bonus") { }
class spell_sha_t3_6p_bonus_AuraScript : AuraScript
class spell_sha_t3_6p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -974,18 +740,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_t3_6p_bonus_AuraScript();
}
}
[Script] // 64928 - Item - Shaman T8 Elemental 4P Bonus
class spell_sha_t8_elemental_4p_bonus : SpellScriptLoader
{
public spell_sha_t8_elemental_4p_bonus() : base("spell_sha_t8_elemental_4p_bonus") { }
class spell_sha_t8_elemental_4p_bonus_AuraScript : AuraScript
class spell_sha_t8_elemental_4p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1018,18 +774,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_t8_elemental_4p_bonus_AuraScript();
}
}
[Script] // 67228 - Item - Shaman T9 Elemental 4P Bonus (Lava Burst)
class spell_sha_t9_elemental_4p_bonus : SpellScriptLoader
{
public spell_sha_t9_elemental_4p_bonus() : base("spell_sha_t9_elemental_4p_bonus") { }
class spell_sha_t9_elemental_4p_bonus_AuraScript : AuraScript
class spell_sha_t9_elemental_4p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1062,18 +808,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_t9_elemental_4p_bonus_AuraScript();
}
}
[Script] // 70817 - Item - Shaman T10 Elemental 4P Bonus
class spell_sha_t10_elemental_4p_bonus : SpellScriptLoader
{
public spell_sha_t10_elemental_4p_bonus() : base("spell_sha_t10_elemental_4p_bonus") { }
class spell_sha_t10_elemental_4p_bonus_AuraScript : AuraScript
class spell_sha_t10_elemental_4p_bonus : AuraScript
{
void HandleProc(AuraEffect aurEff, ProcEventInfo eventInfo)
{
@@ -1104,18 +840,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_t10_elemental_4p_bonus_AuraScript();
}
}
[Script] // 70808 - Item - Shaman T10 Restoration 4P Bonus
class spell_sha_t10_restoration_4p_bonus : SpellScriptLoader
{
public spell_sha_t10_restoration_4p_bonus() : base("spell_sha_t10_restoration_4p_bonus") { }
class spell_sha_t10_restoration_4p_bonus_AuraScript : AuraScript
class spell_sha_t10_restoration_4p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1148,18 +874,8 @@ namespace Scripts.Spells.Shaman
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_t10_restoration_4p_bonus_AuraScript();
}
}
[Script] // 33757 - Windfury
class spell_sha_windfury : SpellScriptLoader
{
public spell_sha_windfury() : base("spell_sha_windfury") { }
class spell_sha_windfury_AuraScript : AuraScript
class spell_sha_windfury : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1179,10 +895,4 @@ namespace Scripts.Spells.Shaman
OnEffectProc.Add(new EffectProcHandler(HandleEffectProc, 0, AuraType.Dummy));
}
}
public override AuraScript GetAuraScript()
{
return new spell_sha_windfury_AuraScript();
}
}
}
+37 -361
View File
@@ -25,8 +25,6 @@ using System.Collections.Generic;
namespace Scripts.Spells.Warlock
{
using SoulSwapOverrideAuraScript = spell_warl_soul_swap_override.spell_warl_soul_swap_override_AuraScript;
struct SpellIds
{
public const uint BaneOfDoomEffect = 18662;
@@ -81,15 +79,8 @@ namespace Scripts.Spells.Warlock
}
[Script] // 710 - Banish
class spell_warl_banish : SpellScriptLoader
class spell_warl_banish : SpellScript
{
public spell_warl_banish() : base("spell_warl_banish") { }
class spell_warl_banish_SpellScript : SpellScript
{
public spell_warl_banish_SpellScript()
{ }
void HandleBanish(SpellMissInfo missInfo)
{
if (missInfo != SpellMissInfo.Immune)
@@ -111,18 +102,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_banish_SpellScript();
}
}
[Script] // 17962 - Conflagrate - Updated to 4.3.4
class spell_warl_conflagrate : SpellScriptLoader
{
public spell_warl_conflagrate() : base("spell_warl_conflagrate") { }
class spell_warl_conflagrate_SpellScript : SpellScript
class spell_warl_conflagrate : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -142,18 +123,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_conflagrate_SpellScript();
}
}
[Script] // 6201 - Create Healthstone
class spell_warl_create_healthstone : SpellScriptLoader
{
public spell_warl_create_healthstone() : base("spell_warl_create_healthstone") { }
class spell_warl_create_healthstone_SpellScript : SpellScript
class spell_warl_create_healthstone : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -176,18 +147,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_create_healthstone_SpellScript();
}
}
[Script] // 603 - Bane of Doom
class spell_warl_bane_of_doom : SpellScriptLoader
{
public spell_warl_bane_of_doom() : base("spell_warl_bane_of_doom") { }
class spell_warl_curse_of_doom_AuraScript : AuraScript
class spell_warl_curse_of_doom : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -218,18 +179,8 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_curse_of_doom_AuraScript();
}
}
[Script] // 48018 - Demonic Circle: Summon
class spell_warl_demonic_circle_summon : SpellScriptLoader
{
public spell_warl_demonic_circle_summon() : base("spell_warl_demonic_circle_summon") { }
class spell_warl_demonic_circle_summon_AuraScript : AuraScript
class spell_warl_demonic_circle_summon : AuraScript
{
void HandleRemove(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -268,18 +219,8 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_demonic_circle_summon_AuraScript();
}
}
[Script] // 48020 - Demonic Circle: Teleport
class spell_warl_demonic_circle_teleport : SpellScriptLoader
{
public spell_warl_demonic_circle_teleport() : base("spell_warl_demonic_circle_teleport") { }
class spell_warl_demonic_circle_teleport_AuraScript : AuraScript
class spell_warl_demonic_circle_teleport : AuraScript
{
void HandleTeleport(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -301,18 +242,8 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_demonic_circle_teleport_AuraScript();
}
}
[Script] // 77801 - Demon Soul - Updated to 4.3.4
class spell_warl_demon_soul : SpellScriptLoader
{
public spell_warl_demon_soul() : base("spell_warl_demon_soul") { }
class spell_warl_demon_soul_SpellScript : SpellScript
class spell_warl_demon_soul : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -358,18 +289,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_demon_soul_SpellScript();
}
}
[Script] // 47193 - Demonic Empowerment
class spell_warl_demonic_empowerment : SpellScriptLoader
{
public spell_warl_demonic_empowerment() : base("spell_warl_demonic_empowerment") { }
class spell_warl_demonic_empowerment_SpellScript : SpellScript
class spell_warl_demonic_empowerment : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -418,18 +339,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_demonic_empowerment_SpellScript();
}
}
[Script] // 67518, 19505 - Devour Magic
class spell_warl_devour_magic : SpellScriptLoader
{
public spell_warl_devour_magic() : base("spell_warl_devour_magic") { }
class spell_warl_devour_magic_SpellScript : SpellScript
class spell_warl_devour_magic : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -460,18 +371,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_devour_magic_SpellScript();
}
}
[Script] // 47422 - Everlasting Affliction
class spell_warl_everlasting_affliction : SpellScriptLoader
{
public spell_warl_everlasting_affliction() : base("spell_warl_everlasting_affliction") { }
class spell_warl_everlasting_affliction_SpellScript : SpellScript
class spell_warl_everlasting_affliction : SpellScript
{
void HandleScriptEffect(uint effIndex)
{
@@ -498,18 +399,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_everlasting_affliction_SpellScript();
}
}
[Script] // -47230 - Fel Synergy
class spell_warl_fel_synergy : SpellScriptLoader
{
public spell_warl_fel_synergy() : base("spell_warl_fel_synergy") { }
class spell_warl_fel_synergy_AuraScript : AuraScript
class spell_warl_fel_synergy : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -536,18 +427,8 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_fel_synergy_AuraScript();
}
}
[Script] // 63310 - Glyph of Shadowflame
class spell_warl_glyph_of_shadowflame : SpellScriptLoader
{
public spell_warl_glyph_of_shadowflame() : base("spell_warl_glyph_of_shadowflame") { }
class spell_warl_glyph_of_shadowflame_AuraScript : AuraScript
class spell_warl_glyph_of_shadowflame : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -566,18 +447,8 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_glyph_of_shadowflame_AuraScript();
}
}
[Script] // 48181 - Haunt
class spell_warl_haunt : SpellScriptLoader
{
public spell_warl_haunt() : base("spell_warl_haunt") { }
class spell_warl_haunt_SpellScript : SpellScript
class spell_warl_haunt : SpellScript
{
void HandleAfterHit()
{
@@ -596,6 +467,7 @@ namespace Scripts.Spells.Warlock
}
}
[Script]
class spell_warl_haunt_AuraScript : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
@@ -619,23 +491,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_haunt_SpellScript();
}
public override AuraScript GetAuraScript()
{
return new spell_warl_haunt_AuraScript();
}
}
[Script] // 755 - Health Funnel
class spell_warl_health_funnel : SpellScriptLoader
{
public spell_warl_health_funnel() : base("spell_warl_health_funnel") { }
class spell_warl_health_funnel_AuraScript : AuraScript
class spell_warl_health_funnel : AuraScript
{
void ApplyEffect(AuraEffect aurEff, AuraEffectHandleModes mode)
{
@@ -684,18 +541,8 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_health_funnel_AuraScript();
}
}
[Script] // 6262 - Healthstone
class spell_warl_healthstone_heal : SpellScriptLoader
{
public spell_warl_healthstone_heal() : base("spell_warl_healthstone_heal") { }
class spell_warl_healthstone_heal_SpellScript : SpellScript
class spell_warl_healthstone_heal : SpellScript
{
void HandleOnHit()
{
@@ -709,18 +556,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_healthstone_heal_SpellScript();
}
}
[Script] // -18119 - Improved Soul Fire
class spell_warl_improved_soul_fire : SpellScriptLoader
{
public spell_warl_improved_soul_fire() : base("spell_warl_improved_soul_fire") { }
class spell_warl_improved_soul_fire_AuraScript : AuraScript
class spell_warl_improved_soul_fire : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -740,19 +577,9 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_improved_soul_fire_AuraScript();
}
}
// 687 - Demon Armor
[Script] // 28176 - Fel Armor
class spell_warl_nether_ward_overrride : SpellScriptLoader
{
public spell_warl_nether_ward_overrride() : base("spell_warl_nether_ward_overrride") { }
class spell_warl_nether_ward_overrride_AuraScript : AuraScript
class spell_warl_nether_ward_overrride : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -773,18 +600,8 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_nether_ward_overrride_AuraScript();
}
}
[Script] // 6358 - Seduction (Special Ability)
class spell_warl_seduction : SpellScriptLoader
{
public spell_warl_seduction() : base("spell_warl_seduction") { }
class spell_warl_seduction_SpellScript : SpellScript
class spell_warl_seduction : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -812,18 +629,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_seduction_SpellScript();
}
}
[Script] // 27285 - Seed of Corruption
class spell_warl_seed_of_corruption : SpellScriptLoader
{
public spell_warl_seed_of_corruption() : base("spell_warl_seed_of_corruption") { }
class spell_warl_seed_of_corruption_SpellScript : SpellScript
class spell_warl_seed_of_corruption : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -837,18 +644,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_seed_of_corruption_SpellScript();
}
}
[Script] // 27243 - Seed of Corruption
class spell_warl_seed_of_corruption_dummy : SpellScriptLoader
{
public spell_warl_seed_of_corruption_dummy() : base("spell_warl_seed_of_corruption_dummy") { }
class spell_warl_seed_of_corruption_dummy_AuraScript : AuraScript
class spell_warl_seed_of_corruption_dummy : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -885,12 +682,6 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_seed_of_corruption_dummy_AuraScript();
}
}
// 32863 - Seed of Corruption
// 36123 - Seed of Corruption
// 38252 - Seed of Corruption
@@ -898,11 +689,7 @@ namespace Scripts.Spells.Warlock
// 44141 - Seed of Corruption
// 70388 - Seed of Corruption
[Script] // Monster spells, triggered only on amount drop (not on death)
class spell_warl_seed_of_corruption_generic : SpellScriptLoader
{
public spell_warl_seed_of_corruption_generic() : base("spell_warl_seed_of_corruption_generic") { }
class spell_warl_seed_of_corruption_generic_AuraScript : AuraScript
class spell_warl_seed_of_corruption_generic : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -938,18 +725,8 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_seed_of_corruption_generic_AuraScript();
}
}
[Script] // -7235 - Shadow Ward
class spell_warl_shadow_ward : SpellScriptLoader
{
public spell_warl_shadow_ward() : base("spell_warl_shadow_ward") { }
class spell_warl_shadow_ward_AuraScript : AuraScript
class spell_warl_shadow_ward : AuraScript
{
void CalculateAmount(AuraEffect aurEff, ref int amount, ref bool canBeRecalculated)
{
@@ -973,18 +750,8 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_shadow_ward_AuraScript();
}
}
[Script] // -30293 - Soul Leech
class spell_warl_soul_leech : SpellScriptLoader
{
public spell_warl_soul_leech() : base("spell_warl_soul_leech") { }
class spell_warl_soul_leech_AuraScript : AuraScript
class spell_warl_soul_leech : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1002,18 +769,8 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_soul_leech_AuraScript();
}
}
[Script] // 86121 - Soul Swap
class spell_warl_soul_swap : SpellScriptLoader
{
public spell_warl_soul_swap() : base("spell_warl_soul_swap") { }
class spell_warl_soul_swap_SpellScript : SpellScript
class spell_warl_soul_swap : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1032,18 +789,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_soul_swap_SpellScript();
}
}
[Script] // 86211 - Soul Swap - Also acts as a dot container
class spell_warl_soul_swap_override : SpellScriptLoader
{
public spell_warl_soul_swap_override() : base(nameof(spell_warl_soul_swap_override)) { }
public class spell_warl_soul_swap_override_AuraScript : AuraScript
public class spell_warl_soul_swap_override : AuraScript
{
//! Forced to, pure virtual functions must have a body when linking
public override void Register() { }
@@ -1058,18 +805,8 @@ namespace Scripts.Spells.Warlock
Unit _swapCaster = null;
}
public override AuraScript GetAuraScript()
{
return new spell_warl_soul_swap_override_AuraScript();
}
}
[Script] //! Soul Swap Copy Spells - 92795 - Simply copies spell IDs.
class spell_warl_soul_swap_dot_marker : SpellScriptLoader
{
public spell_warl_soul_swap_dot_marker() : base("spell_warl_soul_swap_dot_marker") { }
class spell_warl_soul_swap_dot_marker_SpellScript : SpellScript
class spell_warl_soul_swap_dot_marker : SpellScript
{
void HandleHit(uint effIndex)
{
@@ -1079,10 +816,10 @@ namespace Scripts.Spells.Warlock
return;
var appliedAuras = swapVictim.GetAppliedAuras();
SoulSwapOverrideAuraScript swapSpellScript = null;
spell_warl_soul_swap_override swapSpellScript = null;
Aura swapOverrideAura = warlock.GetAura(SpellIds.SoulSwapOverride);
if (swapOverrideAura != null)
swapSpellScript = swapOverrideAura.GetScript<SoulSwapOverrideAuraScript>(nameof(spell_warl_soul_swap_override));
swapSpellScript = swapOverrideAura.GetScript<spell_warl_soul_swap_override>("spell_warl_soul_swap_override");
if (swapSpellScript == null)
return;
@@ -1106,18 +843,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_soul_swap_dot_marker_SpellScript();
}
}
[Script] // 86213 - Soul Swap Exhale
class spell_warl_soul_swap_exhale : SpellScriptLoader
{
public spell_warl_soul_swap_exhale() : base("spell_warl_soul_swap_exhale") { }
class spell_warl_soul_swap_exhale_SpellScript : SpellScript
class spell_warl_soul_swap_exhale : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1131,7 +858,7 @@ namespace Scripts.Spells.Warlock
Aura swapOverride = GetCaster().GetAura(SpellIds.SoulSwapOverride);
if (swapOverride != null)
{
SoulSwapOverrideAuraScript swapScript = swapOverride.GetScript<SoulSwapOverrideAuraScript>(nameof(spell_warl_soul_swap_override));
spell_warl_soul_swap_override swapScript = swapOverride.GetScript<spell_warl_soul_swap_override>("spell_warl_soul_swap_override");
if (swapScript != null)
swapTarget = swapScript.GetOriginalSwapSource();
}
@@ -1153,7 +880,7 @@ namespace Scripts.Spells.Warlock
Aura swapOverride = GetCaster().GetAura(SpellIds.SoulSwapOverride);
if (swapOverride != null)
{
SoulSwapOverrideAuraScript swapScript = swapOverride.GetScript<SoulSwapOverrideAuraScript>(nameof(spell_warl_soul_swap_override));
spell_warl_soul_swap_override swapScript = swapOverride.GetScript<spell_warl_soul_swap_override>("spell_warl_soul_swap_override");
if (swapScript == null)
return;
dotList = swapScript.GetDotList();
@@ -1184,18 +911,8 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_soul_swap_exhale_SpellScript();
}
}
[Script] // 29858 - Soulshatter
class spell_warl_soulshatter : SpellScriptLoader
{
public spell_warl_soulshatter() : base("spell_warl_soulshatter") { }
class spell_warl_soulshatter_SpellScript : SpellScript
class spell_warl_soulshatter : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1217,24 +934,11 @@ namespace Scripts.Spells.Warlock
}
}
public override SpellScript GetSpellScript()
{
return new spell_warl_soulshatter_SpellScript();
}
}
[Script("spell_warl_t4_2p_bonus_shadow", SpellIds.Flameshadow)]// 37377 - Shadowflame
[Script("spell_warl_t4_2p_bonus_fire", SpellIds.Shadowflame)]// 39437 - Shadowflame Hellfire and RoF
class spell_warl_t4_2p_bonus : SpellScriptLoader
class spell_warl_t4_2p_bonus : AuraScript
{
public spell_warl_t4_2p_bonus(string scriptName, uint triggerSpell) : base(scriptName)
{
_triggerSpell = triggerSpell;
}
class spell_warl_t4_2p_bonus_AuraScript : AuraScript
{
public spell_warl_t4_2p_bonus_AuraScript(uint triggerSpell)
public spell_warl_t4_2p_bonus(uint triggerSpell)
{
_triggerSpell = triggerSpell;
}
@@ -1259,20 +963,8 @@ namespace Scripts.Spells.Warlock
uint _triggerSpell;
}
public override AuraScript GetAuraScript()
{
return new spell_warl_t4_2p_bonus_AuraScript(_triggerSpell);
}
uint _triggerSpell;
}
[Script] // 30108, 34438, 34439, 35183 - Unstable Affliction
class spell_warl_unstable_affliction : SpellScriptLoader
{
public spell_warl_unstable_affliction() : base("spell_warl_unstable_affliction") { }
class spell_warl_unstable_affliction_AuraScript : AuraScript
class spell_warl_unstable_affliction : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1300,18 +992,8 @@ namespace Scripts.Spells.Warlock
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_unstable_affliction_AuraScript();
}
}
[Script] // 5740 - Rain of Fire Updated 7.1.5
class spell_warl_rain_of_fire : SpellScriptLoader
{
public spell_warl_rain_of_fire() : base("spell_warl_rain_of_fire") { }
class spell_warl_rain_of_fire_AuraScript : AuraScript
class spell_warl_rain_of_fire : AuraScript
{
void HandleDummyTick(AuraEffect aurEff)
{
@@ -1338,10 +1020,4 @@ namespace Scripts.Spells.Warlock
OnEffectPeriodic.Add(new EffectPeriodicHandler(HandleDummyTick, 3, AuraType.PeriodicDummy));
}
}
public override AuraScript GetAuraScript()
{
return new spell_warl_rain_of_fire_AuraScript();
}
}
}
+33 -363
View File
@@ -79,11 +79,7 @@ namespace Scripts.Spells.Warrior
}
[Script] // 23881 - Bloodthirst
class spell_warr_bloodthirst : SpellScriptLoader
{
public spell_warr_bloodthirst() : base("spell_warr_bloodthirst") { }
class spell_warr_bloodthirst_SpellScript : SpellScript
class spell_warr_bloodthirst : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -101,18 +97,8 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_bloodthirst_SpellScript();
}
}
[Script] // 100 - Charge
class spell_warr_charge : SpellScriptLoader
{
public spell_warr_charge() : base("spell_warr_charge") { }
class spell_warr_charge_SpellScript : SpellScript
class spell_warr_charge : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -134,18 +120,8 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_charge_SpellScript();
}
}
[Script] // 126661 - Warrior Charge Drop Fire Periodic
class spell_warr_charge_drop_fire_periodic : SpellScriptLoader
{
public spell_warr_charge_drop_fire_periodic() : base("spell_warr_charge_drop_fire_periodic") { }
class spell_warr_charge_drop_fire_periodic_AuraScript : AuraScript
class spell_warr_charge_drop_fire_periodic : AuraScript
{
void DropFireVisual(AuraEffect aurEff)
{
@@ -167,19 +143,9 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_charge_drop_fire_periodic_AuraScript();
}
}
// 198337 - Charge Effect (dropping Blazing Trail)
[Script] // 218104 - Charge Effect
class spell_warr_charge_effect : SpellScriptLoader
{
public spell_warr_charge_effect() : base("spell_warr_charge_effect") { }
class spell_warr_charge_effect_SpellScript : SpellScript
class spell_warr_charge_effect : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -201,19 +167,9 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_charge_effect_SpellScript();
}
}
// Updated 4.3.4
[Script]
class spell_warr_concussion_blow : SpellScriptLoader
{
public spell_warr_concussion_blow() : base("spell_warr_concussion_blow") { }
class spell_warr_concussion_blow_SpellScript : SpellScript
class spell_warr_concussion_blow : SpellScript
{
void HandleDummy(uint effIndex)
{
@@ -226,19 +182,9 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_concussion_blow_SpellScript();
}
}
// Updated 4.3.4
[Script] // 5308 - Execute
class spell_warr_execute : SpellScriptLoader
{
public spell_warr_execute() : base("spell_warr_execute") { }
class spell_warr_execute_SpellScript : SpellScript
class spell_warr_execute : SpellScript
{
void HandleEffect(uint effIndex)
{
@@ -275,19 +221,9 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_execute_SpellScript();
}
}
// 58387 - Glyph of Sunder Armor
[Script]
class spell_warr_glyph_of_sunder_armor : SpellScriptLoader
{
public spell_warr_glyph_of_sunder_armor() : base("spell_warr_glyph_of_sunder_armor") { }
class spell_warr_glyph_of_sunder_armor_AuraScript : AuraScript
class spell_warr_glyph_of_sunder_armor : AuraScript
{
void HandleEffectCalcSpellMod(AuraEffect aurEff, ref SpellModifier spellMod)
{
@@ -309,18 +245,8 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_glyph_of_sunder_armor_AuraScript();
}
}
[Script] // Heroic leap - 6544
class spell_warr_heroic_leap : SpellScriptLoader
{
public spell_warr_heroic_leap() : base("spell_warr_heroic_leap") { }
class spell_warr_heroic_leap_SpellScript : SpellScript
class spell_warr_heroic_leap : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -377,18 +303,8 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_heroic_leap_SpellScript();
}
}
[Script] // Heroic Leap (triggered by Heroic Leap (6544)) - 178368
class spell_warr_heroic_leap_jump : SpellScriptLoader
{
public spell_warr_heroic_leap_jump() : base("spell_warr_heroic_leap_jump") { }
class spell_warr_heroic_leap_jump_SpellScript : SpellScript
class spell_warr_heroic_leap_jump : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -412,18 +328,8 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_heroic_leap_jump_SpellScript();
}
}
[Script] // 202168 - Impending Victory
class spell_warr_impending_victory : SpellScriptLoader
{
public spell_warr_impending_victory() : base("spell_warr_impending_victory") { }
class spell_warr_impending_victory_SpellScript : SpellScript
class spell_warr_impending_victory : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -443,19 +349,9 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_impending_victory_SpellScript();
}
}
// 5246 - Intimidating Shout
[Script]
class spell_warr_intimidating_shout : SpellScriptLoader
{
public spell_warr_intimidating_shout() : base("spell_warr_intimidating_shout") { }
class spell_warr_intimidating_shout_SpellScript : SpellScript
class spell_warr_intimidating_shout : SpellScript
{
void FilterTargets(List<WorldObject> unitList)
{
@@ -469,19 +365,9 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_intimidating_shout_SpellScript();
}
}
// 70844 - Item - Warrior T10 Protection 4P Bonus
[Script] /// 7.1.5
class spell_warr_item_t10_prot_4p_bonus : SpellScriptLoader
{
public spell_warr_item_t10_prot_4p_bonus() : base("spell_warr_item_t10_prot_4p_bonus") { }
class spell_warr_item_t10_prot_4p_bonus_AuraScript : AuraScript
class spell_warr_item_t10_prot_4p_bonus : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -503,19 +389,9 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_item_t10_prot_4p_bonus_AuraScript();
}
}
// -84583 Lambs to the Slaughter
[Script]
class spell_warr_lambs_to_the_slaughter : SpellScriptLoader
{
public spell_warr_lambs_to_the_slaughter() : base("spell_warr_lambs_to_the_slaughter") { }
class spell_warr_lambs_to_the_slaughter_AuraScript : AuraScript
class spell_warr_lambs_to_the_slaughter : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -536,20 +412,10 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_lambs_to_the_slaughter_AuraScript();
}
}
// Updated 4.3.4
// 12975 - Last Stand
[Script]
class spell_warr_last_stand : SpellScriptLoader
{
public spell_warr_last_stand() : base("spell_warr_last_stand") { }
class spell_warr_last_stand_SpellScript : SpellScript
class spell_warr_last_stand : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -570,19 +436,9 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_last_stand_SpellScript();
}
}
// 7384 - Overpower
[Script]
class spell_warr_overpower : SpellScriptLoader
{
public spell_warr_overpower() : base("spell_warr_overpower") { }
class spell_warr_overpower_SpellScript : SpellScript
class spell_warr_overpower : SpellScript
{
void HandleEffect(uint effIndex)
{
@@ -607,19 +463,9 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_overpower_SpellScript();
}
}
// 97462 - Rallying Cry
[Script]
class spell_warr_rallying_cry : SpellScriptLoader
{
public spell_warr_rallying_cry() : base("spell_warr_rallying_cry") { }
class spell_warr_rallying_cry_SpellScript : SpellScript
class spell_warr_rallying_cry : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -644,19 +490,9 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_rallying_cry_SpellScript();
}
}
// 94009 - Rend
[Script]
class spell_warr_rend : SpellScriptLoader
{
public spell_warr_rend() : base("spell_warr_rend") { }
class spell_warr_rend_AuraScript : AuraScript
class spell_warr_rend : AuraScript
{
void CalculateAmount(AuraEffect aurEff, ref int amount, ref bool canBeRecalculated)
{
@@ -681,19 +517,9 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_rend_AuraScript();
}
}
// 20230 - Retaliation
[Script]
class spell_warr_retaliation : SpellScriptLoader
{
public spell_warr_retaliation() : base("spell_warr_retaliation") { }
class spell_warr_retaliation_AuraScript : AuraScript
class spell_warr_retaliation : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -719,19 +545,9 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_retaliation_AuraScript();
}
}
// 64380, 65941 - Shattering Throw
[Script]
class spell_warr_shattering_throw : SpellScriptLoader
{
public spell_warr_shattering_throw() : base("spell_warr_shattering_throw") { }
class spell_warr_shattering_throw_SpellScript : SpellScript
class spell_warr_shattering_throw : SpellScript
{
void HandleScript(uint effIndex)
{
@@ -749,19 +565,9 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_shattering_throw_SpellScript();
}
}
// Updated 4.3.4
[Script]
class spell_warr_slam : SpellScriptLoader
{
public spell_warr_slam() : base("spell_warr_slam") { }
class spell_warr_slam_SpellScript : SpellScript
class spell_warr_slam : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -780,18 +586,8 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_slam_SpellScript();
}
}
[Script]
class spell_warr_second_wind_proc : SpellScriptLoader
{
public spell_warr_second_wind_proc() : base("spell_warr_second_wind_proc") { }
class spell_warr_second_wind_proc_AuraScript : AuraScript
class spell_warr_second_wind_proc : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -831,18 +627,8 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_second_wind_proc_AuraScript();
}
}
[Script]
class spell_warr_second_wind_trigger : SpellScriptLoader
{
public spell_warr_second_wind_trigger() : base("spell_warr_second_wind_trigger") { }
class spell_warr_second_wind_trigger_AuraScript : AuraScript
class spell_warr_second_wind_trigger : AuraScript
{
void CalculateAmount(AuraEffect aurEff, ref int amount, ref bool canBeRecalculated)
{
@@ -855,18 +641,8 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_second_wind_trigger_AuraScript();
}
}
[Script] // 46968 - Shockwave
class spell_warr_shockwave : SpellScriptLoader
{
public spell_warr_shockwave() : base("spell_warr_shockwave") { }
class spell_warr_shockwave_SpellScript : SpellScript
class spell_warr_shockwave : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -903,18 +679,8 @@ namespace Scripts.Spells.Warrior
uint _targetCount = 0;
}
public override SpellScript GetSpellScript()
{
return new spell_warr_shockwave_SpellScript();
}
}
[Script] // 107570 - Storm Bolt
class spell_warr_storm_bolt : SpellScriptLoader
{
public spell_warr_storm_bolt() : base("spell_warr_storm_bolt") { }
class spell_warr_storm_bolt_SpellScript : SpellScript
class spell_warr_storm_bolt : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -932,19 +698,9 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_storm_bolt_SpellScript();
}
}
// 52437 - Sudden Death
[Script]
class spell_warr_sudden_death : SpellScriptLoader
{
public spell_warr_sudden_death() : base("spell_warr_sudden_death") { }
class spell_warr_sudden_death_AuraScript : AuraScript
class spell_warr_sudden_death : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -965,19 +721,9 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_sudden_death_AuraScript();
}
}
// 12328, 18765, 35429 - Sweeping Strikes
[Script]
class spell_warr_sweeping_strikes : SpellScriptLoader
{
public spell_warr_sweeping_strikes() : base("spell_warr_sweeping_strikes") { }
class spell_warr_sweeping_strikes_AuraScript : AuraScript
class spell_warr_sweeping_strikes : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1011,19 +757,9 @@ namespace Scripts.Spells.Warrior
Unit _procTarget;
}
public override AuraScript GetAuraScript()
{
return new spell_warr_sweeping_strikes_AuraScript();
}
}
// -46951 - Sword and Board
[Script]
class spell_warr_sword_and_board : SpellScriptLoader
{
public spell_warr_sword_and_board() : base("spell_warr_sword_and_board") { }
class spell_warr_sword_and_board_AuraScript : AuraScript
class spell_warr_sword_and_board : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1044,18 +780,8 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_sword_and_board_AuraScript();
}
}
[Script] // 215538 - Trauma
class spell_warr_trauma : SpellScriptLoader
{
public spell_warr_trauma() : base("spell_warr_trauma") { }
class spell_warr_trauma_AuraScript : AuraScript
class spell_warr_trauma : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1078,18 +804,8 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_trauma_AuraScript();
}
}
[Script] // 28845 - Cheat Death
class spell_warr_t3_prot_8p_bonus : SpellScriptLoader
{
public spell_warr_t3_prot_8p_bonus() : base("spell_warr_t3_prot_8p_bonus") { }
class spell_warr_t3_prot_8p_bonus_AuraScript : AuraScript
class spell_warr_t3_prot_8p_bonus : AuraScript
{
bool CheckProc(ProcEventInfo eventInfo)
{
@@ -1110,18 +826,8 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_t3_prot_8p_bonus_AuraScript();
}
}
[Script] // 32215 - Victorious State
class spell_warr_victorious_state : SpellScriptLoader
{
public spell_warr_victorious_state() : base("spell_warr_victorious_state") { }
class spell_warr_victorious_state_Aurascript : AuraScript
class spell_warr_victorious_state : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1142,18 +848,8 @@ namespace Scripts.Spells.Warrior
}
}
public override AuraScript GetAuraScript()
{
return new spell_warr_victorious_state_Aurascript();
}
}
[Script] // 34428 - Victory Rush
class spell_warr_victory_rush : SpellScriptLoader
{
public spell_warr_victory_rush() : base("spell_warr_victory_rush") { }
class spell_warr_victory_rush_SpellScript : SpellScript
class spell_warr_victory_rush : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1174,19 +870,9 @@ namespace Scripts.Spells.Warrior
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_victory_rush_SpellScript();
}
}
// 50720 - Vigilance
[Script]
class spell_warr_vigilance : SpellScriptLoader
{
public spell_warr_vigilance() : base("spell_warr_vigilance") { }
class spell_warr_vigilance_AuraScript : AuraScript
class spell_warr_vigilance : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -1234,19 +920,9 @@ namespace Scripts.Spells.Warrior
//Unit _procTarget;
}
public override AuraScript GetAuraScript()
{
return new spell_warr_vigilance_AuraScript();
}
}
// 50725 Vigilance
[Script]
class spell_warr_vigilance_trigger : SpellScriptLoader
{
public spell_warr_vigilance_trigger() : base("spell_warr_vigilance_trigger") { }
class spell_warr_vigilance_trigger_SpellScript : SpellScript
class spell_warr_vigilance_trigger : SpellScript
{
void HandleScript(uint effIndex)
{
@@ -1263,10 +939,4 @@ namespace Scripts.Spells.Warrior
OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.ScriptEffect));
}
}
public override SpellScript GetSpellScript()
{
return new spell_warr_vigilance_trigger_SpellScript();
}
}
}
+6 -46
View File
@@ -155,13 +155,9 @@ namespace Scripts.World.BossEmeraldDragons
}
[Script]
class npc_dream_fog : CreatureScript
class npc_dream_fog : ScriptedAI
{
public npc_dream_fog() : base("npc_dream_fog") { }
class npc_dream_fogAI : ScriptedAI
{
public npc_dream_fogAI(Creature creature) : base(creature)
public npc_dream_fog(Creature creature) : base(creature)
{
Initialize();
}
@@ -208,12 +204,6 @@ namespace Scripts.World.BossEmeraldDragons
uint _roamTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_dream_fogAI(creature);
}
}
[Script]
class boss_ysondre : CreatureScript
{
@@ -334,13 +324,9 @@ namespace Scripts.World.BossEmeraldDragons
}
[Script]
class npc_spirit_shade : CreatureScript
class npc_spirit_shade : PassiveAI
{
public npc_spirit_shade() : base("npc_spirit_shade") { }
class npc_spirit_shadeAI : PassiveAI
{
public npc_spirit_shadeAI(Creature creature) : base(creature) { }
public npc_spirit_shade(Creature creature) : base(creature) { }
public override void IsSummonedBy(Unit summoner)
{
@@ -360,12 +346,6 @@ namespace Scripts.World.BossEmeraldDragons
ObjectGuid _summonerGuid;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_spirit_shadeAI(creature);
}
}
[Script]
class boss_emeriss : CreatureScript
{
@@ -547,11 +527,7 @@ namespace Scripts.World.BossEmeraldDragons
}
[Script]
class spell_dream_fog_sleep : SpellScriptLoader
{
public spell_dream_fog_sleep() : base("spell_dream_fog_sleep") { }
class spell_dream_fog_sleep_SpellScript : SpellScript
class spell_dream_fog_sleep : SpellScript
{
void FilterTargets(List<WorldObject> targets)
{
@@ -570,18 +546,8 @@ namespace Scripts.World.BossEmeraldDragons
}
}
public override SpellScript GetSpellScript()
{
return new spell_dream_fog_sleep_SpellScript();
}
}
[Script]
class spell_mark_of_nature : SpellScriptLoader
{
public spell_mark_of_nature() : base("spell_mark_of_nature") { }
class spell_mark_of_nature_SpellScript : SpellScript
class spell_mark_of_nature : SpellScript
{
public override bool Validate(SpellInfo spellInfo)
{
@@ -612,10 +578,4 @@ namespace Scripts.World.BossEmeraldDragons
OnEffectHitTarget.Add(new EffectHandler(HandleEffect, 0, SpellEffectName.ApplyAura));
}
}
public override SpellScript GetSpellScript()
{
return new spell_mark_of_nature_SpellScript();
}
}
}
-5
View File
@@ -737,11 +737,6 @@ namespace Scripts.World
return false;
}
}
public override GameObjectAI GetAI(GameObject go)
{
return new go_soulwellAI(go);
}
}
[Script] //go_dragonflayer_cage
+6 -36
View File
@@ -47,13 +47,9 @@ namespace Scripts.World
}
[Script]
class guard_generic : CreatureScript
class guard_generic : GuardAI
{
public guard_generic() : base("guard_generic") { }
class guard_genericAI : GuardAI
{
public guard_genericAI(Creature creature) : base(creature) { }
public guard_generic(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -242,20 +238,10 @@ namespace Scripts.World
uint buffTimer;
}
public override CreatureAI GetAI(Creature creature)
{
return new guard_genericAI(creature);
}
}
[Script]
class guard_shattrath_scryer : CreatureScript
class guard_shattrath_scryer : GuardAI
{
public guard_shattrath_scryer() : base("guard_shattrath_scryer") { }
class guard_shattrath_scryerAI : GuardAI
{
public guard_shattrath_scryerAI(Creature creature) : base(creature) { }
public guard_shattrath_scryer(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -308,20 +294,10 @@ namespace Scripts.World
bool canTeleport;
}
public override CreatureAI GetAI(Creature creature)
{
return new guard_shattrath_scryerAI(creature);
}
}
[Script]
class guard_shattrath_aldor : CreatureScript
class guard_shattrath_aldor : GuardAI
{
public guard_shattrath_aldor() : base("guard_shattrath_aldor") { }
class guard_shattrath_aldorAI : GuardAI
{
public guard_shattrath_aldorAI(Creature creature) : base(creature) { }
public guard_shattrath_aldor(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -373,10 +349,4 @@ namespace Scripts.World
ObjectGuid playerGUID;
bool canTeleport;
}
public override CreatureAI GetAI(Creature creature)
{
return new guard_shattrath_aldorAI(creature);
}
}
}
+4 -2
View File
@@ -331,9 +331,11 @@ namespace Scripts.World
{
pLeviroth.GetAI().AttackStart(player);
return false;
} else
}
else
player.SendEquipError(InventoryResult.OutOfRange, item, null);
} else
}
else
player.SendEquipError(InventoryResult.ClientLockedOut, item, null);
return true;
}
+2 -6
View File
@@ -23,13 +23,9 @@ using System;
namespace Scripts.World
{
[Script]
class trigger_periodic : CreatureScript
class trigger_periodic : NullCreatureAI
{
public trigger_periodic() : base("trigger_periodic") { }
class trigger_periodicAI : NullCreatureAI
{
public trigger_periodicAI(Creature creature) : base(creature)
public trigger_periodic(Creature creature) : base(creature)
{
var interval = me.GetBaseAttackTime(Framework.Constants.WeaponAttackType.BaseAttack);
_scheduler.Schedule(TimeSpan.FromMilliseconds(interval), task =>
+2 -12
View File
@@ -53,13 +53,9 @@ namespace Scripts.World
}
[Script] //start menu multi profession trainer
class npc_multi_profession_trainer : CreatureScript
class npc_multi_profession_trainer : ScriptedAI
{
public npc_multi_profession_trainer() : base("npc_multi_profession_trainer") { }
class npc_multi_profession_trainerAI : ScriptedAI
{
public npc_multi_profession_trainerAI(Creature creature) : base(creature) { }
public npc_multi_profession_trainer(Creature creature) : base(creature) { }
public override void sGossipSelect(Player player, uint menuId, uint gossipListId)
{
@@ -130,10 +126,4 @@ namespace Scripts.World
player.GetSession().SendTrainerList(me.GetGUID(), (uint)Index + 1);
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_multi_profession_trainerAI(creature);
}
}
}
+44 -213
View File
@@ -425,13 +425,9 @@ namespace Scripts.World.NpcSpecial
}
[Script]
class npc_air_force_bots : CreatureScript
class npc_air_force_bots : ScriptedAI
{
public npc_air_force_bots() : base("npc_air_force_bots") { }
class npc_air_force_botsAI : ScriptedAI
{
public npc_air_force_botsAI(Creature creature) : base(creature)
public npc_air_force_bots(Creature creature) : base(creature)
{
SpawnAssoc = null;
SpawnedGUID.Clear();
@@ -565,12 +561,6 @@ namespace Scripts.World.NpcSpecial
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_air_force_botsAI(creature);
}
}
[Script]
class npc_chicken_cluck : CreatureScript
{
@@ -641,15 +631,10 @@ namespace Scripts.World.NpcSpecial
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_chicken_cluckAI(creature);
}
public override bool OnQuestAccept(Player player, Creature creature, Quest quest)
{
if (quest.Id == QuestConst.Cluck)
((npc_chicken_cluck.npc_chicken_cluckAI)creature.GetAI()).Reset();
((npc_chicken_cluckAI)creature.GetAI()).Reset();
return true;
}
@@ -657,20 +642,21 @@ namespace Scripts.World.NpcSpecial
public override bool OnQuestReward(Player player, Creature creature, Quest quest, uint opt)
{
if (quest.Id == QuestConst.Cluck)
((npc_chicken_cluck.npc_chicken_cluckAI)creature.GetAI()).Reset();
((npc_chicken_cluckAI)creature.GetAI()).Reset();
return true;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_chicken_cluckAI(creature);
}
}
[Script]
class npc_dancing_flames : CreatureScript
class npc_dancing_flames : ScriptedAI
{
public npc_dancing_flames() : base("npc_dancing_flames") { }
class npc_dancing_flamesAI : ScriptedAI
{
public npc_dancing_flamesAI(Creature creature) : base(creature)
public npc_dancing_flames(Creature creature) : base(creature)
{
Initialize();
}
@@ -743,20 +729,10 @@ namespace Scripts.World.NpcSpecial
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_dancing_flamesAI(creature);
}
}
[Script]
class npc_torch_tossing_target_bunny_controller : CreatureScript
class npc_torch_tossing_target_bunny_controller : ScriptedAI
{
public npc_torch_tossing_target_bunny_controller() : base("npc_torch_tossing_target_bunny_controller") { }
class npc_torch_tossing_target_bunny_controllerAI : ScriptedAI
{
public npc_torch_tossing_target_bunny_controllerAI(Creature creature) : base(creature)
public npc_torch_tossing_target_bunny_controller(Creature creature) : base(creature)
{
_targetTimer = 3000;
}
@@ -794,20 +770,10 @@ namespace Scripts.World.NpcSpecial
ObjectGuid _lastTargetGUID;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_torch_tossing_target_bunny_controllerAI(creature);
}
}
[Script]
class npc_midsummer_bunny_pole : CreatureScript
class npc_midsummer_bunny_pole : ScriptedAI
{
public npc_midsummer_bunny_pole() : base("npc_midsummer_bunny_pole") { }
class npc_midsummer_bunny_poleAI : ScriptedAI
{
public npc_midsummer_bunny_poleAI(Creature creature) : base(creature)
public npc_midsummer_bunny_pole(Creature creature) : base(creature)
{
Initialize();
}
@@ -885,12 +851,6 @@ namespace Scripts.World.NpcSpecial
bool running;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_midsummer_bunny_poleAI(creature);
}
}
[Script]
class npc_doctor : CreatureScript
{
@@ -1047,8 +1007,8 @@ namespace Scripts.World.NpcSpecial
Patient.SetFlag(UnitFields.Flags, UnitFlags.PvpAttackable);
Patients.Add(Patient.GetGUID());
((npc_injured_patient.npc_injured_patientAI)Patient.GetAI()).DoctorGUID = me.GetGUID();
((npc_injured_patient.npc_injured_patientAI)Patient.GetAI()).Coord = Coordinates[index];
((npc_injured_patient)Patient.GetAI()).DoctorGUID = me.GetGUID();
((npc_injured_patient)Patient.GetAI()).Coord = Coordinates[index];
Coordinates.RemoveAt(index);
}
@@ -1091,13 +1051,9 @@ namespace Scripts.World.NpcSpecial
}
[Script]
class npc_injured_patient : CreatureScript
public class npc_injured_patient : ScriptedAI
{
public npc_injured_patient() : base("npc_injured_patient") { }
public class npc_injured_patientAI : ScriptedAI
{
public npc_injured_patientAI(Creature creature) : base(creature)
public npc_injured_patient(Creature creature) : base(creature)
{
Initialize();
}
@@ -1213,20 +1169,10 @@ namespace Scripts.World.NpcSpecial
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_injured_patientAI(creature);
}
}
[Script]
class npc_garments_of_quests : CreatureScript
class npc_garments_of_quests : npc_escortAI
{
public npc_garments_of_quests() : base("npc_garments_of_quests") { }
class npc_garments_of_questsAI : npc_escortAI
{
public npc_garments_of_questsAI(Creature creature) : base(creature)
public npc_garments_of_quests(Creature creature) : base(creature)
{
switch (me.GetEntry())
{
@@ -1355,20 +1301,10 @@ namespace Scripts.World.NpcSpecial
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_garments_of_questsAI(creature);
}
}
[Script]
class npc_guardian : CreatureScript
class npc_guardian : ScriptedAI
{
public npc_guardian() : base("npc_guardian") { }
class npc_guardianAI : ScriptedAI
{
public npc_guardianAI(Creature creature) : base(creature) { }
public npc_guardian(Creature creature) : base(creature) { }
public override void Reset()
{
@@ -1392,12 +1328,6 @@ namespace Scripts.World.NpcSpecial
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_guardianAI(creature);
}
}
[Script]
class npc_sayge : CreatureScript
{
@@ -1517,14 +1447,11 @@ namespace Scripts.World.NpcSpecial
}
}
[Script]
class npc_steam_tonk : CreatureScript
{
public npc_steam_tonk() : base("npc_steam_tonk") { }
class npc_steam_tonkAI : ScriptedAI
[Script]
class npc_steam_tonk : ScriptedAI
{
public npc_steam_tonkAI(Creature creature) : base(creature) { }
public npc_steam_tonk(Creature creature) : base(creature) { }
public override void Reset() { }
public override void EnterCombat(Unit who) { }
@@ -1544,20 +1471,10 @@ namespace Scripts.World.NpcSpecial
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_steam_tonkAI(creature);
}
}
[Script]
class npc_tonk_mine : CreatureScript
class npc_tonk_mine : ScriptedAI
{
public npc_tonk_mine() : base("npc_tonk_mine") { }
class npc_tonk_mineAI : ScriptedAI
{
public npc_tonk_mineAI(Creature creature) : base(creature)
public npc_tonk_mine(Creature creature) : base(creature)
{
Initialize();
me.SetReactState(ReactStates.Passive);
@@ -1591,20 +1508,10 @@ namespace Scripts.World.NpcSpecial
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_tonk_mineAI(creature);
}
}
[Script]
class npc_brewfest_reveler : CreatureScript
class npc_brewfest_reveler : ScriptedAI
{
public npc_brewfest_reveler() : base("npc_brewfest_reveler") { }
class npc_brewfest_revelerAI : ScriptedAI
{
public npc_brewfest_revelerAI(Creature creature) : base(creature) { }
public npc_brewfest_reveler(Creature creature) : base(creature) { }
public override void ReceiveEmote(Player player, TextEmotes emote)
{
@@ -1616,20 +1523,10 @@ namespace Scripts.World.NpcSpecial
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_brewfest_revelerAI(creature);
}
}
[Script]
class npc_training_dummy : CreatureScript
class npc_training_dummy : ScriptedAI
{
public npc_training_dummy() : base("npc_training_dummy") { }
class npc_training_dummyAI : ScriptedAI
{
public npc_training_dummyAI(Creature creature) : base(creature)
public npc_training_dummy(Creature creature) : base(creature)
{
SetCombatMovement(false);
}
@@ -1709,12 +1606,6 @@ namespace Scripts.World.NpcSpecial
const uint TargetDummy = 2673;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_training_dummyAI(creature);
}
}
[Script]
class npc_wormhole : CreatureScript
{
@@ -1809,13 +1700,9 @@ namespace Scripts.World.NpcSpecial
}
[Script]
class npc_pet_trainer : CreatureScript
class npc_pet_trainer : ScriptedAI
{
public npc_pet_trainer() : base("npc_pet_trainer") { }
class npc_pet_trainerAI : ScriptedAI
{
public npc_pet_trainerAI(Creature creature) : base(creature) { }
public npc_pet_trainer(Creature creature) : base(creature) { }
public override void sGossipSelect(Player player, uint menuId, uint gossipListId)
{
@@ -1827,12 +1714,6 @@ namespace Scripts.World.NpcSpecial
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_pet_trainerAI(creature);
}
}
[Script]
class npc_experience : CreatureScript
{
@@ -1873,13 +1754,9 @@ namespace Scripts.World.NpcSpecial
}
[Script]
class npc_firework : CreatureScript
class npc_firework : ScriptedAI
{
public npc_firework() : base("npc_firework") { }
class npc_fireworkAI : ScriptedAI
{
public npc_fireworkAI(Creature creature) : base(creature) { }
public npc_firework(Creature creature) : base(creature) { }
bool isCluster()
{
@@ -2087,25 +1964,10 @@ namespace Scripts.World.NpcSpecial
}
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_fireworkAI(creature);
}
}
[Script]
class npc_spring_rabbit : CreatureScript
class npc_spring_rabbit : ScriptedAI
{
public npc_spring_rabbit() : base("npc_spring_rabbit") { }
public override CreatureAI GetAI(Creature creature)
{
return new npc_spring_rabbitAI(creature);
}
class npc_spring_rabbitAI : ScriptedAI
{
public npc_spring_rabbitAI(Creature creature) : base(creature)
public npc_spring_rabbit(Creature creature) : base(creature)
{
Initialize();
}
@@ -2186,16 +2048,11 @@ namespace Scripts.World.NpcSpecial
}
}
}
}
[Script]
class npc_imp_in_a_ball : CreatureScript
class npc_imp_in_a_ball : ScriptedAI
{
public npc_imp_in_a_ball() : base("npc_imp_in_a_ball") { }
class npc_imp_in_a_ballAI : ScriptedAI
{
public npc_imp_in_a_ballAI(Creature creature) : base(creature)
public npc_imp_in_a_ball(Creature creature) : base(creature)
{
summonerGUID.Clear();
}
@@ -2223,12 +2080,6 @@ namespace Scripts.World.NpcSpecial
ObjectGuid summonerGUID;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_imp_in_a_ballAI(creature);
}
}
struct TrainWrecker
{
public const int ActionWrecked = 1;
@@ -2241,13 +2092,9 @@ namespace Scripts.World.NpcSpecial
}
[Script]
class npc_train_wrecker : CreatureScript
class npc_train_wrecker : NullCreatureAI
{
public npc_train_wrecker() : base("npc_train_wrecker") { }
class npc_train_wreckerAI : NullCreatureAI
{
public npc_train_wreckerAI(Creature creature) : base(creature)
public npc_train_wrecker(Creature creature) : base(creature)
{
_isSearching = true;
_nextAction = 0;
@@ -2362,20 +2209,10 @@ namespace Scripts.World.NpcSpecial
ObjectGuid _target;
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_train_wreckerAI(creature);
}
}
[Script]
class npc_argent_squire_gruntling : CreatureScript
class npc_argent_squire_gruntling : ScriptedAI
{
public npc_argent_squire_gruntling() : base("npc_argent_squire_gruntling") { }
class npc_argent_squire_gruntlingAI : ScriptedAI
{
public npc_argent_squire_gruntlingAI(Creature creature) : base(creature)
public npc_argent_squire_gruntling(Creature creature) : base(creature)
{
ScheduleTasks();
}
@@ -2460,10 +2297,4 @@ namespace Scripts.World.NpcSpecial
bool IsArgentSquire() { return me.GetEntry() == CreatureIds.ArgentSquire; }
}
public override CreatureAI GetAI(Creature creature)
{
return new npc_argent_squire_gruntlingAI(creature);
}
}
}