Example #1
0
        //private static void OnGapcloser(AIHeroClient target, GapcloserArgs Args)
        //{
        //    if (R.IsReady() && target != null && target.IsValidTarget(R.Range))
        //    {
        //        switch (Args.Type)
        //        {
        //            case SpellType.Melee:
        //                if (target.IsValidTarget(target.AttackRange + target.BoundingRadius + 100))
        //                {
        //                    R.CastOnUnit(target);
        //                }
        //                break;
        //            case SpellType.Dash:
        //            case SpellType.SkillShot:
        //            case SpellType.Targeted:
        //                {
        //                    R.CastOnUnit(target);
        //                }
        //                break;
        //        }
        //    }
        //}

        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type == OrbwalkerType.BeforeAttack)
            {
                if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0)
                {
                    return;
                }

                switch (Args.Target.Type)
                {
                case GameObjectType.AIHeroClient:
                {
                    var target = (AIHeroClient)Args.Target;
                    if (target != null && target.IsValidTarget())
                    {
                        if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                        {
                            if (MiscOption.GetBool("Forcus", "Forcustarget").Enabled)
                            {
                                foreach (
                                    var forcusTarget in
                                    GameObjects.EnemyHeroes.Where(
                                        x => x.InAutoAttackRange() && x.HasBuff("TristanaEChargeSound")))
                                {
                                    Orbwalker.ForceTarget = forcusTarget;
                                    LastForcusTime        = Variables.GameTimeTickCount;
                                }
                            }

                            if (ComboOption.UseQ && Q.IsReady())
                            {
                                if (target.HasBuff("TristanaEChargeSound") || target.HasBuff("TristanaECharge"))
                                {
                                    Q.Cast();
                                }

                                if (ComboOption.GetBool("ComboQAlways").Enabled)
                                {
                                    Q.Cast();
                                }
                            }
                        }
                        else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass ||
                                 Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellFarm)
                        {
                            if (MiscOption.GetBool("Forcus", "Forcustarget").Enabled)
                            {
                                foreach (
                                    var forcusTarget in
                                    GameObjects.EnemyHeroes.Where(
                                        x => x.InAutoAttackRange() && x.HasBuff("TristanaEChargeSound")))
                                {
                                    Orbwalker.ForceTarget = forcusTarget;
                                    LastForcusTime        = Variables.GameTimeTickCount;
                                }
                            }
                        }
                    }
                }
                break;

                case GameObjectType.AIMinionClient:
                {
                    var mob = (AIMinionClient)Args.Target;
                    if (mob != null && mob.IsValidTarget() && mob.GetJungleType() != JungleType.Unknown)
                    {
                        if (JungleClearOption.HasEnouguMana())
                        {
                            if (JungleClearOption.UseQ && Q.IsReady())
                            {
                                Q.Cast();
                            }
                        }
                    }
                }
                break;
                }
            }

            if (Args.Type == OrbwalkerType.AfterAttack)
            {
                Orbwalker.ForceTarget = null;

                if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0)
                {
                    return;
                }

                switch (Args.Target.Type)
                {
                case GameObjectType.AIHeroClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                    {
                        var target = (AIHeroClient)Args.Target;
                        if (target != null && target.IsValidTarget(E.Range))
                        {
                            if (ComboOption.UseE && E.IsReady() && ComboOption.GetBool("ComboEOnlyAfterAA").Enabled)
                            {
                                E.CastOnUnit(target);
                            }
                        }
                    }
                }
                break;

                case GameObjectType.AITurretClient:
                case GameObjectType.HQClient:
                case GameObjectType.Barracks:
                case GameObjectType.BarracksDampenerClient:
                case GameObjectType.BuildingClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellFarm && LaneClearOption.HasEnouguMana(true))
                    {
                        if (Me.CountEnemyHeroesInRange(800) == 0)
                        {
                            if (LaneClearOption.UseE && E.IsReady())
                            {
                                E.CastOnUnit(Args.Target as AIBaseClient);

                                if (LaneClearOption.UseQ && Q.IsReady())
                                {
                                    Q.Cast();
                                }
                            }
                        }
                    }
                }
                break;
                }
            }
        }
Example #2
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q, 650f)
            {
                Delay = 0.35f
            };

            Q2 = new Spell(SpellSlot.Q, 900f);
            Q2.SetSkillshot(0.35f, 25f, int.MaxValue, false, true, SkillshotType.Line);

            W = new Spell(SpellSlot.W, 1000f);
            W.SetSkillshot(0.30f, 80f, 1600f, true, true, SkillshotType.Line);

            W2 = new Spell(SpellSlot.W, 1000f);
            W2.SetSkillshot(0.30f, 80f, 1600f, false, true, SkillshotType.Line);

            E = new Spell(SpellSlot.E, 425f);

            R = new Spell(SpellSlot.R, 1200f);
            R.SetSkillshot(0.10f, 110f, 2500f, true, true, SkillshotType.Line);

            R2 = new Spell(SpellSlot.R, 1200f);
            R2.SetSkillshot(0.10f, 110f, 2500f, false, true, SkillshotType.Line);


            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddBool("ComboQExtend", "Use Q Extend", false);
            ComboOption.AddW();
            ComboOption.AddBool("ComboWLogic", "Use W |Logic Cast");
            ComboOption.AddBool("ComboEDash", "Use E Dash to target");
            ComboOption.AddBool("ComboEReset", "Use E Reset Auto Attack");
            ComboOption.AddBool("ComboESafe", "Use E| Safe Check");
            ComboOption.AddBool("ComboEWall", "Use E| Dont Dash to Wall");
            ComboOption.AddBool("ComboEShort", "Use E| Enabled the Short E Logic");
            ComboOption.AddR();

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddBool("HarassQExtend", "Use Q Extend");
            HarassOption.AddW(false);
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddW();
            LaneClearOption.AddE();
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddW();
            JungleClearOption.AddE();
            JungleClearOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddQ();
            KillStealOption.AddW();

            //GapcloserOption.AddMenu();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddR();
            MiscOption.AddKey("R", "SemiRKey", "Semi-manual R Key", Keys.T, KeyBindType.Press);

            DrawOption.AddMenu();
            DrawOption.AddQ(Q);
            DrawOption.AddQExtend(Q2);
            DrawOption.AddW(W);
            DrawOption.AddR(R);
            DrawOption.AddDamageIndicatorToHero(true, true, false, true, true);

            Tick.OnTick += OnUpdate;
            AIBaseClient.OnPlayAnimation    += OnPlayAnimation;
            Spellbook.OnCastSpell           += OnCastSpell;
            AIBaseClient.OnProcessSpellCast += OnProcessSpellCast;
            Orbwalker.OnAction += OnAction;
            //Gapcloser.OnGapcloser += OnGapcloser;
        }
