protected override void Killsteal() { if (RootMenu["killsteal"]["useE"].Enabled) { var bestTarget = Bases.Extensions.GetBestKillableHero(E, DamageType.Magical, false); if (bestTarget != null && Player.GetSpellDamage(bestTarget, SpellSlot.E) >= bestTarget.Health && bestTarget.IsValidTarget(E.Range)) { E.Cast(bestTarget); } } if (RootMenu["killsteal"]["useEmax"].Enabled) { var bestTarget = Bases.Extensions.GetBestKillableHero(E2, DamageType.Magical, false); if (bestTarget != null && Player.GetSpellDamage(bestTarget, SpellSlot.E, DamageStage.Empowered) >= bestTarget.Health && bestTarget.IsValidTarget(E2.Range)) { var targets = Bases.Extensions.GetBestEnemyHeroTargetInRange(E.Range + 650); if (targets != null && targets.IsValidTarget(E.Range + 650)) { var test = E2.GetPrediction(targets); for (var i = 0; i < 22; i++) { var rectangle = new Geometry.Rectangle(Vector3Extensions.To2D(Player.ServerPosition), Vector3Extensions.To2D(test.CastPosition), 100); foreach (var m in GameObjects.EnemyMinions.Where(x => x.Distance(Player) < E.Range && x != null && x.IsValidTarget())) { if (rectangle.IsInside(Vector3Extensions.To2D(m.ServerPosition))) { var colliding = test.CollisionObjects.OrderBy(o => o.Distance(Player)).ToList(); var zzz = Player.ServerPosition.Extend(test.CastPosition, Player.Distance(test.CastPosition) - 60 * i); if (colliding.Count > 0 && test.CastPosition.Distance(zzz) <= 100 + targets.BoundingRadius) { if (!Extensions.AnyWallInBetween(m.ServerPosition, test.CastPosition)) { if (test.HitChance >= HitChance.None) { E2.Cast(test.CastPosition); } } } } } } } } } }
protected override void Harass() { bool useQA = RootMenu["harass"]["useQA"].Enabled; bool useE = RootMenu["harass"]["useE"].Enabled; float manapercent = RootMenu["harass"]["mana"].As <MenuSlider>().Value; var target = Bases.Extensions.GetBestEnemyHeroTargetInRange(Q.Range); if (manapercent < Player.ManaPercent()) { if (Q.Ready && useQA && target.IsValidTarget(900)) { if (target != null) { if (!target.IsDead) { if (Q.IsCharging) { if (RootMenu["harass"]["autoq"].Enabled) { var start = Aimtec.SDK.Extensions.Vector3Extensions.To2D(Player.ServerPosition); var rectangle = new Geometry.Rectangle( Vector3Extensions.To2D(Player.ServerPosition), start.Extend(QCastPos, Q.Range), 170); Console.WriteLine( rectangle.IsOutside(Vector3Extensions.To2D(target.ServerPosition))); if (rectangle.IsOutside(Vector3Extensions.To2D(target.ServerPosition))) { Q.ShootChargedSpell(Game.CursorPos, true); } if (Meowmeowtimer < Game.TickCount) { Q.ShootChargedSpell(Game.CursorPos, true); } } } if (!Q.IsCharging) { if (Q.Ready && target.Distance(Player) < 580) { var meow = Q.GetPrediction(target); Q.StartCharging(meow.CastPosition); } } if (Q.IsCharging) { if (Meowmeowtimer < Game.TickCount) { Q.ShootChargedSpell(Game.CursorPos, true); } } } } } if (E.Ready && useE) { var targetz = Bases.Extensions.GetBestEnemyHeroTargetInRange(E.Range); if (targetz != null && targetz.IsValidTarget(E.Range)) { E.Cast(targetz); } if (RootMenu["harass"]["extendede"].Enabled) { var targets = Bases.Extensions.GetBestEnemyHeroTargetInRange(E.Range + 650); if (targets != null && targets.IsValidTarget(E.Range + 650)) { var test = E2.GetPrediction(targets); for (var i = 0; i < 22; i++) { var rectangle = new Geometry.Rectangle(Vector3Extensions.To2D(Player.ServerPosition), Vector3Extensions.To2D(test.CastPosition), 100); foreach (var m in GameObjects.EnemyMinions.Where(x => x.Distance(Player) < E.Range && x != null && x.IsValidTarget())) { if (rectangle.IsInside(Vector3Extensions.To2D(m.ServerPosition))) { var colliding = test.CollisionObjects.OrderBy(o => o.Distance(Player)).ToList(); var zzz = Player.ServerPosition.Extend(test.CastPosition, Player.Distance(test.CastPosition) - 60 * i); if (colliding.Count > 0 && test.CastPosition.Distance(zzz) <= 100 + targets.BoundingRadius) { if (!Extensions.AnyWallInBetween(m.ServerPosition, test.CastPosition)) { if (test.HitChance >= HitChance.None) { E2.Cast(test.CastPosition); } } } } } } } } } } }