Core/Scripts: Fix loading of spell scripts.
This commit is contained in:
@@ -357,7 +357,7 @@ namespace Game.AI
|
||||
|
||||
if (HasEscortState(SmartEscortState.Returning))
|
||||
{
|
||||
if (mWPReached)//reached OOC WP
|
||||
if (mOOCReached)//reached OOC WP
|
||||
{
|
||||
mOOCReached = false;
|
||||
RemoveEscortState(SmartEscortState.Returning);
|
||||
@@ -1081,48 +1081,6 @@ namespace Game.AI
|
||||
SmartScript mScript;
|
||||
}
|
||||
|
||||
public class SmartSpell : SpellScript
|
||||
{
|
||||
public override bool Load()
|
||||
{
|
||||
mScript.OnInitialize(GetSpell());
|
||||
scriptHolders = Global.SmartAIMgr.GetScript((int)GetSpellInfo().Id, SmartScriptType.Spell);
|
||||
return true;
|
||||
}
|
||||
|
||||
void HandleEffectHit(uint effIndex)
|
||||
{
|
||||
mScript.ProcessEventsFor(SmartEvents.SpellEffectHit, GetCaster());
|
||||
}
|
||||
|
||||
void HandleEffectHitTarget(uint effIndex)
|
||||
{
|
||||
mScript.ProcessEventsFor(SmartEvents.SpellEffectHitTarget);
|
||||
}
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
foreach (var holder in scriptHolders)
|
||||
{
|
||||
switch (holder.GetEventType())
|
||||
{
|
||||
case SmartEvents.SpellEffectHit:
|
||||
OnEffectHit.Add(new EffectHandler(HandleEffectHit, holder.Event.spell.effIndex, SpellEffectName.ScriptEffect));
|
||||
OnEffectHit.Add(new EffectHandler(HandleEffectHit, holder.Event.spell.effIndex, SpellEffectName.Dummy));
|
||||
break;
|
||||
case SmartEvents.SpellEffectHitTarget:
|
||||
OnEffectHitTarget.Add(new EffectHandler(HandleEffectHitTarget, holder.Event.spell.effIndex, SpellEffectName.ScriptEffect));
|
||||
OnEffectHitTarget.Add(new EffectHandler(HandleEffectHitTarget, holder.Event.spell.effIndex, SpellEffectName.Dummy));
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
List<SmartScriptHolder> scriptHolders = new List<SmartScriptHolder>();
|
||||
SmartScript mScript = new SmartScript();
|
||||
}
|
||||
|
||||
public enum SmartEscortState
|
||||
{
|
||||
None = 0x00, //nothing in progress
|
||||
|
||||
@@ -2336,7 +2336,7 @@ namespace Game.Entities
|
||||
vSchoolAbsorbCopy.Sort(new AbsorbAuraOrderPred());
|
||||
|
||||
// absorb without mana cost
|
||||
foreach (var absorbAurEff in vSchoolAbsorbCopy)
|
||||
foreach (var absorbAurEff in vSchoolAbsorbCopy.ToList())
|
||||
{
|
||||
if (damageInfo.GetDamage() == 0)
|
||||
break;
|
||||
|
||||
@@ -801,7 +801,7 @@ namespace Game
|
||||
LoadAutobroadcasts();
|
||||
|
||||
// Load and initialize scripts
|
||||
//Global.ObjectMgr.LoadSpellScripts(); // must be after load Creature/Gameobject(Template/Data)
|
||||
Global.ObjectMgr.LoadSpellScripts(); // must be after load Creature/Gameobject(Template/Data)
|
||||
Global.ObjectMgr.LoadEventScripts(); // must be after load Creature/Gameobject(Template/Data)
|
||||
Global.ObjectMgr.LoadWaypointScripts();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user