Example #3
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q, 825f);
            Q.SetSkillshot(0.30f, 200f, 1000f, false, false, SkillshotType.Circle);

            W = new Spell(SpellSlot.W, 800f);

            E = new Spell(SpellSlot.E, 600f);

            R = new Spell(SpellSlot.R, rRange);
            R.SetSkillshot(0.20f, 50f, 2000f, true, false, SkillshotType.Line);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddE();
            ComboOption.AddR();
            ComboOption.AddSlider("ComboRLimit", "Use R|Limit Stack >= x", 0, 0, 7);
            ComboOption.AddSlider("ComboRHP", "Use R|Target HealthPercent <= x%", 100, 1, 101);

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddE();
            HarassOption.AddR();
            HarassOption.AddSlider("HarassRLimit", "Use R|Limit Stack >= x", 4, 0, 7);
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddSlider("LaneClearQCount", "Use Q|Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddE();
            LaneClearOption.AddSlider("LaneClearECount", "Use E|Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddR();
            LaneClearOption.AddSlider("LaneClearRCount", "Use R|Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddSlider("LaneClearRLimit", "Use R|Limit Stack >= x", 4, 0, 7);
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddE();
            JungleClearOption.AddR();
            JungleClearOption.AddSlider("JungleClearRLimit", "Use R|Limit Stack >= x", 0, 0, 7);
            JungleClearOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddQ();
            KillStealOption.AddR();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddR();
            MiscOption.AddKey("R", "SemiR", "Semi-manual R Key", Keys.T, KeyBindType.Press);

            DrawOption.AddMenu();
            DrawOption.AddQ(Q);
            DrawOption.AddW(W);
            DrawOption.AddE(E);
            DrawOption.AddR(R);
            DrawOption.AddDamageIndicatorToHero(true, false, true, true, true);

            Tick.OnTick        += OnUpdate;
            Orbwalker.OnAction += OnAction;
        }
Example #4
0
        internal static void Init()
        {
            Q = new Spell(SpellSlot.Q, 1150f)
            {
                MinHitChance = HitChance.VeryHigh
            };
            W  = new Spell(SpellSlot.W, 950f);
            E  = new Spell(SpellSlot.E, 475f);
            R  = new Spell(SpellSlot.R, 10000f);
            EQ = new Spell(SpellSlot.Q, 1150f + 475f);

            EQ.SetSkillshot(0.25f + 0.65f, 60f, 2000f, true, SkillshotType.SkillshotLine);
            Q.SetSkillshot(0.25f, 60f, 2000f, true, SkillshotType.SkillshotLine);
            W.SetSkillshot(0.25f, 80f, 1600f, false, SkillshotType.SkillshotLine);
            R.SetSkillshot(1.1f, 160f, 2000f, false, SkillshotType.SkillshotLine);

            ComboOption.AddQ();
            ComboOption.AddW();
            ComboOption.AddE();
            ComboOption.AddBool("ComboECheck", "Use E | Safe Check");
            ComboOption.AddBool("ComboEWall", "Use E | Wall Check");
            ComboOption.AddR();

            HarassOption.AddQ();
            HarassOption.AddW();
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddQ();
            LaneClearOption.AddBool("LaneClearQLH", "Use Q| Only LastHit", false);
            LaneClearOption.AddW();
            LaneClearOption.AddMana();

            JungleClearOption.AddQ();
            JungleClearOption.AddMana();

            LastHitOption.AddQ();
            LastHitOption.AddMana();

            FleeOption.AddMove();

            KillStealOption.AddQ();
            KillStealOption.AddW();

            MiscOption.AddE();
            MiscOption.AddBool("Gapcloser", "Anti GapCloser");
            MiscOption.AddBool("AntiMelee", "Anti Melee");
            MiscOption.AddSlider("AntiMeleeHp", "Anti Melee|When Player HealthPercent <= x%", 50);
            MiscOption.AddR();
            MiscOption.AddBool("AutoR", "Auto R?");
            MiscOption.AddSlider("RRange", "Use R |Min Cast Range >= x", 800, 0, 1500);
            MiscOption.AddSlider("RMaxRange", "Use R |Max Cast Range >= x", 3000, 1500, 5000);
            MiscOption.AddSlider("RMinCast", "Use R| Min Hit Enemies >= x (6 = off)", 2, 1, 6);
            MiscOption.AddKey("SemiR", "Semi-manual R Key", SharpDX.DirectInput.Key.T);
            MiscOption.AddSetting("Mode");
            MiscOption.AddList("PlayMode", "Play Mode: ", new[] { "AD", "AP" });

            DrawOption.AddQ();
            DrawOption.AddW();
            DrawOption.AddE();
            DrawOption.AddFarm();
            DrawOption.AddEvent();

            Game.OnUpdate                  += OnUpdate;
            Orbwalker.BeforeAttack         += BeforeAttack;
            Orbwalker.AfterAttack          += AfterAttack;
            AntiGapcloser.OnEnemyGapcloser += OnEnemyGapcloser;
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
        }
Example #5
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs =
                    GameObjects.Jungle.Where(x => x.IsValidTarget(bigGunRange) && x.GetJungleType() != JungleType.Unknown)
                    .OrderByDescending(x => x.MaxHealth)
                    .ToList();

                if (mobs.Any())
                {
                    if (JungleClearOption.UseW && W.IsReady() &&
                        mobs.FirstOrDefault(x => x.GetJungleType() != JungleType.Unknown) != null)
                    {
                        W.Cast(mobs.FirstOrDefault(x => !x.Name.ToLower().Contains("mini")));
                    }

                    if (JungleClearOption.UseQ && Q.IsReady())
                    {
                        if (Me.HasBuff("JinxQ"))
                        {
                            foreach (var mob in mobs)
                            {
                                var count = ObjectManager.Get <AIMinionClient>().Count(x => x.Distance(mob) <= 150);

                                if (mob.DistanceToPlayer() <= bigGunRange)
                                {
                                    if (count < 2)
                                    {
                                        if (Orbwalker.CanAttack())
                                        {
                                            Q.Cast();
                                        }
                                    }
                                    else if (mob.Health > Me.GetAutoAttackDamage(mob) * 1.1f)
                                    {
                                        if (Orbwalker.CanAttack())
                                        {
                                            Q.Cast();
                                        }
                                    }
                                }
                            }

                            if (mobs.Count < 2)
                            {
                                if (Orbwalker.CanAttack())
                                {
                                    Q.Cast();
                                }
                            }
                        }
                        else
                        {
                            foreach (var mob in mobs)
                            {
                                var count = ObjectManager.Get <AIMinionClient>().Count(x => x.Distance(mob) <= 150);

                                if (mob.DistanceToPlayer() <= bigGunRange)
                                {
                                    if (count >= 2)
                                    {
                                        if (Orbwalker.CanAttack())
                                        {
                                            Q.Cast();
                                        }
                                    }
                                    else if (mob.Health < Me.GetAutoAttackDamage(mob) * 1.1f &&
                                             mob.DistanceToPlayer() > Q.Range)
                                    {
                                        if (Orbwalker.CanAttack())
                                        {
                                            Q.Cast();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    if (Me.HasBuff("JinxQ") && Q.IsReady())
                    {
                        Q.Cast();
                    }
                }
            }
            else
            {
                if (Me.HasBuff("JinxQ") && Q.IsReady())
                {
                    Q.Cast();
                }
            }
        }
Example #6
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q, 700f)
            {
                Delay = 0.25f, Speed = 1400f
            };

            Q2 = new Spell(SpellSlot.Q, 1300f);
            Q2.SetSkillshot(0.25f, 70f, 1500f, true, false, SkillshotType.Line);

            W = new Spell(SpellSlot.W);

            E = new Spell(SpellSlot.E, 1000f);
            E.SetSkillshot(0.5f, 200f, float.MaxValue, false, false, SkillshotType.Circle);

            R = new Spell(SpellSlot.R, 1350f);
            R.SetSkillshot(0.25f, 50f, 3000f, false, false, SkillshotType.Cone);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddBool("ComboQ1", "Use Q Extend");
            ComboOption.AddW();
            ComboOption.AddE();

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddBool("HarassQ1", "Use Q Extend");
            HarassOption.AddE();
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddE();
            LaneClearOption.AddSlider("LaneClearECount", "Use E| Min Hit Counts >= x", 3, 1, 5);
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddW();
            JungleClearOption.AddE();
            JungleClearOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddQ();
            KillStealOption.AddE();

            //GapcloserOption.AddMenu();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddR();
            MiscOption.AddKey("R", "SemiR", "Semi-manual R Key", Keys.T, KeyBindType.Press);

            DrawOption.AddMenu();
            DrawOption.AddQ(Q);
            DrawOption.AddE(E);
            DrawOption.AddR(R);
            DrawOption.AddDamageIndicatorToHero(true, false, true, true, true);

            Game.OnUpdate      += OnUpdate;
            Orbwalker.OnAction += OnAction;
            AIBaseClient.OnProcessSpellCast += OnProcessSpellCast;
            //Gapcloser.OnGapcloser += OnGapcloser;
        }
Example #7
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q, 300f);
            W = new Spell(SpellSlot.W);
            E = new Spell(SpellSlot.E, 650f)
            {
                Delay = 0.25f
            };
            R = new Spell(SpellSlot.R);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddBool("ComboAQA", "Use Q| After Attack");
            ComboOption.AddE();
            ComboOption.AddR();
            ComboOption.AddSlider("ComboRCount", "Use R| Enemies Count >= x", 2, 1, 5);
            ComboOption.AddSlider("ComboRHp", "Use R| And Player HealthPercent <= x%", 40, 0, 100);

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddBool("HarassQ2Passive", "Use Q| Only target have 2 Stack");
            HarassOption.AddE();
            HarassOption.AddBool("HarassE2Passive", "Use E| Only target have 2 Stack");
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddE();
            JungleClearOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddE();

            //GapcloserOption.AddMenu();

            MiscOption.AddMenu();
            MiscOption.AddSubMenu("Stealth", "Stealth Settings");
            MiscOption.AddList("Stealth", "HideSelect", "Enabled Mode: ", new[] { "Always Max Stealth Time", "Config", "Off" }, 1);
            MiscOption.AddBool("Stealth", "Hideinsolo", "Enabled Solo Stealth Config");
            MiscOption.AddSlider("Stealth", "Hideinsolomyhp", "When Player HealthPercent <= x%", 30);
            MiscOption.AddSlider("Stealth", "Hideinsolotargethp", "And Enemy HealthPercent => x%", 60);
            MiscOption.AddBool("Stealth", "Hideinmulti", "Enabled Team Fight Stealth Config");
            MiscOption.AddSlider("Stealth", "Hideinmultimyhp", "When Player HealthPercent <= x%", 70);
            MiscOption.AddSlider("Stealth", "HideinmultiallyCount", "And Allies Count <= x", 2, 0, 4);
            MiscOption.AddSlider("Stealth", "HideinmultienemyCount", "And Enemies Count >= x", 3, 2, 5);
            MiscOption.AddBasic();
            MiscOption.AddQ();
            MiscOption.AddBool("Q", "QCheck", "Auto Q| Safe Check");
            MiscOption.AddList("Q", "QTurret", "Auto Q| Disable Dash to Enemy Turret",
                               new[] { "Only Dash Q", "Only After Attack Q", "Both", "Off" });
            MiscOption.AddBool("Q", "QMelee", "Auto Q| Anti Melee");
            MiscOption.AddE();
            MiscOption.AddBool("E", "AntiGapcloserE", "Auto E| Anti Gapcloser");
            MiscOption.AddR();
            MiscOption.AddBool("R", "AutoR", "Auto R");
            MiscOption.AddSlider("R", "AutoRCount", "Auto R| Enemies Count >= x", 3, 1, 5);
            MiscOption.AddSlider("R", "AutoRRange", "Auto R| Search Enemies Range", 600, 500, 1200);
            MiscOption.AddSetting("Forcus");
            MiscOption.AddBool("Forcus", "ForcusAttack", "Forcus Attack 2 Passive Target");

            DrawOption.AddMenu();
            DrawOption.AddE(E);
            DrawOption.AddDamageIndicatorToHero(false, true, true, false, true);

            Game.OnUpdate      += OnUpdate;
            Orbwalker.OnAction += OnAction;
            //Gapcloser.OnGapcloser += OnGapcloser;
        }
Example #8
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q, 600f);

            W = new Spell(SpellSlot.W, 2500f);
            W.SetSkillshot(0.75f, 40f, 5000f, false, false, SkillshotType.Line);

            E = new Spell(SpellSlot.E, 750f);
            E.SetSkillshot(0.50f, 120f, 1600f, false, true, SkillshotType.Circle);

            R = new Spell(SpellSlot.R, 3500f);
            R.SetSkillshot(0.21f, 80f, 5000f, true, false, SkillshotType.Line);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddBool("ComboQMinion", "Use Q| On Minion", false);
            ComboOption.AddW();
            ComboOption.AddBool("ComboWAA", "Use W| After Attack");
            ComboOption.AddBool("ComboWOnly", "Use W| Only Use to MarkTarget");
            ComboOption.AddE();
            ComboOption.AddR();

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddBool("HarassQMinion", "Use Q| On Minion");
            HarassOption.AddW();
            HarassOption.AddBool("HarassWOnly", "Use W| Only Use to MarkTarget");
            HarassOption.AddE();
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddW();
            LaneClearOption.AddMana();
            LaneClearOption.AddBool("LaneClearReload", "Use Spell Clear| Only Jhin Reloading");

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddW();
            JungleClearOption.AddE();
            JungleClearOption.AddMana();

            LastHitOption.AddMenu();
            LastHitOption.AddQ();
            LastHitOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddQ();
            KillStealOption.AddW();
            KillStealOption.AddBool("KillStealWInAttackRange", "Use W| Target In Attack Range");

            //GapcloserOption.AddMenu();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddW();
            MiscOption.AddBool("W", "AutoW", "Auto W| CC");
            MiscOption.AddE();
            MiscOption.AddBool("E", "AutoE", "Auto E| CC");
            MiscOption.AddR();
            MiscOption.AddBool("R", "rMenuAuto", "Auto R");
            MiscOption.AddKey("R", "rMenuSemi", "Semi-manual R Key", Keys.T, KeyBindType.Press);
            MiscOption.AddBool("R", "rMenuCheck", "Use R| Check is Safe?");
            MiscOption.AddSlider("R", "rMenuMin", "Use R| Min Range >= x", 1000, 500, 2500);
            MiscOption.AddSlider("R", "rMenuMax", "Use R| Max Range <= x", 3000, 1500, 3500);
            MiscOption.AddSlider("R", "rMenuKill", "Use R| Min Shot Can Kill >= x (0 = off)", 3, 0, 4);

            DrawOption.AddMenu();
            DrawOption.AddQ(Q);
            DrawOption.AddW(W);
            DrawOption.AddE(E);
            DrawOption.AddR(R);
            DrawOption.AddDamageIndicatorToHero(true, true, false, true, true);

            Tick.OnTick        += OnUpdate;
            Orbwalker.OnAction += OnAction;
            AIBaseClient.OnProcessSpellCast += OnProcessSpellCast;
            //Gapcloser.OnGapcloser += OnGapcloser;
        }
