public static void Insec()
{
if (!Manager.MenuManager.InsecE) return;
Orbwalker.OrbwalkTo(Game.CursorPos);
var mode = (Manager.MenuManager.InsecPositions);
var target = TargetSelector.GetTarget((int)Variables._Player.GetAutoAttackRange(),
DamageType.Physical);
if (target != null)
{
//var targetfuturepos = Prediction.GetPrediction(target, 0.1f).UnitPosition;
bool caninsec = Variables._Player.Distance(target) <= 400;
switch (mode)
{
case 0:
var hero =
EntityManager.Heroes.Allies.Where(x => !x.IsMe && !x.IsDead)
.OrderByDescending(x => x.Distance(Variables._Player.Position))
.LastOrDefault();
if (hero != null && caninsec &&
Variables._Player.ServerPosition.Distance(hero.Position) + 100 >=
target.Distance(hero.Position))
{
var ePred = Manager.SpellManager.E2.GetPrediction(target);
int pushDist = 550;
for (int i = 0; i < pushDist; i += (int)target.BoundingRadius)
{
Vector3 loc3 =
ePred.UnitPosition.To2D().Extend(GetFlashPos(target, true).To2D(), -i).To3D();
if (loc3.Distance(hero) < hero.Position.Distance(target))
{
Variables._Player.Spellbook.CastSpell(Variables.FlashSlot, GetFlashPos(target, true));
Manager.SpellManager.E.Cast(target);
}
}
}
break;
case 1:
var turret =
ObjectManager.Get<Obj_AI_Turret>()
.Where(x => x.IsAlly && !x.IsDead)
.OrderByDescending(x => x.Distance(Variables._Player.Position))
.LastOrDefault();
if (turret != null && caninsec &&
Variables._Player.ServerPosition.Distance(turret.Position) + 100 >=
target.Distance(turret.Position))
{
var ePred = Manager.SpellManager.E2.GetPrediction(target);
int pushDist = 550;
for (int i = 0; i < pushDist; i += (int)target.BoundingRadius)
{
Vector3 loc3 =
ePred.UnitPosition.To2D().Extend(GetFlashPos(target, true).To2D(), -i).To3D();
if (loc3.Distance(turret) < turret.Position.Distance(target))
{
Variables._Player.Spellbook.CastSpell(Variables.FlashSlot, GetFlashPos(target, true));
Manager.SpellManager.E.Cast(target);
}
}
}
break;
case 2:
if (caninsec &&
Variables._Player.ServerPosition.Distance(Game.CursorPos) + 100 >=
target.Distance(Game.CursorPos))
{
var ePred = Manager.SpellManager.E2.GetPrediction(target);
int pushDist = 550;
for (int i = 0; i < pushDist; i += (int)target.BoundingRadius)
{
Vector3 loc3 =
ePred.UnitPosition.To2D().Extend(GetFlashPos(target, true).To2D(), -i).To3D();
if (loc3.Distance(Game.CursorPos) < Game.CursorPos.Distance(target))
{
Variables._Player.Spellbook.CastSpell(Variables.FlashSlot, GetFlashPos(target, true));
Manager.SpellManager.E.Cast(target);
}
}
}
break;
}
}
}