Core/Scripts: Fix loading of spell scripts.
This commit is contained in:
@@ -357,7 +357,7 @@ namespace Game.AI
|
|||||||
|
|
||||||
if (HasEscortState(SmartEscortState.Returning))
|
if (HasEscortState(SmartEscortState.Returning))
|
||||||
{
|
{
|
||||||
if (mWPReached)//reached OOC WP
|
if (mOOCReached)//reached OOC WP
|
||||||
{
|
{
|
||||||
mOOCReached = false;
|
mOOCReached = false;
|
||||||
RemoveEscortState(SmartEscortState.Returning);
|
RemoveEscortState(SmartEscortState.Returning);
|
||||||
@@ -1081,48 +1081,6 @@ namespace Game.AI
|
|||||||
SmartScript mScript;
|
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
|
public enum SmartEscortState
|
||||||
{
|
{
|
||||||
None = 0x00, //nothing in progress
|
None = 0x00, //nothing in progress
|
||||||
|
|||||||
@@ -2336,7 +2336,7 @@ namespace Game.Entities
|
|||||||
vSchoolAbsorbCopy.Sort(new AbsorbAuraOrderPred());
|
vSchoolAbsorbCopy.Sort(new AbsorbAuraOrderPred());
|
||||||
|
|
||||||
// absorb without mana cost
|
// absorb without mana cost
|
||||||
foreach (var absorbAurEff in vSchoolAbsorbCopy)
|
foreach (var absorbAurEff in vSchoolAbsorbCopy.ToList())
|
||||||
{
|
{
|
||||||
if (damageInfo.GetDamage() == 0)
|
if (damageInfo.GetDamage() == 0)
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -801,7 +801,7 @@ namespace Game
|
|||||||
LoadAutobroadcasts();
|
LoadAutobroadcasts();
|
||||||
|
|
||||||
// Load and initialize scripts
|
// 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.LoadEventScripts(); // must be after load Creature/Gameobject(Template/Data)
|
||||||
Global.ObjectMgr.LoadWaypointScripts();
|
Global.ObjectMgr.LoadWaypointScripts();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user