private void Game_ProcessSpell(Obj_AI_Base hero, GameObjectProcessSpellCastEventArgs args)
{
ConsoleDebug.WriteLine(string.Format("'{0}' casted Spell: {1}", hero.Name, args.SData.Name));
try
{
SpellData spellData;
if (args.SData.ShouldEvade(hero, out spellData))
{
if (!spellData.UsePackets)
{
var specialSpellArgs = new SpecialSpellEventArgs();
if (OnProcessSpecialSpell != null)
{
OnProcessSpecialSpell(hero, args, spellData, specialSpellArgs);
}
if (specialSpellArgs.NoProcess == false && spellData.NoProcess == false)
{
CreateSpellData(hero, hero.ServerPosition, args.End, spellData, null);
}
}
}
}
catch (Exception e)
{
ConsoleDebug.WriteLine(e);
}
}