Example #9
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs =
                    GameObjects.Jungle.Where(x => x.IsValidTarget(Q.Range) && x.GetJungleType() != JungleType.Unknown)
                    .OrderByDescending(x => x.MaxHealth)
                    .ToList();

                if (mobs.Any())
                {
                    var bigmob = mobs.FirstOrDefault(x => x.GetJungleType() != JungleType.Small);

                    if (bigmob != null && bigmob.IsValidTarget(E.Range) && (!bigmob.InAutoAttackRange() || !Orbwalker.CanAttack()))
                    {
                        if (JungleClearOption.UseE && E.IsReady() && bigmob.IsValidTarget(E.Range))
                        {
                            E.Cast(bigmob.PreviousPosition);
                        }

                        if (JungleClearOption.UseQ && Q.IsReady() && bigmob.IsValidTarget(Q.Range))
                        {
                            Q.CastOnUnit(bigmob);
                        }

                        if (JungleClearOption.UseW && W.IsReady() && bigmob.IsValidTarget(W.Range))
                        {
                            W.Cast(bigmob.PreviousPosition);
                        }
                    }
                    else
                    {
                        var farmMobs = mobs.Where(x => x.IsValidTarget(E.Range)).ToList();

                        if (JungleClearOption.UseE && E.IsReady())
                        {
                            var eFarm = E.GetCircularFarmLocation(farmMobs);

                            if (eFarm.MinionsHit >= 2)
                            {
                                E.Cast(eFarm.Position);
                            }
                        }

                        if (JungleClearOption.UseQ && Q.IsReady())
                        {
                            if (farmMobs.Count >= 2)
                            {
                                Q.CastOnUnit(farmMobs.FirstOrDefault());
                            }
                        }

                        if (JungleClearOption.UseW && W.IsReady())
                        {
                            var wFarm = W.GetLineFarmLocation(farmMobs);

                            if (wFarm.MinionsHit >= 2)
                            {
                                W.Cast(wFarm.Position);
                            }
                        }
                    }
                }
            }
        }
Example #10
0
        private static void Initializer()
        {
            Q = new Aimtec.SDK.Spell(SpellSlot.Q, 925f);
            Q.SetSkillshot(0.25f, 70f, 1650f, false, SkillshotType.Line);
            Q.SetCharged("VarusQ", "VarusQ", 925, 1600, 1.5f);

            W = new Aimtec.SDK.Spell(SpellSlot.W, 0f);

            E = new Aimtec.SDK.Spell(SpellSlot.E, 975f);
            E.SetSkillshot(0.35f, 120f, 1500f, false, SkillshotType.Circle);

            R = new Aimtec.SDK.Spell(SpellSlot.R, 1050f);
            R.SetSkillshot(0.25f, 120f, 1950f, false, SkillshotType.Line);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddSlider("ComboQPassive", "Use Q |Target Stack Count >= x", 3, 0, 3);
            ComboOption.AddBool("ComboQFast", "Use Q |Fast Cast");
            ComboOption.AddE();
            ComboOption.AddSlider("ComboEPassive", "Use E |Target Stack Count >= x", 3, 0, 3);
            ComboOption.AddR();
            ComboOption.AddBool("ComboRSolo", "Use R |Solo Mode");
            ComboOption.AddSlider("ComboRCount", "Use R |Min Hit Count >= x", 3, 1, 5);

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddE(false);
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddSlider("LaneClearQCount", "Use Q |Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddE();
            LaneClearOption.AddSlider("LaneClearECount", "Use E |Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddE();
            JungleClearOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddQ();
            KillStealOption.AddE();

            GapcloserOption.AddMenu();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddR();
            MiscOption.AddKey("SemiR", "Semi R Key", KeyCode.T, KeybindType.Press);
            MiscOption.AddBool("AutoR", "Auto R |Anti Gapcloser");

            DrawOption.AddMenu();
            DrawOption.AddQ(Q.Range);
            DrawOption.AddE(E.Range);
            DrawOption.AddR(R.Range);
            DrawOption.AddFarm();
            DrawOption.AddEvent();

            Game.OnUpdate                  += OnUpdate;
            Gapcloser.OnGapcloser          += OnGapcloser;
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            SpellBook.OnCastSpell          += OnCastSpell;
        }
Example #11
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type != OrbwalkerType.AfterAttack)
            {
                return;
            }

            if (Args.Target == null || Args.Target.IsDead || Args.Target.Health <= 0 || Me.IsDead || !Q.IsReady())
            {
                return;
            }

            switch (Args.Target.Type)
            {
            case GameObjectType.AIHeroClient:
            {
                var target = (AIHeroClient)Args.Target;
                if (target != null && target.IsValidTarget())
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                    {
                        if (ComboOption.UseW && W.IsReady() && !isWActive)
                        {
                            if (GameObjects.EnemyHeroes.Any(x => x.IsValidTarget(W.Range)))
                            {
                                if (target.IsValidTarget(E.Range) && HaveEBuff(target))
                                {
                                    W.Cast();
                                }
                                else if (!E.IsReady() && target.IsValidTarget(350) && Variables.GameTimeTickCount - lastETime < 1500 + Game.Ping)
                                {
                                    W.Cast();
                                }
                            }
                        }
                        else if (ComboOption.UseQ && Q.IsReady())
                        {
                            var qPred = Q.GetPrediction(target);

                            if (qPred.Hitchance >= HitChance.High)
                            {
                                Q.Cast(qPred.UnitPosition);
                            }
                        }
                    }
                    else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass ||
                             Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass)
                    {
                        if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.CharacterName))
                        {
                            if (HarassOption.UseQ && Q.IsReady())
                            {
                                var qPred = Q.GetPrediction(target);

                                if (qPred.Hitchance >= HitChance.High)
                                {
                                    Q.Cast(qPred.UnitPosition);
                                }
                            }
                        }
                    }
                }
            }
            break;

            case GameObjectType.AIMinionClient:
            {
                var mob = (AIMinionClient)Args.Target;
                if (mob != null && mob.IsValidTarget() && mob.GetJungleType() != JungleType.Unknown && mob.GetJungleType() != JungleType.Small)
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellFarm && JungleClearOption.HasEnouguMana())
                    {
                        if (JungleClearOption.UseQ && Q.IsReady() && mob.IsValidTarget(Q.Range))
                        {
                            Q.Cast(mob.PreviousPosition);
                        }
                    }
                }
            }
            break;
            }
        }
