private static void OnUpdateEvade(EventArgs args)
{
SkillshotDetector.DetectedSkillshots.RemoveAll(i => !i.IsActive);
foreach (var skillshot in SkillshotDetector.DetectedSkillshots)
{
skillshot.OnUpdate();
}
if (ObjectManager.Player.IsDead)
{
return;
}
if (ObjectManager.Player.HasBuffOfType(BuffType.SpellImmunity) || ObjectManager.Player.HasBuffOfType(BuffType.SpellShield))
{
return;
}
var safePoint = IsSafePoint(ObjectManager.Player.ServerPosition.To2D());
var safePath = IsSafePath(ObjectManager.Player.GetWaypoints(), 100);
if (!safePath.IsSafe && !safePoint.IsSafe)
{
TryToEvade(safePoint.SkillshotList, Game.CursorPos.To2D());
}
}