private static void DianaQ( Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args, SpellData data, SpellArgs spellArgs) { if (data.MenuName != "DianaQCircle") { return; } SpellData arcData; if (Evade.OnProcessSpells.TryGetValue("DianaQArc", out arcData)) { SpellDetector.AddSpell(sender, sender.ServerPosition, args.End, arcData); } }
private static void MalzaharQ( Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args, SpellData data, SpellArgs spellArgs) { if (data.MenuName != "MalzaharQ") { return; } var end = args.End.To2D(); var dir = (end - sender.ServerPosition.To2D()).Normalized().Perpendicular() * (data.Range / 2f); var startPos = end - dir; var endPos = end + dir; SpellDetector.AddSpell(sender, startPos, endPos, data); SpellDetector.AddSpell(sender, endPos, startPos, data); spellArgs.NoProcess = true; }
private static void KarmaQ( Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args, SpellData data, SpellArgs spellArgs) { if (data.MenuName != "KarmaQ" || !sender.HasBuff("KarmaMantra")) { return; } SpellData mantraData; if (Evade.OnProcessSpells.TryGetValue("KarmaQMantra", out mantraData)) { SpellDetector.AddSpell(sender, sender.ServerPosition, args.End, mantraData); } spellArgs.NoProcess = true; }
private static void LuluQ( Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args, SpellData data, SpellArgs spellArgs) { if (data.MenuName != "LuluQ") { return; } foreach (var pix in ObjectManager.Get <Obj_AI_Minion>() .Where( i => i.IsValid() && !i.IsDead && i.IsVisible && i.CharData.BaseSkinName == "lulufaerie" && i.Team == sender.Team)) { SpellDetector.AddSpell(sender, pix.ServerPosition, args.End, data); } }
private static void JarvanQ( Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args, SpellData data, SpellArgs spellArgs) { if (data.MenuName != "JarvanIVQ") { return; } SpellData qeData; if (!Evade.OnProcessSpells.TryGetValue("JarvanIVQE", out qeData)) { return; } var startPos = sender.ServerPosition.To2D(); var qeEnd = startPos.Extend(args.End.To2D(), qeData.RawRange); var endPos = Evade.DetectedSpells.Values.Where( i => i.Data.MenuName == "JarvanIVE" && i.Unit.NetworkId == sender.NetworkId && i.End.Distance(startPos, qeEnd, true) < qeData.RadiusEx).Select(i => i.End).ToList(); endPos.AddRange( ObjectManager.Get <Obj_AI_Minion>() .Where( i => i.IsValid() && !i.IsDead && i.BaseSkinName == "jarvanivstandard" && i.Team == sender.Team && i.ServerPosition.To2D().Distance(startPos, qeEnd, true) < qeData.RadiusEx) .Select(i => i.ServerPosition.To2D())); if (endPos.Count > 0) { SpellDetector.AddSpell(sender, startPos, endPos.OrderBy(i => i.Distance(startPos)).First(), qeData); } }
private static void YasuoQ( Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args, SpellData data, SpellArgs spellArgs) { if (data.MenuName != "YasuoQ") { return; } var delay = (int)(sender.Spellbook.CastTime - Game.Time) * 1000; if (delay <= 0) { return; } var newData = (SpellData)data.Clone(); newData.Delay = delay; spellArgs.NewData = newData; }
private static void GalioE(Obj_AI_Base sender, MissileClient missile, SpellData data, SpellArgs spellArgs) { if (data.MenuName != "GalioE") { return; } var hero = HeroManager.AllHeroes.FirstOrDefault( i => i.ChampionName == data.ChampName && (i.IsEnemy || Configs.Debug)); if (hero != null) { SpellDetector.AddSpell(hero, missile.StartPosition, missile.EndPosition, data, missile); } spellArgs.NoProcess = true; }
public void CastSpell(SpellArgs spellArgs) { Debug.Log(spellArgs.card.name + " was cast"); }
private static void KarmaQ(Obj_AI_Base sender, MissileClient missile, SpellData data, SpellArgs spellArgs) { if (data.MenuName != "KarmaQMantra") { return; } var spell = Evade.DetectedSpells.Values.FirstOrDefault(i => i.Data.MenuName == "KarmaQ" && i.Unit.CompareId(sender)); if (spell != null) { Evade.DetectedSpells.Remove(spell.SpellId); } }