Example #12
0
        private static void AfterAttack(AttackableUnit unit, AttackableUnit ArgsTarget)
        {
            if (!unit.IsMe || Me.IsDead || ArgsTarget == null || ArgsTarget.IsDead || !ArgsTarget.IsValidTarget())
            {
                return;
            }

            if (isComboMode && ArgsTarget.ObjectType == GameObjectType.AIHeroClient)
            {
                var target = ArgsTarget as AIHeroClient;

                if (target != null)
                {
                    if (ComboOption.UseR && R.IsReady() && R.Instance.CurrentCharge >= ComboOption.GetSlider("ComboRLimit"))
                    {
                        SpellManager.PredCast(R, target, true);
                    }
                    else if (ComboOption.UseQ && Q.IsReady())
                    {
                        SpellManager.PredCast(Q, target, true);
                    }
                    else if (ComboOption.UseE && E.IsReady())
                    {
                        E.Cast();
                    }
                }
            }
            else if (isJungleClearMode && ArgsTarget.ObjectType == GameObjectType.obj_AI_Minion)
            {
                if (JungleClearOption.HasEnouguMana)
                {
                    var mobs = MinionManager.GetMinions(R.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth);

                    if (mobs.Any())
                    {
                        var mob = mobs.FirstOrDefault();

                        if (JungleClearOption.UseR && R.IsReady() && R.Instance.CurrentCharge >= JungleClearOption.GetSlider("JungleClearRLimit"))
                        {
                            R.Cast(mob, true);
                        }
                        else if (JungleClearOption.UseQ && Q.IsReady())
                        {
                            Q.Cast(mob, true);
                        }
                        else if (JungleClearOption.UseE && E.IsReady())
                        {
                            E.Cast();
                        }
                    }
                }
            }
        }
Example #13
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana)
            {
                var mobs = MinionManager.GetMinions(R.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth);

                if (mobs.Any())
                {
                    var mob = mobs.FirstOrDefault();

                    if (JungleClearOption.UseR && R.IsReady() && R.Instance.CurrentCharge >= JungleClearOption.GetSlider("JungleClearRLimit"))
                    {
                        R.Cast(mob, true);
                    }

                    if (JungleClearOption.UseQ && Q.IsReady())
                    {
                        Q.Cast(mob, true);
                    }
                }
            }
        }
Example #14
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type == OrbwalkerType.BeforeAttack)
            {
                if (MiscOption.GetBool("Forcus", "Forcus").Enabled)
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.Combo || Orbwalker.ActiveMode == OrbwalkerMode.Harass)
                    {
                        foreach (var enemy in GameObjects.EnemyHeroes.Where(x => !x.IsDead && HavePassive(x)))
                        {
                            if (enemy.InAutoAttackRange())
                            {
                                Orbwalker.ForceTarget = enemy;
                                LastForcusTime        = Variables.GameTimeTickCount;
                            }
                        }
                    }
                    else if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                    {
                        var all =
                            GameObjects.EnemyMinions.Where(x => x.InAutoAttackRange() && HavePassive(x))
                            .OrderByDescending(x => x.MaxHealth)
                            .FirstOrDefault();

                        if (all.InAutoAttackRange())
                        {
                            Orbwalker.ForceTarget = all;
                            LastForcusTime        = Variables.GameTimeTickCount;
                        }
                    }
                }
            }

            if (Args.Type != OrbwalkerType.AfterAttack)
            {
                Orbwalker.ForceTarget = null;

                if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() ||
                    Args.Target.Health <= 0 || Orbwalker.ActiveMode == OrbwalkerMode.None)
                {
                    return;
                }

                switch (Args.Target.Type)
                {
                case GameObjectType.AIHeroClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                    {
                        var target = (AIHeroClient)Args.Target;
                        if (target != null && target.IsValidTarget())
                        {
                            if (ComboOption.UseE && E.IsReady())
                            {
                                E.CastOnUnit(target);
                            }
                            else if (ComboOption.UseQ && Q.IsReady() && !Me.HasBuff("QuinnR"))
                            {
                                var qPred = Q.GetPrediction(target);

                                if (qPred.Hitchance >= HitChance.High)
                                {
                                    Q.Cast(qPred.UnitPosition);
                                }
                            }
                        }
                    }
                }
                break;

                case GameObjectType.AIMinionClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                    {
                        var mob = (AIMinionClient)Args.Target;
                        if (mob != null && mob.IsValidTarget() && mob.GetJungleType() != JungleType.Unknown && JungleClearOption.HasEnouguMana())
                        {
                            if (JungleClearOption.UseE && E.IsReady() && mob.IsValidTarget(E.Range))
                            {
                                E.CastOnUnit(mob);
                            }
                            else if (JungleClearOption.UseQ && Q.IsReady() && mob.IsValidTarget(Q.Range) &&
                                     !Me.HasBuff("QuinnR"))
                            {
                                Q.Cast(mob);
                            }
                        }
                    }
                }
                break;
                }
            }
        }
Example #15
0
        private static void PostAttack(object sender, PostAttackEventArgs Args)
        {
            if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0)
            {
                return;
            }

            switch (Orbwalker.Mode)
            {
            case OrbwalkingMode.Combo:
            {
                if (Args.Target.Type == GameObjectType.obj_AI_Hero)
                {
                    var target = Args.Target as Obj_AI_Hero;

                    if (target != null && target.IsValidTarget() && !target.IsUnKillable())
                    {
                        if (ComboOption.UseR && R.Ready &&
                            R.GetBasicSpell().Ammo >= ComboOption.GetSlider("ComboRLimit").Value&&
                            target.IsValidTarget(R.Range) &&
                            target.HealthPercent() <= ComboOption.GetSlider("ComboRHP").Value)
                        {
                            var rPred = R.GetPrediction(target);

                            if (rPred.HitChance >= HitChance.High)
                            {
                                R.Cast(rPred.UnitPosition);
                            }
                        }
                        else if (ComboOption.UseQ && Q.Ready && target.IsValidTarget(Q.Range))
                        {
                            var qPred = Q.GetPrediction(target);

                            if (qPred.HitChance >= HitChance.High)
                            {
                                Q.Cast(qPred.CastPosition);
                            }
                        }
                        else if (ComboOption.UseE && E.Ready && target.IsValidAutoRange())
                        {
                            E.Cast();
                        }
                    }
                }
            }
            break;

            case OrbwalkingMode.Laneclear:
            {
                if (Args.Target.IsMob())
                {
                    if (JungleClearOption.HasEnouguMana())
                    {
                        var mob = Args.Target as Obj_AI_Minion;
                        if (mob != null && mob.IsValidTarget())
                        {
                            if (JungleClearOption.UseR && R.Ready &&
                                R.GetBasicSpell().Ammo >=
                                JungleClearOption.GetSlider("JungleClearRLimit").Value)
                            {
                                R.Cast(mob);
                            }
                            else if (JungleClearOption.UseQ && Q.Ready && mob.IsValidTarget(Q.Range))
                            {
                                Q.Cast(mob);
                            }
                            else if (JungleClearOption.UseE && E.Ready && mob.IsValidAutoRange())
                            {
                                E.Cast();
                            }
                        }
                    }
                }
            }
            break;
            }
        }
Example #16
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q, 1150f);
            Q.SetSkillshot(0.25f, 60f, 2000f, true, false, SkillshotType.Line);

            W = new Spell(SpellSlot.W, 950f);
            W.SetSkillshot(0.25f, 60f, 1200f, false, false, SkillshotType.Line);

            E = new Spell(SpellSlot.E, 475f)
            {
                Delay = 0.65f
            };

            R = new Spell(SpellSlot.R, 5000f);
            R.SetSkillshot(1.05f, 160f, 2200f, false, false, SkillshotType.Line);

            EQ = new Spell(SpellSlot.Q, 1625f);
            EQ.SetSkillshot(0.90f, 60f, 1350f, true, false, SkillshotType.Line);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddW();
            ComboOption.AddE();
            ComboOption.AddBool("ComboECheck", "Use E |Safe Check");
            ComboOption.AddBool("ComboEWall", "Use E |Wall Check");
            ComboOption.AddR();

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddW();
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddBool("LaneClearQLH", "Use Q| Only LastHit", false);
            LaneClearOption.AddW();
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddW();
            JungleClearOption.AddMana();

            LastHitOption.AddMenu();
            LastHitOption.AddQ();
            LastHitOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddQ();

            //GapcloserOption.AddMenu();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddR();
            MiscOption.AddBool("R", "AutoR", "Auto R");
            MiscOption.AddSlider("R", "RRange", "Auto R |Min Cast Range >= x", 800, 0, 1500);
            MiscOption.AddSlider("R", "RMaxRange", "Auto R |Max Cast Range >= x", 3000, 1500, 5000);
            MiscOption.AddKey("R", "SemiR", "Semi-manual R Key", Keys.T, KeyBindType.Press);

            DrawOption.AddMenu();
            DrawOption.AddQ(Q);
            DrawOption.AddW(W);
            DrawOption.AddE(E);
            DrawOption.AddDamageIndicatorToHero(true, true, true, true, true);

            Game.OnUpdate += OnUpdate;
            //Gapcloser.OnGapcloser += OnGapcloser;
            Orbwalker.OnAction += OnAction;
        }
