private static void onLoad(EventArgs args) { Config = new Menu("Standalone DW", "standDW", true); //Config.AddSubMenu(new Menu("Orbwalker", "Orbwalker")); DeathWalker.AddToMenu(Config); Config.AddToMainMenu(); }
public static void useQSmart(Obj_AI_Base target) { try { if (!Q.IsReady() || target.Path.Count() == 0 || !target.IsMoving) { return; } Vector2 nextEnemPath = target.Path[0].To2D(); var dist = player.Position.To2D().Distance(target.Position.To2D()); var distToNext = nextEnemPath.Distance(player.Position.To2D()); if (distToNext <= dist) { return; } var msDif = player.MoveSpeed - target.MoveSpeed; if (msDif <= 0 && !DeathWalker.inAutoAttackRange(target) && DeathWalker.canAttack()) { Q.Cast(target); } var reachIn = dist / msDif; if (reachIn > 4) { Q.Cast(target); } } catch (Exception) { throw; } }
public static void useESmart(Obj_AI_Base target) { if (DeathWalker.inAutoAttackRange(target) && E.IsReady() && (aaToKill(target) > 2 || iAmLow())) { E.Cast(MasterSharp.Config.Item("packets").GetValue <bool>()); } }
public static void useRSmart(Obj_AI_Base target) { if (DeathWalker.inAutoAttackRange(target) && R.IsReady() && aaToKill(target) > 5) { R.Cast(MasterSharp.Config.Item("packets").GetValue <bool>()); } }
public static bool moveToRelicIfForHeal() { try { if (ObjectManager.Player.Hero == EloBuddy.Champion.Corki) { return(false); } var relicHeal = MapControl.ClosestRelic(); if (relicHeal != null) { var dist = relicHeal.Distance(player); var bonus = ((50 - dist / 20) > 0) ? (50 - dist / 20) : 0; bool needHeal = player.HealthPercent + (float)agrobalance / 5 - (tankBal / 2.5) < 39 + bonus; if (dist < 100 && !relicHeal.IsMoving) { MapControl.usedRelics.Add(relicHeal.NetworkId); } if ((needHeal && player.HealthPercent > 18 && MapControl.fightIsOn() == null) || (!relicHeal.Name.Contains("Health")) && dist < 2500) { DeathWalker.deathWalk(relicHeal.Position); return(true); } } return(false); } catch (Exception e) { Console.WriteLine(e); return(false); } }
private int hitOnTar(Obj_AI_Base tar) { if (tar == null) { return(int.MaxValue); } int addTime = 0; if (DeathWalker.inAutoAttackRange(source, tar))//+ check if want to move to killabel minion and range it wants to { var realDist = DeathWalker.realDistanceTill(source, target); var aaRange = DeathWalker.getRealAutoAttackRange(source, tar); addTime += (int)(((realDist - aaRange) * 1000) / source.MoveSpeed); } if (source.IsMelee || DeathWalker.azir) { return((int)(createdTick + source.AttackCastDelay * 1000) + addTime); } else { return(createdTick + (int)((source.Position.Distance(tar.Position) * 1000) / (source.BasicAttack.MissileSpeed)) + ((source is Obj_AI_Turret) ? towerDamageDelay : 0) + addTime);//lil delay cus dunno l8er could try to values what says delay of dmg dealing } }
public void ExecLaneClear() { var useQ = Program.Config.Item("UseQL").GetValue <StringList>().SelectedIndex; var minion = MinionManager.GetMinions(ObjectManager.Player.Position, Q.Range) .FirstOrDefault(m => m.Health < ObjectManager.Player.GetSpellDamage(m, SpellSlot.Q)); if (minion != null) { switch (useQ) { case 1: minion = MinionManager.GetMinions(ObjectManager.Player.Position, Q.Range) .FirstOrDefault( m => m.Health <ObjectManager.Player.GetSpellDamage(m, SpellSlot.Q) && m.Health> ObjectManager.Player.TotalAttackDamage); Q.Cast(minion); break; case 2: minion = MinionManager.GetMinions(ObjectManager.Player.Position, Q.Range) .FirstOrDefault( m => m.Health <ObjectManager.Player.GetSpellDamage(m, SpellSlot.Q) && ObjectManager.Player.Distance(m) > DeathWalker.getRealAutoAttackRange(null) + 65); Q.Cast(minion); break; } } }
public override void useSpells() { var target = ARAMTargetSelector.getBestTarget(DeathWalker.getTargetSearchDist()); var Etarget = ARAMTargetSelector.getBestTarget(E.Range); var RTarget = ARAMTargetSelector.getBestTarget(2000f); CatchAxes(); if (target.IsValidTarget()) { CastQ(); } if (Etarget.IsValidTarget()) { CastE(Etarget); } if (RTarget.IsValidTarget()) { CastRExecute(RTarget); } if (RTarget.IsValidTarget()) { RExecute(RTarget); } if (RTarget.IsValidTarget()) { RMostDamange(RTarget); } }
public void farmE() { if (Farm && !DeathWalker.canAttack()) { var mobs = MinionManager.GetMinions(player.ServerPosition, E.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth); if (mobs.Count > 0) { var mob = mobs[0]; E.Cast(mob, true); return; } var minions = MinionManager.GetMinions(player.ServerPosition, E.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.MaxHealth); foreach (var minion in minions.Where(minion => minion.Health > player.GetAutoAttackDamage(minion) && FarmId != minion.NetworkId)) { var eDmg = E.GetDamage(minion); if (minion.HasBuff("chilled")) { eDmg = 2 * eDmg; } if (minion.Health < eDmg * 0.9) { E.Cast(minion); } } } }
public Standalone() { Config = new Menu("Standalone DW", "standDW", true); Config.AddSubMenu(new Menu("Orbwalker", "Orbwalker")); DeathWalker.AddToMenu(Config.SubMenu("Orbwalker")); Config.AddToMainMenu(); }
private static void afterAttack(AttackableUnit unit, AttackableUnit target) { if (MasterYi.W.IsReady() && Config.Item("comboWreset").GetValue <bool>() && Config.Item("useWatHP").GetValue <Slider>().Value >= MasterYi.player.HealthPercent && target is Obj_AI_Hero && DeathWalker.CurrentMode == DeathWalker.Mode.Combo) { MasterYi.W.Cast(); Utility.DelayAction.Add(100, delegate { DeathWalker.resetAutoAttackTimer(); }); } }
public override void Game_OnGameUpdate(EventArgs args) { if (Q.IsReady() && GetValue <KeyBind>("UseQTH").Active) { if (ObjectManager.Player.HasBuff("Recall")) { return; } var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { Q.Cast(t, false, true); } } if ((!ComboActive && !HarassActive) || !DeathWalker.canMove()) { return; } var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); var useW = GetValue <bool>("UseW" + (ComboActive ? "C" : "H")); var useR = GetValue <bool>("UseR" + (ComboActive ? "C" : "H")); if (Q.IsReady() && useQ) { var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { Q.Cast(t, false, true); } } if (W.IsReady() && useW) { var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(W.Range) && (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) || t.HasBuff("zhonyasringshield") || t.HasBuff("Recall"))) { W.Cast(t, false, true); } } if (R.IsReady() && useR) { foreach ( var hero in ObjectManager.Get <Obj_AI_Hero>() .Where( hero => hero.IsValidTarget(R.Range) && ObjectManager.Player.GetSpellDamage(hero, SpellSlot.R, 1) - 20 > hero.Health)) { R.Cast(hero, false, true); } } }
public override void farm() { Obj_AI_Base target = (Obj_AI_Base)DeathWalker.getBestTarget(); if (target is Obj_AI_Minion && W.IsKillable(target)) { useWSmart(target); } }
public void Catch(bool shouldUseWForIt, PossibleReticle Axe) { if (shouldUseWForIt && W.IsReady() && !Axe.isCatchingNow()) { W.Cast(); } DeathWalker.CustomOrbwalkMode = true; DeathWalker.deathWalkTarget(Axe.Position.Extend(player.Position, player.BoundingRadius - 100), DeathWalker.getBestTarget()); }
public static void UseSummoners() { if (ObjectManager.Player.IsDead) { return; } const int xDangerousRange = 1100; if (Config.Item("SUMHEALENABLE").GetValue <bool>()) { var xSlot = ObjectManager.Player.GetSpellSlot("summonerheal"); var xCanUse = ObjectManager.Player.Health <= ObjectManager.Player.MaxHealth / 100 * Config.Item("SUMHEALSLIDER").GetValue <Slider>().Value; if (xCanUse && !ObjectManager.Player.InShop() && (xSlot != SpellSlot.Unknown || ObjectManager.Player.Spellbook.CanUseSpell(xSlot) == SpellState.Ready) && ObjectManager.Player.CountEnemiesInRange(xDangerousRange) > 0) { ObjectManager.Player.Spellbook.CastSpell(xSlot); } } if (Config.Item("SUMBARRIERENABLE").GetValue <bool>()) { var xSlot = ObjectManager.Player.GetSpellSlot("summonerbarrier"); var xCanUse = ObjectManager.Player.Health <= ObjectManager.Player.MaxHealth / 100 * Config.Item("SUMBARRIERSLIDER").GetValue <Slider>().Value; if (xCanUse && !ObjectManager.Player.InShop() && (xSlot != SpellSlot.Unknown || ObjectManager.Player.Spellbook.CanUseSpell(xSlot) == SpellState.Ready) && ObjectManager.Player.CountEnemiesInRange(xDangerousRange) > 0) { ObjectManager.Player.Spellbook.CastSpell(xSlot); } } if (Config.Item("SUMIGNITEENABLE").GetValue <bool>()) { var xSlot = ObjectManager.Player.GetSpellSlot("summonerdot"); var t = DeathWalker.getBestTarget() as Obj_AI_Hero; if (t != null && xSlot != SpellSlot.Unknown && ObjectManager.Player.Spellbook.CanUseSpell(xSlot) == SpellState.Ready) { if (ObjectManager.Player.Distance(t) < 650 && ObjectManager.Player.GetSummonerSpellDamage(t, Damage.SummonerSpell.Ignite) >= t.Health) { ObjectManager.Player.Spellbook.CastSpell(xSlot, t); } } } }
private void OnNewPath(Obj_AI_Base sender, GameObjectNewPathEventArgs args) { if (sender.IsMe && !args.IsDash) { if (resetAaonNewPath) { resetAaonNewPath = false; DeathWalker.resetAutoAttackTimer(); } } }
public bool minionThere() { var List = MinionManager.GetMinions(player.Position, DeathWalker.getTargetSearchDist()) .Where(m => HealthPrediction.GetHealthPrediction(m, (int)(player.Distance(m) / Orbwalking.GetMyProjectileSpeed()) * 1000) <= Q.GetDamage(m) + player.GetAutoAttackDamage(m) ).ToList(); // Game.PrintChat("QDmg "+Q.GetDamage(List.FirstOrDefault())); return(List.Count > 0); }
public static Obj_AI_Base getMinUnderTower() { foreach (var tAttack in DtsHealthPrediction.ActiveAttacksTower) { var enem = tAttack.Value.Target; if (enem.IsValidTarget() && enem is Obj_AI_Minion && enem.IsEnemy && DeathWalker.inAutoAttackRange(enem)) { return(tAttack.Value.Target); } } return(null); }
public static void slayMaderDuker(Obj_AI_Base target) { try { if (target == null) { return; } if (MasterSharp.Config.Item("useSmite").GetValue <bool>()) { useSmiteOnTarget(target); } if (target.Distance(player) < 500) { sumItems.cast(SummonerItems.ItemIds.Ghostblade); } if (target.Distance(player) < 300) { sumItems.cast(SummonerItems.ItemIds.Hydra); } if (target.Distance(player) < 300) { sumItems.cast(SummonerItems.ItemIds.Tiamat); } if (target.Distance(player) < 300) { sumItems.cast(SummonerItems.ItemIds.Cutlass, target); } if (target.Distance(player) < 500 && (player.Health / player.MaxHealth) * 100 < 85) { sumItems.cast(SummonerItems.ItemIds.BotRK, target); } if (MasterSharp.Config.Item("useQ").GetValue <bool>() && (DeathWalker.canMove() || Q.IsKillable(target))) { useQSmart(target); } if (MasterSharp.Config.Item("useE").GetValue <bool>()) { useESmart(target); } if (MasterSharp.Config.Item("useR").GetValue <bool>()) { useRSmart(target); } } catch (Exception ex) { Console.WriteLine(ex); } }
public static void doHarass(Obj_AI_Hero target) { if (target == null || !target.IsValid || player.Mana < 200) { return; } if (!DeathWalker.inAutoAttackRange(target)) { useQonTarg(target, QhitChance.medium); } }
public override void killSteal() { if (E.IsCharging || eActive) { DeathWalker.setAttack(false); DeathWalker.setMovement(false); } else { DeathWalker.setAttack(true); DeathWalker.setMovement(true); } }
public override void Drawing_OnDraw(EventArgs args) { Spell[] spellList = { Q, W, E, R }; foreach (var spell in spellList) { var menuItem = GetValue <Circle>("Draw" + spell.Slot); if (menuItem.Active) { Render.Circle.DrawCircle(ObjectManager.Player.Position, spell.Slot == SpellSlot.W ? DeathWalker.getRealAutoAttackRange(null) + 65 + W.Range : spell.Range, menuItem.Color); } } }
public static void evadeBuff(BuffInstance buf, TargetedSkills.TargSkill skill) { if (Q.IsReady() && jumpEnesAround() != 0 && buf.EndTime - Game.Time < skill.delay / 1000) { //Console.WriteLine("evade buuf"); useQonBest(); } else if (W.IsReady() && (!Q.IsReady() || jumpEnesAround() != 0) && buf.EndTime - Game.Time < 0.4f) { var dontMove = 400; DeathWalker.disableMovementFor(dontMove); W.Cast(); } }
public void gatherAze() { DeathWalker.CustomOrbwalkMode = false; if (olafAxe == null) { return; } if (!safeGap(olafAxe.Position.To2D())) { return; } DeathWalker.CustomOrbwalkMode = true; DeathWalker.deathWalkTarget(olafAxe.Position, DeathWalker.getBestTarget()); }
public void doAttack() { List<AIHeroClient> enes = getEnemiesInSolRange(); if (enes != null) { foreach (var ene in enes) { if (DeathWalker.canMove() && DeathWalker.canAttack() && solisAreStill()) { //DeathWalker. = DeathWalker.now; EloBuddy.Player.IssueOrder(GameObjectOrder.AttackUnit, ene); } } } }
void FocusTarget() { foreach ( var hero in DeathWalker.AllEnemys .Where(hero => hero.IsValidTarget(DeathWalker.getRealAutoAttackRange(player, hero)))) { foreach (var b in hero.Buffs) { if (b.Name == "vaynesilvereddebuff" && b.Count == 2) { DeathWalker.ForcedTarget = hero; return; } } } }
private void OnPlayAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args) { if (sender.IsMe && args.Animation != "Run") { if (args.Animation.Contains("pell")) { Utility.DelayAction.Add(Game.Ping, delegate { cancelAnim(args.Animation.Contains("Spell1")); }); } var targ = (Obj_AI_Base)DeathWalker.getBestTarget(); if (targ != null && targ is Obj_AI_Base) { if (args.Animation == "Spell3" && R.IsReady()) { useRSmart(targ, true); //Utility.DelayAction.Add(10, // delegate { Riven.useRSmart(targ,true); }); } if (sender.IsMe && args.Animation == "Spell3" && Q.IsReady()) { Console.WriteLine("force W"); Utility.DelayAction.Add(30, delegate { useWSmart(targ, false, true); }); //Riven.Q.Cast(targ.Position); //Riven.forceQ = true; // Riven.timer = new System.Threading.Timer(obj => { Riven.Player.IssueOrder(GameObjectOrder.MoveTo, Riven.difPos()); }, null, (long)100, System.Threading.Timeout.Infinite); } if (sender.IsMe && args.Animation == "Spell2" && Q.IsReady()) { Utility.DelayAction.Add(30, delegate { Q.Cast(targ.Position); }); Aggresivity.addAgresiveMove(new AgresiveMove(30, 3000)); //Console.WriteLine("force q"); // Riven.forceQ = true; // Riven.timer = new System.Threading.Timer(obj => { Riven.Player.IssueOrder(GameObjectOrder.MoveTo, Riven.difPos()); }, null, (long)100, System.Threading.Timeout.Infinite); } // useHydra(Obj_AI_Base target) } } }
public static Obj_AI_Base shouldWait() { EnemyMinions = MinionManager.GetMinions(player.Position, 1500); foreach (var enemyMinion in EnemyMinions) { if (!DeathWalker.inAutoAttackRange(enemyMinion)) { continue; } var minHealthPred = DamagePrediction.getPred(enemyMinion, DamagePrediction.PredType.PRED_TWO_HITS); var dmgOnMinion = player.GetAutoAttackDamage(enemyMinion, true); if (minHealthPred <= dmgOnMinion) { return(enemyMinion); } } return(null); }
public static Obj_AI_Base findKillable() { EnemyMinions = MinionManager.GetMinions(player.Position, 1500); foreach (var enemyMinion in EnemyMinions) { if (!DeathWalker.inAutoAttackRange(enemyMinion)) { continue; } var minHealthPred = DamagePrediction.getPred(enemyMinion, DamagePrediction.PredType.PRED_LAST_HIT); var dmgOnMinion = player.GetAutoAttackDamage(enemyMinion, true); if (minHealthPred <= dmgOnMinion && minHealthPred > lowerLimit) { return(enemyMinion); } } return(null); }
public void cancelAnim(bool aaToo = false) { if (aaToo) { resetAaonNewPath = true; } Game.Say("/d"); player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); if (DeathWalker.getBestTarget() != null) { if (W.IsReady()) { useWSmart((Obj_AI_Base)DeathWalker.getBestTarget()); } } // Packet.C2S.Cast.Encoded(new Packet.C2S.Cast.Struct(fill iterator up)).Send(); }