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