Example #17
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q, 1450f);
            Q.SetSkillshot(0.25f, 40f, 1000f, false, false, SkillshotType.Line);

            W = new Spell(SpellSlot.W, 850f);

            E = new Spell(SpellSlot.E);

            R = new Spell(SpellSlot.R, 5500f);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddBool("ComboSaveMana", "Use Q| Save Mana To Cast W");
            ComboOption.AddW();
            ComboOption.AddList("ComboWSmartKS", "Use W| Smart Card KillAble", new[] { "First Card", "Blue Card", "Off" });
            ComboOption.AddBool("ComboDisableAA", "Auto Disable Attack| When Selecting");

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddSlider("LaneClearQCount", "Use Q|Min Hit Count >= x", 4, 1, 10);
            LaneClearOption.AddW();
            LaneClearOption.AddBool("LaneClearWBlue", "Use W| Blue Card");
            LaneClearOption.AddBool("LaneClearWRed", "Use W| Red Card");
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddW();
            JungleClearOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddQ();

            //GapcloserOption.AddMenu();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddSubMenu("CardSelect", "Card Select Settings");
            MiscOption.AddKey("CardSelect", "CardSelectYellow", "Gold Card", Keys.W, KeyBindType.Press);
            MiscOption.AddKey("CardSelect", "CardSelectBlue", "Blue Card", Keys.E, KeyBindType.Press);
            MiscOption.AddKey("CardSelect", "CardSelectRed", "Red Card", Keys.T, KeyBindType.Press);
            MiscOption.AddBool("CardSelect", "HumanizerSelect", "Humanizer Select Card", false);
            MiscOption.AddSlider("CardSelect", "HumanizerSelectMin", "Humanizer Select Card Min Delay", 0, 0, 2000);
            MiscOption.AddSlider("CardSelect", "HumanizerSelectMax", "Humanizer Select Card Max Delay", 2000, 0, 3500);
            MiscOption.AddQ();
            MiscOption.AddBool("Q", "AutoQImmobile", "Auto Q|Enemy Cant Movement");
            MiscOption.AddKey("Q", "SemiQ", "Semi-manual Q Key", Keys.Q, KeyBindType.Press);
            MiscOption.AddR();
            MiscOption.AddBool("R", "UltYellow", "Auto Gold Card| In Ult");

            DrawOption.AddMenu();
            DrawOption.AddQ(Q);
            DrawOption.AddR(R);
            DrawOption.AddDamageIndicatorToHero(true, true, true, false, true);

            Game.OnTick += OnUpdate;
            //Gapcloser.OnGapcloser += OnGapcloser;
            AIBaseClient.OnProcessSpellCast += OnProcessSpellCast;
            Orbwalker.OnAction += OnAction;
        }
Example #18
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type != OrbwalkerType.AfterAttack)
            {
                return;
            }

            if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() ||
                Args.Target.Health <= 0 || Orbwalker.ActiveMode == OrbwalkerMode.None)
            {
                return;
            }

            switch (Args.Target.Type)
            {
            case GameObjectType.AIHeroClient:
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                {
                    if (ComboOption.UseW && W.IsReady())
                    {
                        var target = (AIHeroClient)Args.Target;
                        if (target != null && target.InAutoAttackRange())
                        {
                            W.Cast();
                        }
                    }
                }
            }
            break;

            case GameObjectType.AIMinionClient:
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                {
                    var minion = (AIMinionClient)Args.Target;
                    if (minion != null && minion.IsValidTarget())
                    {
                        if (minion.IsMinion())
                        {
                            if (LaneClearOption.HasEnouguMana() && LaneClearOption.UseW && W.IsReady())
                            {
                                var minions =
                                    GameObjects.EnemyMinions.Count(
                                        x =>
                                        x.IsValidTarget(Me.AttackRange + Me.BoundingRadius + 200) &&
                                        x.IsMinion());

                                if (minions >= 3)
                                {
                                    W.Cast();
                                }
                            }
                        }
                        else if (minion.GetJungleType() != JungleType.Unknown)
                        {
                            if (JungleClearOption.HasEnouguMana() && JungleClearOption.UseW && W.IsReady())
                            {
                                if (!minion.InAutoAttackRange() ||
                                    !(minion.Health > Me.GetAutoAttackDamage(minion) * 2) ||
                                    minion.GetJungleType() == JungleType.Small)
                                {
                                    return;
                                }

                                W.Cast();
                            }
                        }
                    }
                }
            }
            break;

            case GameObjectType.AITurretClient:
            case GameObjectType.HQClient:
            case GameObjectType.Barracks:
            case GameObjectType.BarracksDampenerClient:
            case GameObjectType.BuildingClient:
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                {
                    if (LaneClearOption.HasEnouguMana(true) && LaneClearOption.UseW && W.IsReady())
                    {
                        if (Me.CountEnemyHeroesInRange(850) == 0)
                        {
                            W.Cast();
                        }
                    }
                }
            }
            break;
            }
        }
Example #19
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q, 925f);
            Q.SetSkillshot(0.25f, 70f, 1650f, false, false, SkillshotType.Line);
            Q.SetCharged("VarusQ", "VarusQ", 925, 1600, 1.5f);

            W = new Spell(SpellSlot.W, 0f);

            E = new Spell(SpellSlot.E, 975f);
            E.SetSkillshot(0.35f, 120f, 1500f, false, true, SkillshotType.Circle);

            R = new Spell(SpellSlot.R, 1050f);
            R.SetSkillshot(0.25f, 120f, 1950f, false, false, SkillshotType.Line);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddSlider("ComboQPassive", "Use Q |Target Stack Count >= x", 3, 0, 3);
            ComboOption.AddBool("ComboQFast", "Use Q |Fast Cast");
            ComboOption.AddW();
            ComboOption.AddE();
            ComboOption.AddSlider("ComboEPassive", "Use E |Target Stack Count >= x", 3, 0, 3);
            ComboOption.AddR();
            ComboOption.AddBool("ComboRSolo", "Use R |Solo Mode");
            ComboOption.AddSlider("ComboRCount", "Use R |Min Hit Count >= x", 3, 1, 5);

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddE(false);
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddSlider("LaneClearQCount", "Use Q |Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddE();
            LaneClearOption.AddSlider("LaneClearECount", "Use E |Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddE();
            JungleClearOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddQ();
            KillStealOption.AddE();

            //GapcloserOption.AddMenu();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddR();
            MiscOption.AddKey("R", "SemiR", "Semi-manual R Key", Keys.T, KeyBindType.Press);
            MiscOption.AddBool("R", "AutoR", "Auto R |Anti Gapcloser");

            DrawOption.AddMenu();
            DrawOption.AddQ(Q);
            DrawOption.AddE(E);
            DrawOption.AddR(R);
            DrawOption.AddDamageIndicatorToHero(true, true, true, true, true);

            Tick.OnTick += OnUpdate;
            //Gapcloser.OnGapcloser += OnGapcloser;
            AIBaseClient.OnProcessSpellCast += OnProcessSpellCast;
            Spellbook.OnCastSpell           += OnCastSpell;
        }
Example #20
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type == OrbwalkerType.BeforeAttack)
            {
                if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0)
                {
                    return;
                }

                switch (Args.Target.Type)
                {
                case GameObjectType.AIHeroClient:
                {
                    var target = (AIHeroClient)Args.Target;
                    if (target != null && target.IsValidTarget())
                    {
                        if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                        {
                            if (ComboOption.UseW && W.IsReady())
                            {
                                W.Cast();
                            }
                        }
                    }
                }
                break;

                case GameObjectType.AIMinionClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                    {
                        var mob = (AIMinionClient)Args.Target;
                        if (mob != null && mob.IsValidTarget() && mob.GetJungleType() != JungleType.Unknown &&
                            mob.GetJungleType() != JungleType.Small)
                        {
                            if (JungleClearOption.HasEnouguMana() && GetPassiveCount < 3)
                            {
                                if (JungleClearOption.UseW && W.IsReady())
                                {
                                    W.Cast();
                                }
                            }
                        }
                    }
                }
                break;

                case GameObjectType.AITurretClient:
                case GameObjectType.HQClient:
                case GameObjectType.Barracks:
                case GameObjectType.BarracksDampenerClient:
                case GameObjectType.BuildingClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellFarm && LaneClearOption.HasEnouguMana(true))
                    {
                        if (Me.CountEnemyHeroesInRange(800) == 0)
                        {
                            if (LaneClearOption.UseW && W.IsReady())
                            {
                                W.Cast();
                            }
                        }
                    }
                }
                break;
                }
            }

            if (Args.Type == OrbwalkerType.AfterAttack)
            {
                if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0)
                {
                    return;
                }

                switch (Args.Target.Type)
                {
                case GameObjectType.AIHeroClient:
                {
                    var target = (AIHeroClient)Args.Target;
                    if (target != null && target.IsValidTarget())
                    {
                        if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                        {
                            if (ComboOption.UseQ && Q.IsReady())
                            {
                                if (!isWActive)
                                {
                                    var qPred = Q.GetPrediction(target);

                                    if (qPred.Hitchance >= HitChance.High)
                                    {
                                        Q.Cast(qPred.CastPosition);
                                    }
                                }
                            }

                            if (ComboOption.UseW && W.IsReady())
                            {
                                W.Cast();
                            }
                        }
                        else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass ||
                                 Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass)
                        {
                            if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.CharacterName))
                            {
                                if (HarassOption.UseQ && Q.IsReady())
                                {
                                    var qPred = Q.GetPrediction(target);
                                    if (qPred.Hitchance >= HitChance.High)
                                    {
                                        Q.Cast(qPred.CastPosition);
                                    }
                                }
                            }
                        }
                    }
                }
                break;
                }
            }
        }
