Exemplo n.º 1
0
 private static void onLoad(EventArgs args)
 {
     Config = new Menu("Standalone DW", "standDW", true);
     //Config.AddSubMenu(new Menu("Orbwalker", "Orbwalker"));
     DeathWalker.AddToMenu(Config);
     Config.AddToMainMenu();
 }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
 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>());
     }
 }
Exemplo n.º 4
0
 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>());
     }
 }
Exemplo n.º 5
0
 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);
     }
 }
Exemplo n.º 6
0
            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
                }
            }
Exemplo n.º 7
0
        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;
                }
            }
        }
Exemplo n.º 8
0
        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);
            }
        }
Exemplo n.º 9
0
        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);
                    }
                }
            }
        }
Exemplo n.º 10
0
        public Standalone()
        {
            Config = new Menu("Standalone DW", "standDW", true);
            Config.AddSubMenu(new Menu("Orbwalker", "Orbwalker"));
            DeathWalker.AddToMenu(Config.SubMenu("Orbwalker"));

            Config.AddToMainMenu();
        }
Exemplo n.º 11
0
 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(); });
     }
 }
Exemplo n.º 12
0
        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);
                }
            }
        }
Exemplo n.º 13
0
        public override void farm()
        {
            Obj_AI_Base target = (Obj_AI_Base)DeathWalker.getBestTarget();

            if (target is Obj_AI_Minion && W.IsKillable(target))
            {
                useWSmart(target);
            }
        }
Exemplo n.º 14
0
 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());
 }
Exemplo n.º 15
0
        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);
                    }
                }
            }
        }
Exemplo n.º 16
0
 private void OnNewPath(Obj_AI_Base sender, GameObjectNewPathEventArgs args)
 {
     if (sender.IsMe && !args.IsDash)
     {
         if (resetAaonNewPath)
         {
             resetAaonNewPath = false;
             DeathWalker.resetAutoAttackTimer();
         }
     }
 }
Exemplo n.º 17
0
        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);
        }
Exemplo n.º 18
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);
 }
Exemplo n.º 19
0
        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);
            }
        }
Exemplo n.º 20
0
        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);
            }
        }
Exemplo n.º 21
0
 public override void killSteal()
 {
     if (E.IsCharging || eActive)
     {
         DeathWalker.setAttack(false);
         DeathWalker.setMovement(false);
     }
     else
     {
         DeathWalker.setAttack(true);
         DeathWalker.setMovement(true);
     }
 }
Exemplo n.º 22
0
 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);
         }
     }
 }
Exemplo n.º 23
0
 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();
     }
 }
Exemplo n.º 24
0
 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());
 }
Exemplo n.º 25
0
 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);
             }
         }
     }
 }
Exemplo n.º 26
0
 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;
             }
         }
     }
 }
Exemplo n.º 27
0
        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)
                }
            }
        }
Exemplo n.º 28
0
 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);
 }
Exemplo n.º 29
0
 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);
 }
Exemplo n.º 30
0
        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();
        }