private static void Game_OnUpdate(EventArgs args) { if (!loaded) { //Orbwalking.Load(); me = ObjectMgr.LocalHero; if (!Game.IsInGame || me == null) { return; } loaded = true; target = null; rangeDisplay = null; Game.PrintMessage( "<font face='Tahoma'><font color='#000000'>[--</font> <font color='#33ff66'>Orbwalker</font> by <font color='#999999'>MOON</font><font color='#ff9900'>ES</font> loaded! <font color='#000000'>--]</font></font>", MessageType.LogMessage); } if (me == null || !me.IsValid) { //Orbwalking.Load(); loaded = false; me = ObjectMgr.LocalHero; if (rangeDisplay == null) { return; } target = null; rangeDisplay = null; return; } if (Game.IsPaused) { return; } if (rangeDisplay == null) { if (me.IsAlive) { rangeDisplay = me.AddParticleEffect(@"particles\ui_mouseactions\drag_selected_ring.vpcf"); rangeDisplay.SetControlPoint(1, new Vector3(255, 80, 50)); rangeDisplay.SetControlPoint(3, new Vector3(20, 0, 0)); lastRange = me.GetAttackRange() + me.HullRadius + 70; rangeDisplay.SetControlPoint(2, new Vector3(lastRange, 255, 0)); } } else { if (!me.IsAlive) { rangeDisplay.Dispose(); rangeDisplay = null; } else if (lastRange != (me.GetAttackRange() + me.HullRadius + 70)) { lastRange = me.GetAttackRange() + me.HullRadius + 70; rangeDisplay.Dispose(); rangeDisplay = me.AddParticleEffect(@"particles\ui_mouseactions\drag_selected_ring.vpcf"); rangeDisplay.SetControlPoint(1, new Vector3(255, 80, 50)); rangeDisplay.SetControlPoint(3, new Vector3(15, 0, 0)); rangeDisplay.SetControlPoint(2, new Vector3(lastRange, 255, 0)); } } if (target != null && (!target.IsValid || !target.IsVisible || !target.IsAlive || target.Health <= 0)) { target = null; } var canCancel = Orbwalking.CanCancelAnimation(); if (canCancel) { if (target != null && !target.IsVisible && !Orbwalking.AttackOnCooldown(target)) { target = me.ClosestToMouseTarget(128); } else if (target == null || !Orbwalking.AttackOnCooldown(target)) { var bestAa = me.BestAATarget(); if (bestAa != null) { target = me.BestAATarget(); } } if (Game.IsKeyDown(Menu.Item("farmKey").GetValue <KeyBind>().Key) && (creepTarget == null || !creepTarget.IsValid || !creepTarget.IsVisible || !creepTarget.IsAlive || creepTarget.Health <= 0 || !Orbwalking.AttackOnCooldown(creepTarget))) { creepTarget = TargetSelector.GetLowestHPCreep(me); } } if (Game.IsChatOpen) { return; } if (Game.IsKeyDown(Menu.Item("farmKey").GetValue <KeyBind>().Key)) { Orbwalking.Orbwalk(creepTarget); } if (Game.IsKeyDown(Menu.Item("chaseKey").GetValue <KeyBind>().Key)) { Orbwalking.Orbwalk(target, attackmodifiers: true); } if (Game.IsKeyDown(Menu.Item("kiteKey").GetValue <KeyBind>().Key)) { Orbwalking.Orbwalk( target, attackmodifiers: true, bonusWindupMs: Menu.Item("bonusWindup").GetValue <Slider>().Value); } }
private static void StarCombo() { try { var target = TargetSelector.GetTarget( spells[Spells.W].Range + spells[Spells.R].Range, TargetSelector.DamageType.Physical); Orbwalking.Orbwalk( target ?? null, Game.CursorPos, MyMenu.Menu.Item("ExtraWindup").GetValue <Slider>().Value, MyMenu.Menu.Item("HoldPosRadius").GetValue <Slider>().Value); if (target == null) { return; } if (ItemManager.IsActive()) { ItemManager.CastItems(target); } if (spells[Spells.Q].IsReady()) { if (Misc.IsQOne) { if (spells[Spells.R].IsReady() && spells[Spells.Q].Cast(target).IsCasted()) { return; } } else if (target.HasQBuff() && (spells[Spells.Q].IsKillable(target, 1) || (!spells[Spells.R].IsReady() && (Utils.TickCount - spells[Spells.R].LastCastAttemptT > 300) && (Utils.TickCount - spells[Spells.R].LastCastAttemptT < 1500) && spells[Spells.Q].Cast()))) { return; } } if (spells[Spells.E].IsReady()) { if (Misc.IsEOne) { if (spells[Spells.E].IsInRange(target) && target.HasQBuff() && !spells[Spells.R].IsReady() && (Utils.TickCount - spells[Spells.R].LastCastAttemptT < 1500) && (ObjectManager.Player.Mana >= 80) && spells[Spells.E].Cast()) { return; } } } if (!spells[Spells.Q].IsReady() || !spells[Spells.R].IsReady() || Misc.IsQOne || !target.HasQBuff()) { return; } if (spells[Spells.R].IsInRange(target)) { spells[Spells.R].CastOnUnit(target); } else if (spells[Spells.W].IsReady()) { if ((target.Distance(ObjectManager.Player) > spells[Spells.R].Range) && (target.Distance(ObjectManager.Player) < spells[Spells.R].Range + 580) && target.HasQBuff()) { Wardmanager.WardJump(target.Position, false); } } } catch (Exception e) { Console.WriteLine("An error occurred: '{0}'", e); } }
private static void Flee() { if (!_player.IsCougar() && _aspectOfTheCougar.IsReady() && _pounce.IsReady()) { _aspectOfTheCougar.Cast(); } // We need to define a new move position since jumping over walls // requires you to be close to the specified wall. Therefore we set the move // point to be that specific piont. People will need to get used to it, // but this is how it works. var wallCheck = VectorHelper.GetFirstWallPoint(_player.Position, Game.CursorPos); // Be more precise if (wallCheck != null) { wallCheck = VectorHelper.GetFirstWallPoint((Vector3)wallCheck, Game.CursorPos, 5); } // Define more position point var movePosition = wallCheck != null ? (Vector3)wallCheck : Game.CursorPos; // Update fleeTargetPosition var tempGrid = NavMesh.WorldToGrid(movePosition.X, movePosition.Y); _fleeTargetPosition = NavMesh.GridToWorld((short)tempGrid.X, (short)tempGrid.Y); // Also check if we want to AA aswell Obj_AI_Base target = null; // Reset walljump indicators var wallJumpPossible = false; // Only calculate stuff when our Q is up and there is a wall inbetween if (_player.IsCougar() && _pounce.IsReady() && wallCheck != null) { // Get our wall position to calculate from var wallPosition = movePosition; // Check 300 units to the cursor position in a 160 degree cone for a valid non-wall spot Vector2 direction = (Game.CursorPos.To2D() - wallPosition.To2D()).Normalized(); const float maxAngle = 80; const float step = maxAngle / 20; float currentAngle = 0; float currentStep = 0; bool jumpTriggered = false; while (true) { // Validate the counter, break if no valid spot was found in previous loops if (currentStep > maxAngle && currentAngle < 0) { break; } // Check next angle if ((Math.Abs(currentAngle) < 0.001 || currentAngle < 0) && Math.Abs(currentStep) > 0.000) { currentAngle = (currentStep) * (float)Math.PI / 180; currentStep += step; } else if (currentAngle > 0) { currentAngle = -currentAngle; } Vector3 checkPoint; // One time only check for direct line of sight without rotating if (Math.Abs(currentStep) < 0.001) { currentStep = step; checkPoint = wallPosition + _pounce.Range * direction.To3D(); } // Rotated check else { checkPoint = wallPosition + _pounce.Range * direction.Rotated(currentAngle).To3D(); } // Check if the point is not a wall if (!checkPoint.IsWall()) { // Check if there is a wall between the checkPoint and wallPosition wallCheck = VectorHelper.GetFirstWallPoint(checkPoint, wallPosition); if (wallCheck != null) { // There is a wall inbetween, get the closes point to the wall, as precise as possible Vector2?firstWallPoint = VectorHelper.GetFirstWallPoint( (Vector3)wallCheck, wallPosition, 5); if (firstWallPoint != null) { Vector3 wallPositionOpposite = (Vector3)firstWallPoint; // Check if it's worth to jump considering the path length if (_player.GetPath(wallPositionOpposite).ToList().To2D().PathLength() - _player.Distance(wallPositionOpposite) > 200) { // Check the distance to the opposite side of the wall if (_player.Distance(wallPositionOpposite, true) < Math.Pow(375 - _player.BoundingRadius / 2, 2)) { _pounce.Cast(wallPositionOpposite); jumpTriggered = true; } else { wallJumpPossible = true; } } else { Render.Circle.DrawCircle(Game.CursorPos, 35, Color.Red, 2); } } } } } // Check if the loop triggered the jump, if not just orbwalk if (!jumpTriggered) { Orbwalking.Orbwalk(null, Game.CursorPos, 90f, 0f, false, false); } } // Either no wall or W on cooldown, just move towards to wall then else { Orbwalking.Orbwalk(null, Game.CursorPos, 90f, 0f, false, false); if (_player.IsCougar() && _pounce.IsReady()) { _pounce.Cast(Game.CursorPos); } } }
private static void DoCombo() { if (!IsComboHero) { _globalTarget = null; return; } if (_globalTarget == null || !_globalTarget.IsValid || !_globalTarget.IsAlive) { _globalTarget = Helper.ClosestToMouse(Members.MyHero); return; } if (UseOrbWalkker) { Orbwalking.Orbwalk(_globalTarget, followTarget: true); } else if (!Members.MyHero.IsAttacking() && !_attacker.Sleeping) { Members.MyHero.Attack(_globalTarget); _attacker.Sleep(250); } var inventory = Members.MyHero.Inventory.Items.Where( x => Helper.IsItemEnable(x.StoredName()) && x.CanBeCasted() && (x.GetCastRange() > 0 && x.CanHit(_globalTarget) || (x.GetCastRange() <= 0)) && Utils.SleepCheck($"{x.Handle}+item_usages")) .ToList(); foreach (var item in inventory) { if (item.IsAbilityBehavior(AbilityBehavior.NoTarget)) { item.UseAbility(); } else if (item.IsAbilityBehavior(AbilityBehavior.UnitTarget)) { if (item.TargetTeamType == TargetTeamType.Enemy || item.TargetTeamType == TargetTeamType.All || item.TargetTeamType == TargetTeamType.Custom) { item.UseAbility(_globalTarget); } else { item.UseAbility(Members.MyHero); } } else { item.UseAbility(_globalTarget.NetworkPosition); } Utils.Sleep(250, $"{item.Handle}+item_usages"); } if (TetherInCombo) { var tether = Abilities.FindAbility("wisp_tether"); if (tether == null || tether.Level == 0 || !tether.CanBeCasted() || tether.IsHidden) { return; } var anyAllyHero = Heroes.GetByTeam(Members.MyTeam) .Where(x => !x.Equals(Members.MyHero) && x.IsAlive && tether.CanHit(x)) .OrderBy(y => y.Distance2D(_globalTarget)); var anyAllyCreep = ObjectManager.GetEntities <Unit>() .Where(x => x != null && x.Team == Members.MyTeam && x.IsAlive && tether.CanHit(x)) .OrderBy(y => y.Distance2D(_globalTarget)); var hero = anyAllyHero.FirstOrDefault(); var creep = anyAllyCreep.FirstOrDefault(); float dist1 = 0, dist2 = 0; if (hero != null) { dist1 = hero.Distance2D(_globalTarget); } if (creep != null) { dist2 = creep.Distance2D(_globalTarget); } var targetForTether = (dist1 > dist2) ? creep : hero; var mydist = Members.MyHero.Distance2D(_globalTarget); if (targetForTether != null && !targetForTether.Equals(Members.MyHero) && dist1 <= mydist && dist2 <= mydist && !_multiSleeper.Sleeping(tether + "in combo")) { tether.UseAbility(targetForTether); _multiSleeper.Sleep(250, tether + "in combo"); } } }
public static void OnFlee() { // TODO: E over huge walls so attackers can't follow up :^) Orbwalking.Orbwalk(null, Game.CursorPos); }
private static void castQ() { var target = TargetSelector.GetTarget(650, TargetSelector.DamageType.Magical); int ff = 15; if (Player.Position.Distance(target.Position) > 200 && Player.CountEnemiesInRange(1000) < 3 && Orbwalking.CanMove(80)) { if (target.GetBuffCount("judicatorholyfervordebuff") == 5) { Q.CastOnUnit(target); if (W.IsReady()) { W.CastOnUnit(Player); } LeagueSharp.Common.Utility.DelayAction.Add(ff, () => Orbwalking.Orbwalk(target, target.Position)); return; } if (target.GetBuffCount("judicatorholyfervordebuff") == 4 && Player.Position.Distance(target.Position) > 350) { Q.CastOnUnit(target); if (W.IsReady()) { W.CastOnUnit(Player); } LeagueSharp.Common.Utility.DelayAction.Add(ff, () => Orbwalking.Orbwalk(target, target.Position)); return; } if (target.GetBuffCount("judicatorholyfervordebuff") == 3 && Player.Position.Distance(target.Position) > 450) { Q.CastOnUnit(target); if (W.IsReady()) { W.CastOnUnit(Player); } LeagueSharp.Common.Utility.DelayAction.Add(ff, () => Orbwalking.Orbwalk(target, target.Position)); return; } if (target.GetBuffCount("judicatorholyfervordebuff") == 2 && Player.Position.Distance(target.Position) > 550) { Q.CastOnUnit(target); if (W.IsReady()) { W.CastOnUnit(Player); } LeagueSharp.Common.Utility.DelayAction.Add(ff, () => Orbwalking.Orbwalk(target, target.Position)); return; } if (target.GetBuffCount("judicatorholyfervordebuff") == 1 && Player.Position.Distance(target.Position) > 600) { Q.CastOnUnit(target); if (W.IsReady()) { W.CastOnUnit(Player); } LeagueSharp.Common.Utility.DelayAction.Add(ff, () => Orbwalking.Orbwalk(target, target.Position)); return; } if (!target.HasBuff("judicatorholyfervordebuff") && Player.Position.Distance(target.Position) < 650 && Config.Item("catchup").GetValue <bool>()) { Q.CastOnUnit(target); if (W.IsReady()) { W.CastOnUnit(Player); } LeagueSharp.Common.Utility.DelayAction.Add(ff, () => Orbwalking.Orbwalk(target, target.Position)); return; } } else { Q.CastOnUnit(target); } LeagueSharp.Common.Utility.DelayAction.Add(ff, () => Orbwalking.Orbwalk(target, target.Position)); }
public static void OnFlee() { // Nothing yet Kappa Orbwalking.Orbwalk(null, Game.CursorPos); }
private static async Task Action(CancellationToken cancellationToken) { if (_globalTarget == null || !_globalTarget.IsValid || !_globalTarget.IsAlive) { _globalTarget = TargetSelector.ClosestToMouse(Members.MyHero); return; } if (_targetEffect == null || !_targetEffect.IsValid) { _targetEffect = new ParticleEffect("materials/ensage_ui/particles/target.vpcf", Members.MyHero); _targetEffect.SetControlPoint(2, Members.MyHero.Position); _targetEffect.SetControlPoint(5, new Vector3(0, 155, 255)); _targetEffect.SetControlPoint(6, new Vector3(255)); _targetEffect.SetControlPoint(7, _globalTarget.Position); } var target = _globalTarget; Ability ult; if (!Members.MyHero.IsInvisible() && !Members.MyHero.HasModifiers(new[] { "modifier_item_invisibility_edge_windwalk", "modifier_item_silver_edge_windwalk" }) && !ComboSleeper.Sleeping("invisAction")) { if (Members.MyHero.FindItem("item_blink", true) != null) { await UseBlink(target, cancellationToken); } else if (Members.MyHero.FindItem("item_invis_sword", true) != null || Members.MyHero.FindItem("item_silver_edge", true) != null) { await UseInvis(target, cancellationToken); } //await UseAbility(new Ability(), Target, cancellationToken); var inventory = Members.MyHero.Inventory.Items.Where( x => /*x.CanBeCasted() &&*/ !(x.TargetTeamType == TargetTeamType.Enemy || x.TargetTeamType == TargetTeamType.All || x.TargetTeamType == TargetTeamType.Custom) || x.CanHit(target)).Where(x => x.CanBeCasted()); var enumerable = inventory as Item[] ?? inventory.ToArray(); var linkerBreakers = enumerable.Where( x => Helper.IsItemEnable(x, false) && target.IsLinkensProtected() && !ComboSleeper.Sleeping(x)); foreach (var item in linkerBreakers) { await UseItem(item, target, cancellationToken); } var itemInCombo = enumerable.Where( x => Helper.IsItemEnable(x) && !target.IsLinkensProtected() && !ComboSleeper.Sleeping(x)); foreach (var item in itemInCombo) { await UseItem(item, target, cancellationToken); } ult = Members.MyHero.FindSpell(Members.AbilityList[2]); if (ult.CanBeCasted() && !target.IsLinkensProtected()) { if (true)//(ult.CanHit(target)) { ult.UseAbility(target); await Task.Delay(350, cancellationToken); } } } ult = Members.MyHero.FindSpell(Members.AbilityList[2]); if (!ult.CanBeCasted()) { if (OrbEnable && (!target.IsStunned() || !OrbInStun)) { try { Orbwalking.Orbwalk(target, followTarget: OrbFollow); } catch { } } else if (Utils.SleepCheck("attack_rate")) { if (!Members.MyHero.IsAttacking()) { Members.MyHero.Attack(target); Utils.Sleep(125, "attack_rate"); } } } }
public static void Game_OnUpdate(EventArgs args) { me = ObjectManager.LocalHero; if (!Game.IsInGame || Game.IsWatchingGame || me == null || me.ClassID != ClassID.CDOTA_Unit_Hero_Nyx_Assassin) { return; } Active = Game.IsKeyDown(Menu.Item("Combo Key").GetValue <KeyBind>().Key) && !Game.IsChatOpen; if (Active && me.IsAlive) { e = me.ClosestToMouseTarget(2000); if (e == null) { return; } Q = me.Spellbook.SpellQ; W = me.Spellbook.SpellW; R = me.Spellbook.SpellR; // item sheep = e.ClassID == ClassID.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick"); satanic = me.FindItem("item_satanic"); shiva = me.FindItem("item_shivas_guard"); dagon = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon")); arcane = me.FindItem("item_arcane_boots"); mom = me.FindItem("item_mask_of_madness"); vail = me.FindItem("item_veil_of_discord"); medall = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest"); orchid = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn"); ethereal = me.FindItem("item_ethereal_blade"); blink = me.FindItem("item_blink"); soul = me.FindItem("item_soul_ring"); cheese = me.FindItem("item_cheese"); halberd = me.FindItem("item_heavens_halberd"); abyssal = me.FindItem("item_abyssal_blade"); mjollnir = me.FindItem("item_mjollnir"); var stoneModif = e.HasModifier("modifier_medusa_stone_gaze_stone"); var linkens = e.IsLinkensProtected(); var noBlade = e.HasModifier("modifier_item_blade_mail_reflect"); if (e.IsVisible && me.Distance2D(e) <= 2300 && !noBlade) { if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900) { Orbwalking.Orbwalk(e, 0, 1600, true, true); } if ( R != null && R.CanBeCasted() && !me.HasModifier("modifier_nyx_assassin_vendetta") && me.Distance2D(e) <= 1400 && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) && Utils.SleepCheck("R") ) { R.UseAbility(); Utils.Sleep(200, "R"); } if (R != null && (R.IsInAbilityPhase || me.HasModifier("modifier_nyx_assassin_vendetta") || R.IsChanneling)) { return; } if (R == null || !R.CanBeCasted() && !me.HasModifier("modifier_nyx_assassin_vendetta") || !Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name)) { if (stoneModif) { return; } float angle = me.FindAngleBetween(e.Position, true); Vector3 pos = new Vector3((float)(e.Position.X - 100 * Math.Cos(angle)), (float)(e.Position.Y - 100 * Math.Sin(angle)), 0); if ( blink != null && Q.CanBeCasted() && me.CanCast() && blink.CanBeCasted() && me.Distance2D(e) >= 300 && me.Distance2D(pos) <= 1180 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) && Utils.SleepCheck("blink") ) { blink.UseAbility(pos); Utils.Sleep(250, "blink"); } if ( // orchid orchid != null && orchid.CanBeCasted() && me.CanCast() && !e.IsLinkensProtected() && !e.IsMagicImmune() && me.Distance2D(e) <= me.AttackRange + me.HullRadius + 50 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) && Utils.SleepCheck("orchid") ) { orchid.UseAbility(e); Utils.Sleep(250, "orchid"); } // orchid Item end if ( // vail vail != null && vail.CanBeCasted() && me.CanCast() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name) && !e.IsMagicImmune() && Utils.SleepCheck("vail") && me.Distance2D(e) <= 1500 ) { vail.UseAbility(e.Position); Utils.Sleep(250, "vail"); } if ( // ethereal ethereal != null && ethereal.CanBeCasted() && (!vail.CanBeCasted() || vail == null) && me.CanCast() && !linkens && !e.IsMagicImmune() && Utils.SleepCheck("ethereal") ) { ethereal.UseAbility(e); Utils.Sleep(150, "ethereal"); } if ((vail == null || !vail.CanBeCasted() || !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name)) && (ethereal == null || !ethereal.CanBeCasted() || !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name))) { if ( // sheep sheep != null && sheep.CanBeCasted() && me.CanCast() && !e.IsLinkensProtected() && !e.IsMagicImmune() && !e.IsStunned() && !e.IsHexed() && me.Distance2D(e) <= 1400 && !stoneModif && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(sheep.Name) && Utils.SleepCheck("sheep") ) { sheep.UseAbility(e); Utils.Sleep(250, "sheep"); } // sheep Item end if ( Q != null && Q.CanBeCasted() && Q.Cooldown <= 0 && me.Mana >= Q.ManaCost && !e.IsStunned() && !e.IsHexed() && me.Distance2D(e) <= Q.GetCastRange() + me.HullRadius && !e.IsMagicImmune() && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) && Utils.SleepCheck("Q")) { Q.CastSkillShot(e); Utils.Sleep(100, "Q"); } if ( W != null && W.CanBeCasted() && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) && e.Mana >= (e.MaximumMana * 0.2) && me.Position.Distance2D(e.Position) < 800 && Utils.SleepCheck("W")) { W.UseAbility(e); Utils.Sleep(100, "W"); } if ( // SoulRing Item soul != null && me.Health >= (me.MaximumHealth * 0.5) && me.Mana <= R.ManaCost && soul.CanBeCasted() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(soul.Name) && Utils.SleepCheck("soul")) { soul.UseAbility(); Utils.Sleep(100, "soul"); } // SoulRing Item end if ( // Arcane Boots Item arcane != null && me.Mana <= Q.ManaCost && arcane.CanBeCasted() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(arcane.Name) && Utils.SleepCheck("arcane")) { arcane.UseAbility(); Utils.Sleep(100, "arcane"); } // Arcane Boots Item end if ( // Shiva Item shiva != null && shiva.CanBeCasted() && me.CanCast() && !e.IsMagicImmune() && Utils.SleepCheck("shiva") && me.Distance2D(e) <= 600 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(shiva.Name) ) { shiva.UseAbility(); Utils.Sleep(250, "shiva"); } // Shiva Item end if ( // Medall medall != null && medall.CanBeCasted() && me.CanCast() && !e.IsMagicImmune() && Utils.SleepCheck("Medall") && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(medall.Name) && me.Distance2D(e) <= 500 ) { medall.UseAbility(e); Utils.Sleep(250, "Medall"); } // Medall Item end if ( // MOM mom != null && mom.CanBeCasted() && me.CanCast() && Utils.SleepCheck("mom") && me.Distance2D(e) <= 700 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(mom.Name) ) { mom.UseAbility(); Utils.Sleep(250, "mom"); } // MOM Item end if ( // cheese cheese != null && cheese.CanBeCasted() && me.Health <= (me.MaximumHealth * 0.3) && me.Distance2D(e) <= 700 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(cheese.Name) && Utils.SleepCheck("cheese") ) { cheese.UseAbility(); Utils.Sleep(200, "cheese"); } // cheese Item end if ( // Abyssal Blade abyssal != null && abyssal.CanBeCasted() && me.CanCast() && !e.IsMagicImmune() && Utils.SleepCheck("abyssal") && me.Distance2D(e) <= 400 && !e.IsStunned() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(abyssal.Name) ) { abyssal.UseAbility(e); Utils.Sleep(250, "abyssal"); } // Abyssal Item end if ( // Hellbard halberd != null && halberd.CanBeCasted() && me.CanCast() && !e.IsMagicImmune() && Utils.SleepCheck("halberd") && me.Distance2D(e) <= 700 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(halberd.Name) ) { halberd.UseAbility(e); Utils.Sleep(250, "halberd"); } // Hellbard Item end if ( // Dagon me.CanCast() && dagon != null && (ethereal == null || (e.HasModifier("modifier_item_ethereal_blade_slow") || ethereal.Cooldown < 18)) && !e.IsLinkensProtected() && dagon.CanBeCasted() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon") && !e.IsMagicImmune() && !stoneModif && Utils.SleepCheck("dagon") ) { dagon.UseAbility(e); Utils.Sleep(200, "dagon"); } // Dagon Item end if ( // Mjollnir mjollnir != null && mjollnir.CanBeCasted() && me.CanCast() && !e.IsMagicImmune() && Utils.SleepCheck("mjollnir") && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(mjollnir.Name) && me.Distance2D(e) <= 900 ) { mjollnir.UseAbility(me); Utils.Sleep(250, "mjollnir"); } // Mjollnir Item end if ( // Satanic satanic != null && me.Health <= (me.MaximumHealth * 0.3) && satanic.CanBeCasted() && me.Distance2D(e) <= 700 && Utils.SleepCheck("Satanic") && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(satanic.Name) ) { satanic.UseAbility(); Utils.Sleep(350, "Satanic"); } // Satanic Item end } } } } if (Menu.Item("Kill").GetValue <bool>() && me.IsAlive && (me.IsVisibleToEnemies || !me.IsInvisible())) { var enemies = ObjectManager.GetEntities <Hero>() .Where(x => x.IsVisible && x.IsAlive && x.Team != me.Team && !x.IsIllusion).ToList(); if (enemies.Count <= 0) { return; } foreach (var v in enemies) { var wM = new[] { 3.5, 4, 4.5, 5 }; var wDmg = me.TotalIntelligence * wM[W.Level - 1]; var damageW = Math.Floor(wDmg * (1 - v.MagicDamageResist)); var lens = me.HasModifier("modifier_item_aether_lens"); var spellamplymult = 1 + (me.TotalIntelligence / 16 / 100); if (v.NetworkName == "CDOTA_Unit_Hero_Spectre" && v.Spellbook.Spell3.Level > 0) { damageW = Math.Floor(wDmg * (1 - (0.10 + v.Spellbook.Spell3.Level * 0.04)) * (1 - v.MagicDamageResist)); } if (lens) { damageW = damageW * 1.08; } if (v.HasModifier("modifier_kunkka_ghost_ship_damage_absorb")) { damageW = damageW * 0.5; } if (v.HasModifier("modifier_item_mask_of_madness_berserk")) { damageW = damageW * 1.3; } damageW = damageW * spellamplymult; if (damageW > v.Mana) { damageW = v.Mana; } if ( // vail vail != null && vail.CanBeCasted() && W.CanBeCasted() && v.Health <= damageW * 1.25 && v.Health >= damageW && me.CanCast() && !v.HasModifier("modifier_item_veil_of_discord_debuff") && !v.IsMagicImmune() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name) && me.Distance2D(v) <= W.GetCastRange() && Utils.SleepCheck("vail") ) { vail.UseAbility(v.Position); Utils.Sleep(250, "vail"); } int etherealdamage = (int)(((me.TotalIntelligence * 2) + 75)); if ( // vail ethereal != null && ethereal.CanBeCasted() && W != null && W.CanBeCasted() && v.Health <= etherealdamage + damageW * 1.4 && v.Health >= damageW && me.CanCast() && !v.HasModifier("modifier_item_ethereal_blade_slow") && !v.IsMagicImmune() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) && me.Distance2D(v) <= ethereal.GetCastRange() + 50 && Utils.SleepCheck("ethereal") ) { ethereal.UseAbility(v); Utils.Sleep(250, "ethereal"); } if (W != null && v != null && W.CanBeCasted() && me.AghanimState() ? me.Distance2D(v) <= 1050 : me.Distance2D(v) <= W.GetCastRange() + 50 && !v.HasModifier("modifier_tusk_snowball_movement") && !v.HasModifier("modifier_snowball_movement_friendly") && !v.HasModifier("modifier_templar_assassin_refraction_absorb") && !v.HasModifier("modifier_ember_spirit_flame_guard") && !v.HasModifier("modifier_ember_spirit_sleight_of_fist_caster_invulnerability") && !v.HasModifier("modifier_obsidian_destroyer_astral_imprisonment_prison") && !v.HasModifier("modifier_puck_phase_shift") && !v.HasModifier("modifier_eul_cyclone") && !v.HasModifier("modifier_dazzle_shallow_grave") && !v.HasModifier("modifier_shadow_demon_disruption") && !v.HasModifier("modifier_necrolyte_reapers_scythe") && !v.HasModifier("modifier_necrolyte_reapers_scythe") && !v.HasModifier("modifier_storm_spirit_ball_lightning") && !v.HasModifier("modifier_ember_spirit_fire_remnant") && !v.HasModifier("modifier_nyx_assassin_spiked_carapace") && !v.HasModifier("modifier_phantom_lancer_doppelwalk_phase") && !v.FindSpell("abaddon_borrowed_time").CanBeCasted() && !v.HasModifier("modifier_abaddon_borrowed_time_damage_redirect") && !v.IsMagicImmune() && v.Health < damageW && Utils.SleepCheck(v.Handle.ToString())) { W.UseAbility(v); Utils.Sleep(150, v.Handle.ToString()); return; } } } }
public void Combo() { if (!Menu.Item("enabled").IsActive()) { return; } Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key) && !Game.IsChatOpen; _q = Me.Spellbook.SpellQ; _r = Me.Spellbook.SpellR; _shiva = Me.FindItem("item_shivas_guard"); _mom = Me.FindItem("item_mask_of_madness"); _urn = Me.FindItem("item_urn_of_shadows"); _dagon = Me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon")); _mjollnir = Me.FindItem("item_mjollnir"); _orchid = Me.FindItem("item_orchid") ?? Me.FindItem("item_bloodthorn"); _abyssal = Me.FindItem("item_abyssal_blade"); _mail = Me.FindItem("item_blade_mail"); _bkb = Me.FindItem("item_black_king_bar"); _ethereal = Me.FindItem("item_ethereal_blade"); _glimmer = Me.FindItem("item_glimmer_cape"); _vail = Me.FindItem("item_veil_of_discord"); _satanic = Me.FindItem("item_satanic"); _blink = Me.FindItem("item_blink"); _medall = Me.FindItem("item_medallion_of_courage") ?? Me.FindItem("item_solar_crest"); E = Toolset.ClosestToMouse(Me); if (E == null) { return; } var stoneModif = E.HasModifier("modifier_medusa_stone_gaze_stone"); if (Me.IsChanneling() || _r.IsInAbilityPhase || _r.IsChanneling) { return; } var v = ObjectManager.GetEntities <Hero>() .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune()) .ToList(); var modifInv = Me.IsInvisible(); if (Active && Utils.SleepCheck("Combo")) { if (Me.HasModifier("modifier_sandking_sand_storm")) { return; } float angle = Me.FindAngleBetween(E.Position, true); Vector3 pos = new Vector3((float)(E.Position.X - (_q.GetCastRange() - 100) * Math.Cos(angle)), (float)(E.Position.Y - (_q.GetCastRange() - 100) * Math.Sin(angle)), 0); uint elsecount = 1; if (elsecount == 1 && (_blink != null && _blink.CanBeCasted() && Me.Distance2D(pos) <= 1100 || _blink == null && Me.Distance2D(E) <= _q.GetCastRange() - 50)) { if ( _r != null && _r.CanBeCasted() && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) && Utils.SleepCheck("R") ) { _r.UseAbility(); Utils.Sleep(200, "R"); Utils.Sleep(300, "Combo"); } } if (!Utils.SleepCheck("Combo") || Me.IsChanneling() || _r.IsChanneling || _r.IsInAbilityPhase) { return; } if (!Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name) || !_r.CanBeCasted()) { if ( _blink != null && _blink.CanBeCasted() && Me.Distance2D(E) >= (_q.CanBeCasted() ? _q.GetCastRange() : 450) && Me.Distance2D(pos) <= 1190 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) && Utils.SleepCheck("blink") ) { _blink.UseAbility(pos); Utils.Sleep(250, "blink"); } if ( _blink != null && _blink.CanBeCasted() && Me.Distance2D(E) < 1180 && Me.Distance2D(E) > (_q.CanBeCasted() ? _q.GetCastRange() : 450) && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) && Utils.SleepCheck("blink") ) { _blink.UseAbility(E.Position); Utils.Sleep(250, "blink"); } if ( _q != null && _q.CanBeCasted() && Me.Distance2D(E) <= _q.GetCastRange() + 300 && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) && Utils.SleepCheck("Q") ) { _q.UseAbility(E); Utils.Sleep(200, "Q"); } } if (Me.Distance2D(E) <= 2000 && E != null && E.IsAlive && !modifInv && !Me.IsChanneling() && (!_r.CanBeCasted() || !Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name))) { if (_ethereal != null && _ethereal.CanBeCasted() && Me.Distance2D(E) <= 700 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) && Utils.SleepCheck("ethereal")) { _ethereal.UseAbility(E); Utils.Sleep(100, "ethereal"); } if (_vail != null && _vail.CanBeCasted() && Me.Distance2D(E) <= 1100 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_vail.Name) && Utils.SleepCheck("vail")) { _vail.UseAbility(E.Position); Utils.Sleep(130, "vail"); } if ( // Abyssal Blade _abyssal != null && _abyssal.CanBeCasted() && Me.CanCast() && !E.IsStunned() && !E.IsHexed() && Utils.SleepCheck("abyssal") && Me.Distance2D(E) <= 400 ) { _abyssal.UseAbility(E); Utils.Sleep(250, "abyssal"); } // Abyssal Item end if (_glimmer != null && _glimmer.CanBeCasted() && Me.Distance2D(E) <= 300 && Utils.SleepCheck("glimmer")) { _glimmer.UseAbility(Me); Utils.Sleep(200, "glimmer"); } if ( // Mjollnir _mjollnir != null && _mjollnir.CanBeCasted() && Me.CanCast() && !E.IsMagicImmune() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mjollnir.Name) && Utils.SleepCheck("mjollnir") && Me.Distance2D(E) <= 900 ) { _mjollnir.UseAbility(Me); Utils.Sleep(250, "mjollnir"); } // Mjollnir Item end if ( // Medall _medall != null && _medall.CanBeCasted() && Utils.SleepCheck("Medall") && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_medall.Name) && Me.Distance2D(E) <= 700 ) { _medall.UseAbility(E); Utils.Sleep(250, "Medall"); } // Medall Item end if ( // MOM _mom != null && _mom.CanBeCasted() && Me.CanCast() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mom.Name) && Utils.SleepCheck("mom") && Me.Distance2D(E) <= 700 ) { _mom.UseAbility(); Utils.Sleep(250, "mom"); } if (_orchid != null && _orchid.CanBeCasted() && Me.Distance2D(E) <= 900 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) && Utils.SleepCheck("orchid")) { _orchid.UseAbility(E); Utils.Sleep(100, "orchid"); } if (_shiva != null && _shiva.CanBeCasted() && Me.Distance2D(E) <= 600 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_shiva.Name) && !E.IsMagicImmune() && Utils.SleepCheck("Shiva")) { _shiva.UseAbility(); Utils.Sleep(100, "Shiva"); } if ( // Dagon Me.CanCast() && _dagon != null && !E.IsLinkensProtected() && _dagon.CanBeCasted() && !E.IsMagicImmune() && !stoneModif && Utils.SleepCheck("dagon") ) { _dagon.UseAbility(E); Utils.Sleep(200, "dagon"); } // Dagon Item end if (_urn != null && _urn.CanBeCasted() && _urn.CurrentCharges > 0 && Me.Distance2D(E) <= 400 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_urn.Name) && Utils.SleepCheck("urn")) { _urn.UseAbility(E); Utils.Sleep(240, "urn"); } if ( // Satanic _satanic != null && Me.Health <= (Me.MaximumHealth * 0.3) && _satanic.CanBeCasted() && Me.Distance2D(E) <= Me.AttackRange + 50 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_satanic.Name) && Utils.SleepCheck("satanic") ) { _satanic.UseAbility(); Utils.Sleep(240, "satanic"); } // Satanic Item end if (_mail != null && _mail.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >= (Menu.Item("Heelm").GetValue <Slider>().Value)) && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mail.Name) && Utils.SleepCheck("mail")) { _mail.UseAbility(); Utils.Sleep(100, "mail"); } if (_bkb != null && _bkb.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >= (Menu.Item("Heel").GetValue <Slider>().Value)) && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_bkb.Name) && Utils.SleepCheck("bkb")) { _bkb.UseAbility(); Utils.Sleep(100, "bkb"); } if (Menu.Item("logic").IsActive()) { if (_mail != null && _mail.CanBeCasted() && Toolset.HasStun(E) && !E.IsStunned() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mail.Name) && Utils.SleepCheck("mail")) { _mail.UseAbility(); Utils.Sleep(100, "mail"); } if (_bkb != null && _bkb.CanBeCasted() && Toolset.HasStun(E) && !E.IsStunned() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_bkb.Name) && Utils.SleepCheck("bkb")) { _bkb.UseAbility(); Utils.Sleep(100, "bkb"); } } } if (Me.IsChanneling() || _r.IsChanneling || _r.IsInAbilityPhase) { return; } elsecount++; if (elsecount == 2 && E != null && E.IsAlive) { if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900 && !Me.IsChanneling()) { Orbwalking.Orbwalk(E, 0, 1600, true, true); } } Utils.Sleep(200, "Combo"); } }
public static void Game_OnUpdate(EventArgs args) { if (!IsEnable) { return; } if (!Members.MyHero.IsAlive) { return; } //CalculateDamage(); if (_attacker == null) { _attacker = new Sleeper(); } if (_spellSleeper == null) { _spellSleeper = new MultiSleeper(); } if (_ethereal == null) { _ethereal = new Sleeper(); } var laser = Abilities.FindAbility("tinker_laser"); var rockets = Abilities.FindAbility("tinker_heat_seeking_missile"); if (_spellSleeper.Sleeping(Abilities.FindAbility("tinker_rearm"))) { return; } if (IsEnableKillSteal && !IsComboHero) { foreach (var x in Heroes.GetByTeam(Members.MyHero.GetEnemyTeam()) .Where(x => x.IsAlive && x.IsVisible && !x.IsIllusion() && !x.IsMagicImmune()) .Where(x => Helper.CalculateMyCurrentDamage(x, true) < 0)) { CastCombo(x, laser, rockets, true); } } if (!IsComboHero) { if (_globalTarget != null) { Helper.UnHandleEffect(_globalTarget); } _globalTarget = null; return; } if (_globalTarget == null || !_globalTarget.IsValid) { _globalTarget = Helper.ClosestToMouse(Members.MyHero); return; } Helper.HandleEffect(_globalTarget); if (Members.MyHero.IsChanneling() || _globalTarget.Distance2D(Members.MyHero) > 2500) { return; } if (AutoAttack) { if (UseOrbWalkker) { Orbwalking.Orbwalk(_globalTarget, followTarget: true); } else if (!Members.MyHero.IsAttacking() && !_attacker.Sleeping && !_globalTarget.IsAttackImmune()) { Members.MyHero.Attack(_globalTarget); _attacker.Sleep(250); } } CastCombo(_globalTarget, laser, rockets); }
public void Combo() { if (Menu.Item("enabled").IsActive() && Utils.SleepCheck("combo")) { E = Toolset.ClosestToMouse(Me); if (E == null) { return; } _q = Me.Spellbook.SpellQ; _w = Me.Spellbook.SpellW; _r = Me.Spellbook.SpellR; Active = Game.IsKeyDown(Menu.Item("keyBind").GetValue <KeyBind>().Key); _shiva = Me.FindItem("item_shivas_guard"); _pike = Me.FindItem("item_hurricane_pike"); var dragon = Me.FindItem("item_dragon_lance"); _ethereal = Me.FindItem("item_ethereal_blade"); _mom = Me.FindItem("item_mask_of_madness"); _urn = Me.FindItem("item_urn_of_shadows"); _dagon = Me.Inventory.Items.FirstOrDefault( item => item.Name.Contains("item_dagon")); _halberd = Me.FindItem("item_heavens_halberd"); _mjollnir = Me.FindItem("item_mjollnir"); _orchid = Me.FindItem("item_orchid") ?? Me.FindItem("item_bloodthorn"); _abyssal = Me.FindItem("item_abyssal_blade"); _mail = Me.FindItem("item_blade_mail"); _manta = Me.FindItem("item_manta"); _bkb = Me.FindItem("item_black_king_bar"); _satanic = Me.FindItem("item_satanic"); _blink = Me.FindItem("item_blink"); _medall = Me.FindItem("item_medallion_of_courage") ?? Me.FindItem("item_solar_crest"); _sheep = E.ClassId == ClassId.CDOTA_Unit_Hero_Tidehunter ? null : Me.FindItem("item_sheepstick"); _cheese = Me.FindItem("item_cheese"); _stick = Me.FindItem("item_magic_stick") ?? Me.FindItem("item_magic_wand"); _phase = Me.FindItem("item_phase_boots"); var meld = Me.Modifiers.ToList().Exists(y => y.Name == "modifier_templar_assassin_meld"); var pikeMod = Me.Modifiers.ToList().Exists(y => y.Name == "modifier_item_hurricane_pike_range"); Toolset.Range(); var stoneModif = E.Modifiers.Any(y => y.Name == "modifier_medusa_stone_gaze_stone"); var v = ObjectManager.GetEntities <Hero>() .Where(x => x.Team != Me.Team && x.IsAlive && x.IsVisible && !x.IsIllusion && !x.IsMagicImmune()) .ToList(); var pikeRange = Me.Modifiers.FirstOrDefault(y => y.Name == "modifier_item_hurricane_pike_range"); if (pikeRange != null) { if ( _q != null && _q.CanBeCasted() && !meld && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) && Utils.SleepCheck("Q") ) { _q.UseAbility(); Utils.Sleep(200, "Q"); } if ( _w != null && _q != null && pikeRange.StackCount <= 3 && !_q.CanBeCasted() && _w.CanBeCasted() && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) && Utils.SleepCheck("W") ) { _w.UseAbility(); Me.Attack(E); Utils.Sleep(200, "W"); } if (Menu.Item("orbwalk").GetValue <bool>()) { Orbwalking.Orbwalk(E, 0, 7000, true, true); } } if (pikeRange != null && pikeRange.StackCount > 0) { return; } if (pikeMod) { return; } if (Active) { if (meld) { if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900) { Orbwalking.Orbwalk(E, 0, 1600, true, true); } } } if (meld) { return; } if (Active && Me.Distance2D(E) <= 1400 && E != null && E.IsAlive && !Me.IsInvisible()) { if (_r != null && (_pike == null || !_pike.CanBeCasted()) && Me.Distance2D(E) >= Toolset.AttackRange + 5 && _r.CanBeCasted() && !meld && Utils.SleepCheck("R") && !E.Modifiers.ToList().Exists(x => x.Name == "modifier_templar_assassin_trap_slow") && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_r.Name)) { _r.UseAbility(Prediction.InFront(E, 140)); Utils.Sleep(150, "R"); } if ( _q != null && _q.CanBeCasted() && Me.Distance2D(E) <= Toolset.AttackRange + 300 && !meld && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_q.Name) && Utils.SleepCheck("Q") ) { _q.UseAbility(); Utils.Sleep(200, "Q"); } float angle = Me.FindAngleBetween(E.Position, true); Vector3 pos = new Vector3((float)(E.Position.X + 100 * Math.Cos(angle)), (float)(E.Position.Y + 100 * Math.Sin(angle)), 0); if ( _blink != null && Me.CanCast() && _blink.CanBeCasted() && Me.Distance2D(E) >= Toolset.AttackRange && Me.Distance2D(pos) <= 1190 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_blink.Name) && Utils.SleepCheck("blink") ) { _blink.UseAbility(pos); Utils.Sleep(250, "blink"); } if ( _w != null && _w.CanBeCasted() && Me.Distance2D(E) <= Toolset.AttackRange - 10 && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(_w.Name) && Utils.SleepCheck("W") ) { _w.UseAbility(); Me.Attack(E); Utils.Sleep(200, "W"); } if ( // MOM _mom != null && _mom.CanBeCasted() && Me.CanCast() && !meld && Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_mom.Name) && Utils.SleepCheck("mom") && Me.Distance2D(E) <= 700 ) { _mom.UseAbility(); Utils.Sleep(250, "mom"); } if ( // Hellbard _halberd != null && _halberd.CanBeCasted() && Me.CanCast() && !E.IsMagicImmune() && (E.NetworkActivity == NetworkActivity.Attack || E.NetworkActivity == NetworkActivity.Crit || E.NetworkActivity == NetworkActivity.Attack2) && Utils.SleepCheck("halberd") && Me.Distance2D(E) <= 700 && !meld && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_halberd.Name) ) { _halberd.UseAbility(E); Utils.Sleep(250, "halberd"); } if ( // Mjollnir _mjollnir != null && _mjollnir.CanBeCasted() && Me.CanCast() && !meld && !E.IsMagicImmune() && Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_mjollnir.Name) && Utils.SleepCheck("mjollnir") && Me.Distance2D(E) <= 900 ) { _mjollnir.UseAbility(Me); Utils.Sleep(250, "mjollnir"); } // Mjollnir Item end if ( // cheese _cheese != null && _cheese.CanBeCasted() && !meld && Me.Health <= (Me.MaximumHealth * 0.3) && Me.Distance2D(E) <= 700 && Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_cheese.Name) && Utils.SleepCheck("cheese") ) { _cheese.UseAbility(); Utils.Sleep(200, "cheese"); } // cheese Item end if ( // Medall _medall != null && _medall.CanBeCasted() && !meld && Utils.SleepCheck("Medall") && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_medall.Name) && Me.Distance2D(E) <= 700 ) { _medall.UseAbility(E); Utils.Sleep(250, "Medall"); } // Medall Item end if ( // sheep _sheep != null && _sheep.CanBeCasted() && Me.CanCast() && !E.IsLinkensProtected() && !E.IsMagicImmune() && !meld && Me.Distance2D(E) <= 1400 && !stoneModif && Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_sheep.Name) && Utils.SleepCheck("sheep") ) { _sheep.UseAbility(E); Utils.Sleep(250, "sheep"); } // sheep Item end if ( // Abyssal Blade _abyssal != null && _abyssal.CanBeCasted() && Me.CanCast() && !meld && !E.IsStunned() && !E.IsHexed() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_abyssal.Name) && Utils.SleepCheck("abyssal") && Me.Distance2D(E) <= 400 ) { _abyssal.UseAbility(E); Utils.Sleep(250, "abyssal"); } // Abyssal Item end if (_orchid != null && _orchid.CanBeCasted() && !meld && Me.Distance2D(E) <= 600 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_orchid.Name) && Utils.SleepCheck("orchid")) { _orchid.UseAbility(E); Utils.Sleep(100, "orchid"); } if (_shiva != null && _shiva.CanBeCasted() && Me.Distance2D(E) <= 600 && !meld && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_shiva.Name) && !E.IsMagicImmune() && Utils.SleepCheck("Shiva")) { _shiva.UseAbility(); Utils.Sleep(100, "Shiva"); } if ( // ethereal _ethereal != null && _ethereal.CanBeCasted() && Me.CanCast() && !meld && !E.IsLinkensProtected() && !E.IsMagicImmune() && !stoneModif && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_ethereal.Name) && Utils.SleepCheck("ethereal") ) { _ethereal.UseAbility(E); Utils.Sleep(200, "ethereal"); } // ethereal Item end if ( // Dagon Me.CanCast() && _dagon != null && (_ethereal == null || (E.Modifiers.Any(y => y.Name == "modifier_item_ethereal_blade_slow") || _ethereal.Cooldown < 17)) && !E.IsLinkensProtected() && _dagon.CanBeCasted() && !meld && !E.IsMagicImmune() && !stoneModif && Utils.SleepCheck("dagon") ) { _dagon.UseAbility(E); Utils.Sleep(200, "dagon"); } // Dagon Item end if (_phase != null && _phase.CanBeCasted() && !meld && Utils.SleepCheck("phase") && Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_phase.Name) && !_blink.CanBeCasted() && Me.Distance2D(E) >= Me.AttackRange + 20) { _phase.UseAbility(); Utils.Sleep(200, "phase"); } if (_urn != null && _urn.CanBeCasted() && _urn.CurrentCharges > 0 && Me.Distance2D(E) <= 400 && !meld && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_urn.Name) && Utils.SleepCheck("urn")) { _urn.UseAbility(E); Utils.Sleep(240, "urn"); } if ( _stick != null && _stick.CanBeCasted() && _stick.CurrentCharges != 0 && Me.Distance2D(E) <= 700 && !meld && (Me.Health <= (Me.MaximumHealth * 0.5) || Me.Mana <= (Me.MaximumMana * 0.5)) && Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_stick.Name)) { _stick.UseAbility(); Utils.Sleep(200, "mana_items"); } if (_manta != null && _manta.CanBeCasted() && !meld && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_manta.Name) && Me.Distance2D(E) <= Toolset.AttackRange && Utils.SleepCheck("manta")) { _manta.UseAbility(); Utils.Sleep(100, "manta"); } if ( // Satanic _satanic != null && Me.Health <= (Me.MaximumHealth * 0.3) && _satanic.CanBeCasted() && !meld && Me.Distance2D(E) <= Me.AttackRange + 50 && Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_satanic.Name) && Utils.SleepCheck("satanic") ) { _satanic.UseAbility(); Utils.Sleep(240, "satanic"); } // Satanic Item end if (_mail != null && _mail.CanBeCasted() && (v.Count(x => x.Distance2D(Me) <= 650) >= (Menu.Item("Heelm").GetValue <Slider>().Value)) && !meld && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_mail.Name) && Utils.SleepCheck("mail")) { _mail.UseAbility(); Utils.Sleep(100, "mail"); } if (_bkb != null && _bkb.CanBeCasted() && !meld && (v.Count(x => x.Distance2D(Me) <= 650) >= (Menu.Item("Heel").GetValue <Slider>().Value)) && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(_bkb.Name) && Utils.SleepCheck("bkb")) { _bkb.UseAbility(); Utils.Sleep(100, "bkb"); } if (Active && Me.Distance2D(E) <= 1400 && E != null && E.IsAlive) { if (Menu.Item("orbwalk").GetValue <bool>() && Me.Distance2D(E) <= 1900) { Orbwalking.Orbwalk(E, 0, 1600, true, true); } } if (_pike != null && _pike.CanBeCasted() && Me.IsAttacking() && Menu.Item("Item").GetValue <AbilityToggler>().IsEnabled(_pike.Name) && (E.Health <= (E.MaximumHealth / 100 * Menu.Item("piKe").GetValue <Slider>().Value) || Me.Health <= (Me.MaximumHealth / 100 * Menu.Item("piKeMe").GetValue <Slider>().Value)) && (_w == null || !_w.CanBeCasted()) && !meld && Me.Distance2D(E) <= 450 && Utils.SleepCheck("pike")) { _pike.UseAbility(E); if (((_pike != null && _pike.CanBeCasted()) || IsCasted(_pike)) && _r.CanBeCasted() && !Me.Modifiers.ToList().Exists(y => y.Name == "modifier_templar_assassin_meld") && Me.Distance2D(E.NetworkPosition) <= 400 && Me.CanCast() && !Me.IsSilenced() && !Me.IsHexed()) { var a1 = Me.Position.ToVector2().FindAngleBetween(E.Position.ToVector2(), true); var p1 = new Vector3( (E.Position.X + 520 * (float)Math.Cos(a1)), (E.Position.Y + 520 * (float)Math.Sin(a1)), 100); _r.UseAbility(p1); } Utils.Sleep(100, "pike"); } var traps = ObjectManager.GetEntities <Unit>().Where(x => x.Name == "npc_dota_templar_assassin_psionic_trap" && x.Team == Me.Team && x.Distance2D(Me) <= 1700 && x.IsAlive && x.IsValid).ToList(); foreach (var q in traps) { if (!HurPikeActived() && E.NetworkPosition.Distance2D(q.Position) < 390 && q.Spellbook.SpellQ.CanBeCasted() && Utils.SleepCheck("traps") && !E.Modifiers.ToList().Exists(x => x.Name == "modifier_templar_assassin_trap_slow")) { q.Spellbook.SpellQ.UseAbility(); Utils.Sleep(150, "traps"); } } } Utils.Sleep(50, "combo"); } }
private void Game_OnUpdate(EventArgs args) { if (!ObjectManager.Player.IsDead) { if (Orbwalking.CanMove(100)) { switch (MenuProvider.Orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: { if (MenuProvider.Champion.Combo.GetBoolValue("Attack Minion For Chasing")) { if (MenuProvider.Orbwalker.GetTarget() == null) { if ( !HeroManager.Enemies.Any( x => x.IsValidTarget() && Orbwalking.InAutoAttackRange(x))) { var minion = MinionManager.GetMinions(Orbwalking.GetRealAutoAttackRange(null) + 65, MinionTypes.All, MinionTeam.NotAlly) .OrderBy(x => x.Distance(ObjectManager.Player)) .FirstOrDefault(); if (minion != null) { Orbwalking.Orbwalk(minion, Game.CursorPos, 0f); } } } } if (MenuProvider.Champion.Combo.UseQ) { if (_q.IsReadyPerfectly()) { if (!ObjectManager.Player.IsDashing()) { if (!ObjectManager.Player.IsWindingUp) { var target = TargetSelector.GetTargetNoCollision(_q); if (target != null) { if (ObjectManager.Player.Mana - _qManaCost[_q.Level] >= 40) { _q.Cast(target); } else { var killableTarget = HeroManager.Enemies.FirstOrDefault( x => !Orbwalking.InAutoAttackRange(x) && x.IsKillableAndValidTarget(_q.GetDamage(x), TargetSelector.DamageType.Physical, _q.Range) && _q.GetPrediction(x).Hitchance >= _q.MinHitChance); if (killableTarget != null) { _q.Cast(killableTarget); } } } } } } } if (MenuProvider.Champion.Combo.UseE) { if (_e.IsReadyPerfectly()) { if ( HeroManager.Enemies.Any( x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.IsKillableAndValidTarget(_e.GetDamage(x), TargetSelector.DamageType.Physical, _e.Range))) { _e.Cast(); } } } break; } case Orbwalking.OrbwalkingMode.Mixed: { if (MenuProvider.Champion.Harass.UseQ) { if (ObjectManager.Player.IsManaPercentOkay(MenuProvider.Champion.Harass.IfMana)) { if (!ObjectManager.Player.IsDashing()) { if (!ObjectManager.Player.IsWindingUp) { if (_q.IsReadyPerfectly()) { var target = TargetSelector.GetTargetNoCollision(_q); if (target != null) { _q.Cast(target); } } } } } } break; } case Orbwalking.OrbwalkingMode.LaneClear: { //Lane if (MenuProvider.Champion.Laneclear.UseQ) { if (_q.IsReadyPerfectly()) { if (!ObjectManager.Player.IsDashing()) { if (!ObjectManager.Player.IsWindingUp) { if ( ObjectManager.Player.IsManaPercentOkay( MenuProvider.Champion.Laneclear.IfMana)) { foreach ( var killableMinion in MinionManager.GetMinions(_q.Range) .Where( x => _q.GetPrediction(x).Hitchance >= _q.MinHitChance && x.IsKillableAndValidTarget(_q.GetDamage(x), TargetSelector.DamageType.Physical, _q.Range))) { var killableNumber = 0; var collisionMinions = Collision.GetCollision( new List <Vector3> { ObjectManager.Player.ServerPosition.Extend( killableMinion.ServerPosition, _q.Range) }, new PredictionInput { Unit = ObjectManager.Player, Delay = _q.Delay, Speed = _q.Speed, Radius = _q.Width, Range = _q.Range, CollisionObjects = new[] { CollisionableObjects.Minions }, UseBoundingRadius = false } ).OrderBy(x => x.Distance(ObjectManager.Player)); foreach (Obj_AI_Minion collisionMinion in collisionMinions) { if ( collisionMinion.IsKillableAndValidTarget( ObjectManager.Player.GetSpellDamage(collisionMinion, SpellSlot.Q), TargetSelector.DamageType.Physical, _q.Range)) { killableNumber++; } else { break; } } if (killableNumber >= MenuProvider.Champion.Laneclear.GetSliderValue( "Cast Q if Killable Minion Number >=").Value) { if (!ObjectManager.Player.IsWindingUp) { _q.Cast(killableMinion.ServerPosition); break; } } } } } } } } if (MenuProvider.Champion.Laneclear.UseE) { if (_e.IsReadyPerfectly()) { if (ObjectManager.Player.IsManaPercentOkay(MenuProvider.Champion.Laneclear.IfMana)) { if ( MinionManager.GetMinions(_e.Range) .Count( x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.IsKillableAndValidTarget(_e.GetDamage(x), TargetSelector.DamageType.Physical)) >= MenuProvider.Champion.Laneclear.GetSliderValue( "Cast E if Killable Minion Number >=").Value) { _e.Cast(); } } } } //Jugnle if (MenuProvider.Champion.Jungleclear.UseQ) { if (_q.IsReadyPerfectly()) { if (ObjectManager.Player.IsManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana)) { var qTarget = MinionManager.GetMinions(_q.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth) .FirstOrDefault( x => x.IsValidTarget(_q.Range) && _q.GetPrediction(x).Hitchance >= HitChance.High); if (qTarget != null) { _q.Cast(qTarget); } } } } if (MenuProvider.Champion.Jungleclear.UseE) { if (_e.IsReadyPerfectly()) { if (ObjectManager.Player.IsManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana)) { if ( MinionManager.GetMinions(_e.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth) .Any( x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.IsKillableAndValidTarget(_e.GetDamage(x), TargetSelector.DamageType.Physical))) { _e.Cast(); } } } } break; } } } if (MenuProvider.Champion.Misc.GetBoolValue("Use Killsteal (With E)")) { if (_e.IsReadyPerfectly()) { if ( HeroManager.Enemies.Any( x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.IsKillableAndValidTarget(_e.GetDamage(x), TargetSelector.DamageType.Physical, _e.Range))) { _e.Cast(); } } } if (MenuProvider.Champion.Misc.GetBoolValue("Use Mobsteal (With E)")) { if (_e.IsReadyPerfectly()) { if ( MinionManager.GetMinions(_e.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth) .Any( x => HealthPrediction.GetHealthPrediction(x, 500) > 0 && x.IsKillableAndValidTarget(_e.GetDamage(x), TargetSelector.DamageType.Physical))) { _e.Cast(); } } } if (MenuProvider.Champion.Misc.GetBoolValue("Auto Steal Siege minion & Super minion (With E)")) { if (_e.IsReadyPerfectly()) { if ( MinionManager.GetMinions(_e.Range) .Any( x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.IsKillableAndValidTarget(_e.GetDamage(x), TargetSelector.DamageType.Physical) && (x.CharData.BaseSkinName.ToLower().Contains("siege") || x.CharData.BaseSkinName.ToLower().Contains("super")))) { _e.Cast(); } } } if (MenuProvider.Champion.Misc.GetBoolValue("Auto Balista Combo (With R)")) { if (_r.IsReadyPerfectly()) { var myBlitzcrank = HeroManager.Allies.FirstOrDefault( x => !x.IsDead && x.HasBuff("kalistacoopstrikeally") && x.ChampionName == "Blitzcrank"); if (myBlitzcrank != null) { var grabTarget = HeroManager.Enemies.FirstOrDefault(x => !x.IsDead && x.HasBuff("rocketgrab2")); if (grabTarget != null) { if (ObjectManager.Player.Distance(grabTarget) > myBlitzcrank.Distance(grabTarget)) { _r.Cast(); } } } } } if (MenuProvider.Champion.Misc.GetBoolValue("Auto E Harass (With E)")) { if (_e.IsReadyPerfectly()) { if ( !(MenuProvider.Champion.Misc.GetBoolValue("^ Don't do this in ComboMode") && MenuProvider.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)) { if (ObjectManager.Player.Mana - _e.ManaCost >= _e.ManaCost) { if (HeroManager.Enemies.Any(x => x.IsValidTarget(_e.Range) && _e.GetDamage(x) > 10)) { if ( MinionManager.GetMinions(_e.Range, MinionTypes.All, MinionTeam.NotAlly) .Any( x => HealthPrediction.GetHealthPrediction(x, 250) > 0 && x.IsKillableAndValidTarget(_e.GetDamage(x), TargetSelector.DamageType.Physical, _e.Range))) { _e.Cast(); } } } } } } if (MenuProvider.Champion.Misc.GetBoolValue("Auto W on Dragon or Baron (With W)")) { if (ObjectManager.Player.IsManaPercentOkay(50)) { if (!ObjectManager.Player.IsRecalling()) { if (ObjectManager.Player.Position.CountEnemiesInRange(1500f) <= 0) { if (MenuProvider.Orbwalker.GetTarget() == null) { if (_w.IsReadyPerfectly()) { if (ObjectManager.Player.Distance(_baronLocation) <= _w.Range) { _w.Cast(_baronLocation); } } if (_w.IsReadyPerfectly()) { if (ObjectManager.Player.Distance(_dragonLocation) <= _w.Range) { _w.Cast(_dragonLocation); } } } } } } } if (MenuProvider.Champion.Misc.GetKeyBindValue("Cast W on Dragon").Active) { if (_w.IsReadyPerfectly()) { if (ObjectManager.Player.Distance(_dragonLocation) <= _w.Range) { _w.Cast(_dragonLocation); } } } if (MenuProvider.Champion.Misc.GetKeyBindValue("Cast W on Baron").Active) { if (_w.IsReadyPerfectly()) { if (ObjectManager.Player.Distance(_baronLocation) <= _w.Range) { _w.Cast(_baronLocation); } } } } }
internal static void Flee() { if (!KL.CatForm() && KL.Spells["Aspect"].IsReady()) { if (KL.SpellTimer["Pounce"].IsReady()) { KL.Spells["Aspect"].Cast(); } } var wallCheck = KL.GetFirstWallPoint(KL.Player.Position, Game.CursorPos); if (wallCheck != null) { wallCheck = KL.GetFirstWallPoint((Vector3)wallCheck, Game.CursorPos, 5); } var movePosition = wallCheck != null ? (Vector3)wallCheck : Game.CursorPos; var tempGrid = NavMesh.WorldToGrid(movePosition.X, movePosition.Y); var fleeTargetPosition = NavMesh.GridToWorld((short)tempGrid.X, (short)tempGrid.Y); Obj_AI_Base target = null; var wallJumpPossible = false; if (KL.CatForm() && KL.SpellTimer["Pounce"].IsReady() && wallCheck != null) { var wallPosition = movePosition; var direction = (Game.CursorPos.To2D() - wallPosition.To2D()).Normalized(); float maxAngle = 80f; float step = maxAngle / 20; float currentAngle = 0; float currentStep = 0; bool jumpTriggered = false; while (true) { if (currentStep > maxAngle && currentAngle < 0) { break; } if ((currentAngle == 0 || currentAngle < 0) && currentStep != 0) { currentAngle = (currentStep) * (float)Math.PI / 180; currentStep += step; } else if (currentAngle > 0) { currentAngle = -currentAngle; } Vector3 checkPoint; if (currentStep == 0) { currentStep = step; checkPoint = wallPosition + KL.Spells["Pounce"].Range * direction.To3D(); } else { checkPoint = wallPosition + KL.Spells["Pounce"].Range * direction.Rotated(currentAngle).To3D(); } if (checkPoint.IsWall()) { continue; } wallCheck = KL.GetFirstWallPoint(checkPoint, wallPosition); if (wallCheck == null) { continue; } var wallPositionOpposite = (Vector3)KL.GetFirstWallPoint((Vector3)wallCheck, wallPosition, 5); if (KL.Player.GetPath(wallPositionOpposite).ToList().To2D().PathLength() - KL.Player.Distance(wallPositionOpposite) > 200) { if (KL.Player.Distance(wallPositionOpposite) < KL.Spells["Pounce"].Range - KL.Player.BoundingRadius / 2) { KL.Spells["Pounce"].Cast(wallPositionOpposite); jumpTriggered = true; break; } else { wallJumpPossible = true; } } else { Render.Circle.DrawCircle(Game.CursorPos, 35, Color.Red, 2); } } if (!jumpTriggered) { Orbwalking.Orbwalk(target, Game.CursorPos, 90f, 35f); } } else { Orbwalking.Orbwalk(target, Game.CursorPos, 90f, 35f); if (KL.CatForm() && KL.SpellTimer["Pounce"].IsReady()) { KL.Spells["Pounce"].Cast(Game.CursorPos); } } }