Example #21
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type == OrbwalkerType.BeforeAttack)
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.Combo || Orbwalker.ActiveMode == OrbwalkerMode.Harass)
                {
                    var ForcusTarget =
                        GameObjects.EnemyHeroes.FirstOrDefault(
                            x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius + x.BoundingRadius + 50) && Has2WStacks(x));

                    if (MiscOption.GetBool("Forcus", "ForcusAttack").Enabled&& ForcusTarget != null &&
                        ForcusTarget.IsValidTarget(Me.AttackRange + Me.BoundingRadius - ForcusTarget.BoundingRadius + 15))
                    {
                        Orbwalker.ForceTarget = ForcusTarget;
                        LastForcusTime        = Variables.GameTimeTickCount;
                    }
                    else
                    {
                        Orbwalker.ForceTarget = null;
                    }
                }
            }

            if (Args.Type == OrbwalkerType.AfterAttack)
            {
                Orbwalker.ForceTarget = null;

                if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() ||
                    Args.Target.Health <= 0 || Orbwalker.ActiveMode == OrbwalkerMode.None)
                {
                    return;
                }

                switch (Args.Target.Type)
                {
                case GameObjectType.AIHeroClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                    {
                        if (ComboOption.GetBool("ComboAQA").Enabled)
                        {
                            var target = (AIHeroClient)Args.Target;
                            if (target != null && !target.IsDead && Q.IsReady())
                            {
                                AfterQLogic(target);
                            }
                        }
                    }
                    else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass || Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass)
                    {
                        if (HarassOption.HasEnouguMana() && HarassOption.UseQ)
                        {
                            var target = (AIHeroClient)Args.Target;
                            if (target != null && !target.IsDead && Q.IsReady() &&
                                HarassOption.GetHarassTargetEnabled(target.CharacterName))
                            {
                                if (HarassOption.GetBool("HarassQ2Passive").Enabled&& !Has2WStacks(target))
                                {
                                    return;
                                }

                                AfterQLogic(target);
                            }
                        }
                    }
                }
                break;

                case GameObjectType.AIMinionClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                    {
                        var m = (AIMinionClient)Args.Target;
                        if (m != null && m.IsValidTarget())
                        {
                            if (m.IsMinion())
                            {
                                if (LaneClearOption.HasEnouguMana() && LaneClearOption.UseQ)
                                {
                                    var minions =
                                        GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius) && x.IsMinion())
                                        .Where(x => x.Health <= Me.GetAutoAttackDamage(x) + Me.GetSpellDamage(x, SpellSlot.Q))
                                        .ToList();

                                    if (minions.Any() && minions.Count >= 1)
                                    {
                                        var minion         = minions.OrderBy(x => x.Health).FirstOrDefault();
                                        var afterQPosition = Me.PreviousPosition.Extend(Game.CursorPosRaw, Q.Range);

                                        if (minion != null &&
                                            afterQPosition.Distance(minion.PreviousPosition) <= Me.AttackRange + Me.BoundingRadius)
                                        {
                                            Q.Cast(Game.CursorPosRaw);
                                        }
                                    }
                                }
                            }
                            else if (m.GetJungleType() != JungleType.Unknown)
                            {
                                if (JungleClearOption.HasEnouguMana() && JungleClearOption.UseQ)
                                {
                                    Q.Cast(Game.CursorPosRaw);
                                }
                            }
                        }
                    }
                }
                break;

                case GameObjectType.AITurretClient:
                case GameObjectType.HQClient:
                case GameObjectType.Barracks:
                case GameObjectType.BarracksDampenerClient:
                case GameObjectType.BuildingClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                    {
                        if (LaneClearOption.HasEnouguMana(true) && LaneClearOption.UseQ)
                        {
                            if (Me.CountEnemyHeroesInRange(850) == 0)
                            {
                                if (Me.CanMoveMent())
                                {
                                    Q.Cast(Game.CursorPosRaw);
                                }
                            }
                        }
                    }
                }
                break;
                }
            }
        }
Example #22
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q, 1150f);
            Q.SetSkillshot(0.35f, 40f, 2400f, true, false, SkillshotType.Line);

            W = new Spell(SpellSlot.W, 5000f);

            E = new Spell(SpellSlot.E, 950f);

            R = new Spell(SpellSlot.R, 1500f);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddE();
            ComboOption.AddBool("ComboESlow", "Use E| When Enemy Have Buff and Minion Can KillAble");
            ComboOption.AddBool("ComboGapcloser", "Auto Attack Minion To Gapcloser Target");

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddE();
            HarassOption.AddBool("HarassESlow", "Use E| When Enemy Have Buff and Minion Can KillAble");
            HarassOption.AddSliderBool("HarassELeave", "Use E| When Enemy Will Leave E Range And Buff Count >= x", 3, 1, 10);
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddSliderBool("LaneClearE", "Use E| Min KillAble Count >= x", 3, 1, 5, true);
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddE();
            JungleClearOption.AddMana();

            LastHitOption.AddMenu();
            LastHitOption.AddE();
            LastHitOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddQ();
            KillStealOption.AddE();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddE();
            MiscOption.AddBool("E", "AutoESteal", "Auto E Steal Mob (Only Buff&Dragon&Baron)");
            MiscOption.AddSliderBool("E", "EToler", "Enabled E Toler DMG", 0, -100, 110, true);
            MiscOption.AddR();
            MiscOption.AddSliderBool("R", "AutoRAlly", "Auto R| My Allies HealthPercent <= x%", 30, 1, 99, true);
            MiscOption.AddBool("R", "Balista", "Auto Balista");
            MiscOption.AddSetting("Forcus");
            MiscOption.AddBool("Forcus", "ForcusAttack", "Forcus Attack Passive Target");

            DrawOption.AddMenu();
            DrawOption.AddQ(Q);
            DrawOption.AddW(W);
            DrawOption.AddE(E);
            DrawOption.AddR(R);
            DrawOption.AddDamageIndicatorToHero(false, false, true, false, false);

            Tick.OnTick += OnUpdate;
            AIBaseClient.OnProcessSpellCast += OnProcessSpellCast;
            Orbwalker.OnAction += OnAction;
        }
Example #23
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q, 525f);

            W = new Spell(SpellSlot.W, 1500f);
            W.SetSkillshot(0.60f, 60f, 3300f, true, false, SkillshotType.Line);

            E = new Spell(SpellSlot.E, 900f);
            E.SetSkillshot(1.20f, 100f, 1750f, false, false, SkillshotType.Circle);

            R = new Spell(SpellSlot.R, 3000f);
            R.SetSkillshot(0.70f, 140f, 1500f, true, false, SkillshotType.Line);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddW();
            ComboOption.AddE();
            ComboOption.AddR();
            ComboOption.AddBool("ComboRSolo", "Use R| Solo Mode");
            ComboOption.AddBool("ComboRTeam", "Use R| Team Fight");

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddW();
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddSlider("LaneClearQCount", "Use Q| Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddW();
            JungleClearOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddW();
            KillStealOption.AddR();
            KillStealOption.AddTargetList();

            //GapcloserOption.AddMenu();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddW();
            MiscOption.AddBool("W", "AutoW", "Auto W| CC");
            MiscOption.AddE();
            MiscOption.AddBool("E", "AutoE", "Auto E| CC");
            MiscOption.AddBool("E", "AutoETP", "Auto E| Teleport");
            MiscOption.AddR();
            MiscOption.AddKey("R", "rMenuSemi", "Semi-manual R Key", Keys.T, KeyBindType.Press);
            MiscOption.AddSlider("R", "rMenuMin", "Use R| Min Range >= x", 1000, 500, 2500);
            MiscOption.AddSlider("R", "rMenuMax", "Use R| Max Range <= x", 3000, 1500, 3500);

            DrawOption.AddMenu();
            DrawOption.AddW(W);
            DrawOption.AddE(E);
            DrawOption.AddDamageIndicatorToHero(false, true, false, true, true);

            Game.OnUpdate      += OnUpdate;
            Orbwalker.OnAction += OnAction;
            //Gapcloser.OnGapcloser += OnGapcloser;
        }
Example #24
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type == OrbwalkerType.NonKillableMinion)
            {
                if (Me.IsDead || Me.IsRecalling() || !Me.CanMoveMent())
                {
                    return;
                }

                if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                {
                    return;
                }

                if (LastHitOption.HasEnouguMana && LastHitOption.UseE && E.IsReady())
                {
                    var minion = Args.Target as AIMinionClient;
                    if (minion != null && minion.IsValidTarget(E.Range) && Me.CountEnemyHeroesInRange(600) == 0 &&
                        minion.Health < E.GetKalistaRealDamage(minion))
                    {
                        E.Cast();
                    }
                }
            }

            if (Args.Type == OrbwalkerType.BeforeAttack)
            {
                if (MiscOption.GetBool("Forcus", "ForcusAttack").Enabled&& Me.CanMoveMent() && Args.Target != null &&
                    !Args.Target.IsDead && Args.Target.Health > 0)
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.Combo || Orbwalker.ActiveMode == OrbwalkerMode.Harass)
                    {
                        foreach (var target in GameObjects.EnemyHeroes.Where(x => !x.IsDead &&
                                                                             x.InAutoAttackRange() &&
                                                                             x.Buffs.Any(
                                                                                 a =>
                                                                                 a.Name.ToLower()
                                                                                 .Contains(
                                                                                     "kalistacoopstrikemarkally"))))
                        {
                            if (!target.IsDead && target.IsValidTarget(Me.GetRealAutoAttackRange(target)))
                            {
                                Orbwalker.ForceTarget = target;
                                LastForcusTime        = Variables.GameTimeTickCount;
                            }
                        }
                    }
                    else if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                    {
                        foreach (var target in GameObjects.Minions.Where(x => !x.IsDead && x.IsEnemy &&
                                                                         x.InAutoAttackRange() &&
                                                                         x.Buffs.Any(
                                                                             a =>
                                                                             a.Name.ToLower()
                                                                             .Contains(
                                                                                 "kalistacoopstrikemarkally"))))
                        {
                            if (!target.IsDead && target.IsValidTarget(Me.GetRealAutoAttackRange(target)))
                            {
                                Orbwalker.ForceTarget = target;
                                LastForcusTime        = Variables.GameTimeTickCount;
                            }
                        }
                    }
                }
            }

            if (Args.Type == OrbwalkerType.AfterAttack)
            {
                Orbwalker.ForceTarget = null;

                if (Args.Target == null || Args.Target.IsDead || Args.Target.Health <= 0 || Me.IsDead || !Q.IsReady())
                {
                    return;
                }

                switch (Args.Target.Type)
                {
                case GameObjectType.AIHeroClient:
                {
                    var target = (AIHeroClient)Args.Target;

                    if (target != null && !target.IsDead && target.IsValidTarget(Q.Range))
                    {
                        if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                        {
                            if (ComboOption.UseQ)
                            {
                                var qPred = Q.GetPrediction(target);

                                if (qPred.Hitchance >= HitChance.High)
                                {
                                    Q.Cast(qPred.CastPosition);
                                }
                            }
                        }
                        else if (HarassOption.HasEnouguMana() &&
                                 (Orbwalker.ActiveMode == OrbwalkerMode.Harass ||
                                  Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass))
                        {
                            if (HarassOption.UseQ)
                            {
                                var qPred = Q.GetPrediction(target);

                                if (qPred.Hitchance >= HitChance.High)
                                {
                                    Q.Cast(qPred.CastPosition);
                                }
                            }
                        }
                    }
                }
                break;

                case GameObjectType.AIMinionClient:
                {
                    if (MyManaManager.SpellFarm && Orbwalker.ActiveMode == OrbwalkerMode.LaneClear &&
                        JungleClearOption.HasEnouguMana())
                    {
                        var mob = (AIMinionClient)Args.Target;
                        if (mob != null && mob.IsValidTarget(Q.Range) && mob.GetJungleType() != JungleType.Unknown)
                        {
                            if (JungleClearOption.UseQ)
                            {
                                Q.Cast(mob);
                            }
                        }
                    }
                }
                break;
                }
            }
        }
Example #25
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q);

            W = new Spell(SpellSlot.W);

            E = new Spell(SpellSlot.E, 950f);
            E.SetSkillshot(0.25f, 100f, 1400f, false, false, SkillshotType.Line);

            R = new Spell(SpellSlot.R, 3000f);
            R.SetSkillshot(0.4f, 160f, 2000f, false, false, SkillshotType.Line);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddW();
            ComboOption.AddE();
            ComboOption.AddR();
            ComboOption.AddBool("RSolo", "Use R | Solo Ks Mode");
            ComboOption.AddBool("RTeam", "Use R| Team Fight");

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddE();
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddSliderBool("LaneClearECount", "Use E| Min Hit Count >= x", 4, 1, 7, true);
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddW();
            JungleClearOption.AddE();
            JungleClearOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddE();
            KillStealOption.AddR();
            KillStealOption.AddTargetList();

            AxeOption.AddMenu();
            AxeOption.AddList("CatchMode", "Catch Axe Mode: ", new[] { "All", "Only Combo", "Off" });
            AxeOption.AddSlider("CatchRange", "Catch Axe Range(Cursor center)", 2000, 180, 3000);
            AxeOption.AddSlider("CatchCount", "Max Axe Count <= x", 2, 1, 3);
            AxeOption.AddBool("CatchWSpeed", "Use W| When Axe Too Far");
            AxeOption.AddBool("NotCatchKS", "Dont Catch| If Target Can KillAble(1-3 AA)");
            AxeOption.AddBool("NotCatchTurret", "Dont Catch| If Axe Under Enemy Turret");
            AxeOption.AddSliderBool("NotCatchMoreEnemy", "Dont Catch| If Enemy Count >= x", 3, 1, 5, true);
            AxeOption.AddBool("CancelCatch", "Enabled Cancel Catch Axe Key");
            AxeOption.AddKey("CancelKey1", "Cancel Catch Key 1", Keys.G, KeyBindType.Press);
            AxeOption.AddBool("CancelKey2", "Cancel Catch Key 2(is right click)");
            AxeOption.AddBool("CancelKey3", "Cancel Catch Key 3(is mouse scroll)", false);
            AxeOption.AddSeperator("Set Orbwalker->Misc->Hold Radius to 0 (will better)");

            //GapcloserOption.AddMenu();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddW();
            MiscOption.AddBool("W", "WSlow", "Auto W| When Player Have Debuff(Slow)");
            MiscOption.AddR();
            MiscOption.AddSlider("R", "GlobalRMin", "Global -> Cast R Min Range", 1000, 500, 2500);
            MiscOption.AddSlider("R", "GlobalRMax", "Global -> Cast R Max Range", 3000, 1500, 3500);
            MiscOption.AddKey("R", "SemiRKey", "Semi-manual R Key", Keys.T, KeyBindType.Press);

            DrawOption.AddMenu();
            DrawOption.AddE(E);
            DrawOption.AddR(R);
            DrawOption.AddBool("AxeRange", "Draw Catch Axe Range");
            DrawOption.AddBool("AxePosition", "Draw Axe Position");
            DrawOption.AddDamageIndicatorToHero(true, false, true, true, true);

            AxeOption.GetKey("CancelKey1").ValueChanged += OnCancelValueChange;

            Tick.OnTick         += OnUpdate;
            Game.OnWndProc      += OnWndProc;
            GameObject.OnCreate += (sender, args) => OnCreate(sender);
            GameObject.OnDelete += (sender, args) => OnDestroy(sender);
            //Gapcloser.OnGapcloser += OnGapcloser;
            Orbwalker.OnAction += OnAction;
            Drawing.OnDraw     += OnRender;
        }
Example #26
0
        private static void Initializer()
        {
            Q = new Spell(SpellSlot.Q, 1250f);
            Q.SetSkillshot(0.70f, 50f, 2000f, false, false, SkillshotType.Line);

            W = new Spell(SpellSlot.W, 800f);
            W.SetSkillshot(0.80f, 80f, 2000f, false, false, SkillshotType.Circle);

            E = new Spell(SpellSlot.E, 750f);
            E.SetSkillshot(0.25f, 60f, 1600f, true, false, SkillshotType.Line);

            R = new Spell(SpellSlot.R, rRange)
            {
                Delay = 1.5f
            };

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddSlider("ComboQCount", "Use Q |Min Hit Count >= x(0 = Off)", 3, 0, 5);
            ComboOption.AddSlider("ComboQRange", "UseQ |Min Cast Range >= x", 800, 500, 1100);
            ComboOption.AddW();
            ComboOption.AddSlider("ComboWCount", "Use W|Min Stack >= x", 1, 1, 3);
            ComboOption.AddE();
            ComboOption.AddR();
            ComboOption.AddBool("ComboRSafe", "Use R|Safe Check");
            ComboOption.AddSlider("ComboRRange", "Use R|Min Cast Range >= x", 900, 500, 1500);

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddSlider("LaneClearQCount", "Use Q|Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddQ();

            //GapcloserOption.AddMenu();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddQ();
            MiscOption.AddBool("Q", "AutoQ", "Use Q| CC");
            MiscOption.AddW();
            MiscOption.AddBool("W", "AutoWCC", "Use W| CC");
            MiscOption.AddBool("W", "AutoWTP", "Use W| TP");
            MiscOption.AddE();
            MiscOption.AddBool("E", "AutoE", "Use E| Anti Gapcloser");
            MiscOption.AddR();
            MiscOption.AddKey("R", "SemiR", "Semi-manual R Key", Keys.T, KeyBindType.Press);
            //MiscOption.AddSetting("EQ");
            //MiscOption.AddKey("EQKey", "Semi-manual EQ Key", KeyCode.G, KeyBindType.Press);

            DrawOption.AddMenu();
            DrawOption.AddQ(Q);
            DrawOption.AddW(W);
            DrawOption.AddE(E);
            DrawOption.AddR(R);
            DrawOption.AddDamageIndicatorToHero(true, false, true, true, true);

            Game.OnTick += OnUpdate;
            //Gapcloser.OnGapcloser += OnGapcloser;
            AIBaseClient.OnProcessSpellCast += OnProcessSpellCast;
        }
Example #27
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type != OrbwalkerType.AfterAttack)
            {
                return;
            }

            havePassive = false;

            if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0)
            {
                return;
            }

            switch (Args.Target.Type)
            {
            case GameObjectType.AIHeroClient:
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                {
                    var target = Args.Target as AIHeroClient;

                    if (target != null && target.IsValidTarget())
                    {
                        if (ComboOption.GetBool("ComboEReset").Enabled&& E.IsReady())
                        {
                            ResetELogic(target);
                        }
                        else if (ComboOption.UseQ && Q.IsReady() && target.IsValidTarget(Q.Range))
                        {
                            Q.CastOnUnit(target);
                        }
                        else if (ComboOption.UseW && W.IsReady())
                        {
                            if (ComboOption.GetBool("ComboWLogic").Enabled)
                            {
                                W2.Cast(target.PreviousPosition);
                            }
                            else
                            {
                                var wPred = W.GetPrediction(target);

                                if (wPred.Hitchance >= HitChance.High)
                                {
                                    W.Cast(wPred.UnitPosition);
                                }
                            }
                        }
                    }
                }
            }
            break;

            case GameObjectType.AIMinionClient:
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                {
                    var mob = (AIMinionClient)Args.Target;
                    if (mob != null && mob.IsValidTarget() && mob.GetJungleType() != JungleType.Unknown && MyManaManager.SpellFarm && JungleClearOption.HasEnouguMana())
                    {
                        if (JungleClearOption.UseE && E.IsReady())
                        {
                            E.Cast(Me.PreviousPosition.Extend(Game.CursorPos, 130));
                        }
                        else if (JungleClearOption.UseQ && Q.IsReady())
                        {
                            Q.CastOnUnit(mob);
                        }
                        else if (JungleClearOption.UseW && W.IsReady())
                        {
                            W2.Cast(mob.PreviousPosition);
                        }
                    }
                }
            }
            break;

            case GameObjectType.AITurretClient:
            case GameObjectType.HQClient:
            case GameObjectType.Barracks:
            case GameObjectType.BarracksDampenerClient:
            case GameObjectType.BuildingClient:
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellFarm && LaneClearOption.HasEnouguMana(true))
                {
                    if (Me.CountEnemyHeroesInRange(800) == 0)
                    {
                        if (LaneClearOption.UseE && E.IsReady())
                        {
                            E.Cast(Me.PreviousPosition.Extend(Game.CursorPos, 130));
                        }
                        else if (LaneClearOption.UseW && W.IsReady())
                        {
                            W.Cast(Game.CursorPos);
                        }
                    }
                }
            }
            break;
            }
        }
Example #28
0
        private static void Initializer()
        {
            Q = new Aimtec.SDK.Spell(SpellSlot.Q, 825f);
            Q.SetSkillshot(0.30f, 200f, 1000f, false, SkillshotType.Circle);

            W = new Aimtec.SDK.Spell(SpellSlot.W, 800f);

            E = new Aimtec.SDK.Spell(SpellSlot.E, 600f);

            R = new Aimtec.SDK.Spell(SpellSlot.R, 1300f);
            R.SetSkillshot(0.20f, 50f, 2000f, true, SkillshotType.Line);

            ComboOption.AddMenu();
            ComboOption.AddQ();
            ComboOption.AddE();
            ComboOption.AddR();
            ComboOption.AddSlider("ComboRLimit", "Use R|Limit Stack >= x", 0, 0, 7);
            ComboOption.AddSlider("ComboRHP", "Use R|Target HealthPercent <= x%", 100, 1, 101);

            HarassOption.AddMenu();
            HarassOption.AddQ();
            HarassOption.AddE();
            HarassOption.AddR();
            HarassOption.AddSlider("HarassRLimit", "Use R|Limit Stack >= x", 4, 0, 7);
            HarassOption.AddMana();
            HarassOption.AddTargetList();

            LaneClearOption.AddMenu();
            LaneClearOption.AddQ();
            LaneClearOption.AddSlider("LaneClearQCount", "Use Q|Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddE();
            LaneClearOption.AddSlider("LaneClearECount", "Use E|Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddR();
            LaneClearOption.AddSlider("LaneClearRCount", "Use R|Min Hit Count >= x", 3, 1, 5);
            LaneClearOption.AddSlider("LaneClearRLimit", "Use R|Limit Stack >= x", 4, 0, 7);
            LaneClearOption.AddMana();

            JungleClearOption.AddMenu();
            JungleClearOption.AddQ();
            JungleClearOption.AddE();
            JungleClearOption.AddR();
            JungleClearOption.AddSlider("JungleClearRLimit", "Use R|Limit Stack >= x", 0, 0, 7);
            JungleClearOption.AddMana();

            KillStealOption.AddMenu();
            KillStealOption.AddQ();
            KillStealOption.AddR();

            MiscOption.AddMenu();
            MiscOption.AddBasic();
            MiscOption.AddR();
            MiscOption.AddKey("SemiR", "Semi R Key", KeyCode.T, KeybindType.Press);

            DrawOption.AddMenu();
            DrawOption.AddQ(Q.Range);
            DrawOption.AddW(W.Range);
            DrawOption.AddE(E.Range);
            DrawOption.AddR(R.Range);
            DrawOption.AddFarm();
            DrawOption.AddEvent();

            Game.OnUpdate        += OnUpdate;
            Orbwalker.PostAttack += PostAttack;
        }
Example #29
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type != OrbwalkerType.AfterAttack)
            {
                return;
            }

            if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0)
            {
                return;
            }

            switch (Args.Target.Type)
            {
            case GameObjectType.AIHeroClient:
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                {
                    var target = (AIHeroClient)Args.Target;
                    if (target != null && target.IsValidTarget() && !target.IsUnKillable())
                    {
                        if (ComboOption.UseR && R.IsReady() &&
                            R.Ammo >= ComboOption.GetSlider("ComboRLimit").Value&&
                            target.IsValidTarget(R.Range) &&
                            target.HealthPercent <= ComboOption.GetSlider("ComboRHP").Value)
                        {
                            var rPred = R.GetPrediction(target);

                            if (rPred.Hitchance >= HitChance.High)
                            {
                                R.Cast(rPred.UnitPosition);
                            }
                        }
                        else if (ComboOption.UseQ && Q.IsReady() && target.IsValidTarget(Q.Range))
                        {
                            var qPred = Q.GetPrediction(target);

                            if (qPred.Hitchance >= HitChance.High)
                            {
                                Q.Cast(qPred.CastPosition);
                            }
                        }
                        else if (ComboOption.UseE && E.IsReady() && target.InAutoAttackRange())
                        {
                            E.Cast(Me.PreviousPosition);
                        }
                    }
                }
            }
            break;

            case GameObjectType.AIMinionClient:
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                {
                    if (Args.Target is AIMinionClient)
                    {
                        var mob = (AIMinionClient)Args.Target;
                        if (mob != null && mob.IsValidTarget() && mob.GetJungleType() != JungleType.Unknown)
                        {
                            if (JungleClearOption.HasEnouguMana())
                            {
                                if (JungleClearOption.UseR && R.IsReady() &&
                                    R.Ammo >=
                                    JungleClearOption.GetSlider("JungleClearRLimit").Value)
                                {
                                    R.CastIfHitchanceEquals(mob, HitChance.Medium);
                                }
                                else if (JungleClearOption.UseQ && Q.IsReady() && mob.IsValidTarget(Q.Range))
                                {
                                    Q.CastIfHitchanceEquals(mob, HitChance.Medium);
                                }
                                else if (JungleClearOption.UseE && E.IsReady() && mob.InAutoAttackRange())
                                {
                                    E.Cast(Me.PreviousPosition);
                                }
                            }
                        }
                    }
                }
            }
            break;
            }
        }
Example #30
0
        private static void PostAttack(object sender, PostAttackEventArgs Args)
        {
            if (Args.Target == null || Args.Target.IsDead || Args.Target.Health < 1)
            {
                return;
            }

            if (Orbwalker.Mode == OrbwalkingMode.Combo)
            {
                var target = Args.Target as Obj_AI_Hero;

                if (target != null && !target.IsDead)
                {
                    if (ComboOption.UseW && W.Ready && target.IsValidTarget(W.Range))
                    {
                        W.Cast();
                    }
                    else if (ComboOption.UseQ && Q.Ready && target.IsValidTarget(Q.Range))
                    {
                        var qPred = Q.GetPrediction(target);

                        if (qPred.HitChance >= HitChance.Medium)
                        {
                            Q.Cast(qPred.CastPosition);
                        }
                    }
                    else if (ComboOption.UseE && E.Ready && target.IsValidTarget(E.Range))
                    {
                        var ePred = E.GetPrediction(target);

                        if (ePred.HitChance >= HitChance.High)
                        {
                            E.Cast(ePred.UnitPosition);
                        }
                    }
                }
            }
            else if (Orbwalker.Mode == OrbwalkingMode.Laneclear && JungleClearOption.HasEnouguMana() && Args.Target.IsMob())
            {
                var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(R.Range) && x.IsMob()).ToArray();

                if (mobs.Any())
                {
                    var mob    = mobs.FirstOrDefault();
                    var bigmob = mobs.FirstOrDefault(x => !x.Name.ToLower().Contains("mini"));

                    if (JungleClearOption.UseW && W.Ready && bigmob != null && bigmob.IsValidTarget(W.Range))
                    {
                        W.Cast();
                    }
                    else if (JungleClearOption.UseE && E.Ready)
                    {
                        if (bigmob != null && bigmob.IsValidTarget(E.Range))
                        {
                            E.Cast(bigmob);
                        }
                        else
                        {
                            var eMobs = mobs.Where(x => x.IsValidTarget(E.Range)).ToArray();
                            var eFarm = E.GetSpellFarmPosition(eMobs);

                            if (eFarm.HitCount >= 2)
                            {
                                E.Cast(eFarm.CastPosition);
                            }
                        }
                    }
                    else if (JungleClearOption.UseQ && Q.Ready && mob != null && mob.IsValidTarget(Q.Range))
                    {
                        Q.Cast(mob);
                    }
                }
            }
        }