示例#1
0
        public virtual void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (PlayerSpells.W.IsReady())
            {
                var objAiHero = sender as Obj_AI_Hero;

                if (objAiHero == null || args.Target == null || !objAiHero.IsAlly)
                {
                    return;
                }

                if (!args.Target.IsEnemy && !(args.Target is Obj_AI_Turret) && !(args.Target is Obj_Barracks))
                {
                    return;
                }

                if (sender.Type != GameObjectType.obj_AI_Hero || !args.SData.IsAutoAttack())
                {
                    return;
                }

                if (!MenuLocal.Item("Mode.W" + objAiHero.ChampionName).GetValue <bool>())
                {
                    return;
                }

                if (objAiHero.Distance(ObjectManager.Player) > PlayerSpells.W.Range)
                {
                    return;
                }

                PlayerSpells.W.Cast();
            }
        }
示例#2
0
        private static void DrawHorror()
        {
            //foreach (var obj in ObjectManager.Get<Obj_AI_Base>().Where(o => !o.IsDead))
            //{
            //    if (obj.IsValidTarget(E.Range) && MenuLocal.Item(GetPcModeStringValue + "DrawEStatus").GetValue<StringList>().SelectedIndex == 1 & obj.HasNocturneUnspeakableHorror())
            //    {
            //        if (NocturneUnspeakableHorror.EndTime >= Game.Time)
            //        {
            //            var circle =
            //                new CommonGeometry.Circle2(obj.Position.To2D(), 180f,
            //                    Game.Time*100 - NocturneUnspeakableHorror.StartTime*100,
            //                    NocturneUnspeakableHorror.EndTime*100 - NocturneUnspeakableHorror.StartTime*100)
            //                    .ToPolygon();
            //            circle.Draw(Color.Red, 5);
            //            // Drawing.DrawCircle(ObjectManager.Player.Position, 180f, System.Drawing.Color.LightCoral);
            //        }
            //    }

            //}
            var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget() && MenuLocal.Item(GetPcModeStringValue + "DrawEStatus").GetValue <StringList>().SelectedIndex == 1 & t.HasNocturneUnspeakableHorror())
            {
                if (NocturneUnspeakableHorror.EndTime >= Game.Time)
                {
                    var circle = new CommonGeometry.Circle2(t.Position.To2D(), 180f, Game.Time * 100 - NocturneUnspeakableHorror.StartTime * 100, NocturneUnspeakableHorror.EndTime * 100 - NocturneUnspeakableHorror.StartTime * 100).ToPolygon();
                    circle.Draw(Color.Red, 3);
                    // Drawing.DrawCircle(ObjectManager.Player.Position, 180f, System.Drawing.Color.LightCoral);
                }
            }
        }
示例#3
0
        private static void DrawMinionLastHit()
        {
            var drawMinionLastHit = MenuLocal.Item(GetPcModeStringValue + "Draw.MinionLastHit").GetValue <StringList>().SelectedIndex;

            if (drawMinionLastHit != 0)
            {
                var minions = MinionManager.GetMinions(ObjectManager.Player.Position, (float)(Q.Range * 1.5), MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.MaxHealth);

                switch (drawMinionLastHit)
                {
                case 1:
                {
                    foreach (var m in minions.ToList().Where(m => m.Health < ObjectManager.Player.TotalAttackDamage)
                             )
                    {
                        Render.Circle.DrawCircle(m.Position, m.BoundingRadius, Color.Wheat);
                    }
                    break;
                }

                case 2:
                {
                    foreach (var m in minions.ToList().Where(m => m.Health < Q.GetDamage(m)))
                    {
                        Render.Circle.DrawCircle(m.Position, m.BoundingRadius, Color.Wheat);
                    }
                    break;
                }
                }
            }
        }
示例#4
0
        private static void DrawSpells()
        {
            var t = TargetSelector.GetTarget(Q.Range + 500, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget())
            {
                var targetBehind = t.Position + Vector3.Normalize(t.ServerPosition - ObjectManager.Player.Position) * 80;
                Render.Circle.DrawCircle(targetBehind, 75f, Color.Red, 2);
            }

            var drawQ = MenuLocal.Item(GetPcModeStringValue + "Draw.Q").GetValue <Circle>();

            if (drawQ.Active && Q.Level > 0)
            {
                Render.Circle.DrawCircle(ObjectManager.Player.Position, CommonBuffs.MegaQRange, Q.IsReady() ? drawQ.Color: Color.LightGray, Q.IsReady() ? 5 : 1);
            }

            var drawW = MenuLocal.Item(GetPcModeStringValue + "Draw.W").GetValue <Circle>();

            if (drawW.Active && W.Level > 0)
            {
                Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, W.IsReady() ? drawW.Color : Color.LightGray, W.IsReady() ? 5 : 1);
            }

            var drawE = MenuLocal.Item(GetPcModeStringValue + "Draw.E").GetValue <Circle>();

            if (drawE.Active && E.Level > 0)
            {
                Render.Circle.DrawCircle(ObjectManager.Player.Position, E.Range, E.IsReady() ? drawE.Color: Color.LightGray, E.IsReady() ? 5 : 1);
            }
        }
示例#5
0
        private static void Game_OnWndProc(WndEventArgs args)
        {
            if (ModeConfig.MenuKeys.Item("Key.ChangeCombo").GetValue <KeyBind>().Active&& Environment.TickCount > LastComboChangeKeyTick + 250)
            {
                var newValue = MenuLocal.Item("Combo.Mode").GetValue <StringList>().SelectedIndex + 1;
                if (newValue == MenuLocal.Item("Combo.Mode").GetValue <StringList>().SList.Length)
                {
                    newValue = 0;
                }

                MenuLocal.Item("Combo.Mode").SetValue(new StringList(new[] { "Q : R", "W : R", "Auto" }, newValue));

                LastComboChangeKeyTick = Environment.TickCount;
            }
            //if (args.Msg != 0x20a)
            //{
            //    return;
            //}

            //if (!MenuLocal.Item("ComboMode.Key").GetValue<bool>())
            //{
            //    return;
            //}

            //var newValue = MenuLocal.Item("Combo.Mode").GetValue<StringList>().SelectedIndex + 1;
            //if (newValue == MenuLocal.Item("Combo.Mode").GetValue<StringList>().SList.Length)
            //{
            //    newValue = 0;
            //}

            //MenuLocal.Item("Combo.Mode").SetValue(new StringList(new[] {"Off", "Q:R", "W:R", "Custom"}, newValue));
        }
示例#6
0
        private static void DrawingOnOnEndScene(EventArgs args)
        {
            if (Drawing.Direct3DDevice == null || Drawing.Direct3DDevice.IsDisposed)
            {
                return;
            }

            if (ObjectManager.Player.IsDead)
            {
                return;
            }

            DrawSpells();

            var drawKillableEnemyMini = MenuLocal.Item(GetPcModeStringValue + "DrawKillableEnemyMini").GetValue <Circle>();

            if (drawKillableEnemyMini.Active)
            {
                foreach (
                    var e in
                    HeroManager.Enemies.Where(
                        e => e.IsVisible && !e.IsDead && !e.IsZombie && e.Health < Common.CommonMath.GetComboDamage(e)))
                {
                    if ((int)Game.Time % 2 == 1)
                    {
                        #pragma warning disable 618
                        LeagueSharp.Common.Utility.DrawCircle(e.Position, 850, drawKillableEnemyMini.Color, 2, 30, true);
                        #pragma warning restore 618
                    }
                }
            }
        }
示例#7
0
        private static void ExecuteHarass()
        {
            if (W.StillJumped())
            {
                W.Cast();
            }

            if (MenuLocal.Item("Harass.UseQ").GetValue <bool>() && Q.CanCast(Target))
            {
                PlayerSpells.CastQ(Target);
            }

            var harassUseW = MenuLocal.Item("Harass.UseW").GetValue <StringList>().SelectedIndex;

            if (harassUseW != 0 && W.CanCast(Target))
            {
                if (harassUseW == 1)
                {
                    CastW();
                }
                else if (harassUseW == 2 && Target.HasMarkedWithQ())
                {
                    CastW();
                }
            }

            if (MenuLocal.Item("Harass.UseE").GetValue <bool>() && E.CanCast(Target))
            {
                PlayerSpells.CastE(Target);
            }
        }
示例#8
0
        private static void ExecuteHarass()
        {
            if (MenuLocal.Item("Harass.UseQ").GetValue <bool>() && Q.CanCast(Target))
            {
                PlayerSpells.CastQ(Target);
            }

            var harassUseW = MenuLocal.Item("Harass.UseW").GetValue <StringList>().SelectedIndex;

            if (harassUseW != 0 && W.CanCast(Target))
            {
                switch (harassUseW)
                {
                case 1:
                {
                    PlayerSpells.CastW(Target);
                    break;
                }

                case 2:
                {
                    if (Target.HasMarkedWithQ())
                    {
                        PlayerSpells.CastW(Target);
                    }
                    break;
                }
                }
            }

            if (MenuLocal.Item("Harass.UseE").GetValue <bool>() && E.CanCast(Target))
            {
                PlayerSpells.CastE(Target);
            }
        }
示例#9
0
        private static void ExecuteQuickLaneClear()
        {
            EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);

            if (!MenuLocal.Item("Lane.Enable").GetValue <KeyBind>().Active)
            {
                return;
            }

            if (Q.IsReady())
            {
                var minions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range);

                foreach (var minion in MinionManager.GetMinions(Q.Range)
                         .Where(m => m.CanKillableWith(Q) && Q.CanCast(m)))
                {
                    Champion.PlayerSpells.CastQObjects(minion);
                }
            }

            if (!Q.IsReady() && E.IsReady())
            {
                var minions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, E.Range);

                foreach (var minion in minions.Where(m =>
                                                     HealthPrediction.GetHealthPrediction(m,
                                                                                          (int)(ObjectManager.Player.AttackCastDelay * 1000), Game.Ping / 2 - 100) < 0)
                         .Where(m => m.CanKillableWith(E) && E.CanCast(m)))
                {
                    Champion.PlayerSpells.CastQObjects(minion);
                }
            }
        }
示例#10
0
        private static void InitRefreshMenuItems()
        {
            int argsValue = MenuLocal.Item("DrawPc.Mode").GetValue <StringList>().SelectedIndex;

            MenuLocalSubMenuItems.Clear();
            GetMenuItems(MenuLocal);

            foreach (var item in MenuLocalSubMenuItems)
            {
                item.Show(true);
                switch (argsValue)
                {
                case 0:
                    if (!item.Name.StartsWith("newpc.") && !item.Name.StartsWith("DrawPc.Mode") && !item.Name.StartsWith("Draw.Enable"))
                    {
                        item.Show(false);
                    }
                    break;

                case 1:
                    if (!item.Name.StartsWith("oldpc.") && !item.Name.StartsWith("DrawPc.Mode") && !item.Name.StartsWith("Draw.Enable"))
                    {
                        item.Show(false);
                    }
                    break;
                }
            }
        }
示例#11
0
        static void ExecuteSpells()
        {
            if (!R.IsReady())
            {
                if (ActiveComboMode == ActiveComboMode.Mode2xQ)
                {
                    if (MenuLocal.Item("Combo.UseW").GetValue <StringList>().SelectedIndex != 0)
                    {
                        Champion.PlayerSpells.CastW(Target);
                    }

                    if (MenuLocal.Item("Combo.UseE").GetValue <StringList>().SelectedIndex != 0)
                    {
                        Champion.PlayerSpells.CastE(Target);
                    }

                    Champion.PlayerSpells.CastQ(Target);
                }

                if (ActiveComboMode == ActiveComboMode.Mode2xW || ActiveComboMode == ActiveComboMode.ModeAuto)
                {
                    if (MenuLocal.Item("Combo.UseE").GetValue <StringList>().SelectedIndex != 0)
                    {
                        Champion.PlayerSpells.CastE(Target);
                    }

                    Champion.PlayerSpells.CastQ(Target);

                    if (MenuLocal.Item("Combo.UseW").GetValue <StringList>().SelectedIndex != 0)
                    {
                        Champion.PlayerSpells.CastW(Target);
                    }
                }
            }
            else
            {
                if (!Q.IsReady() && ActiveComboMode == ActiveComboMode.Mode2xQ && CommonHelper.SpellRStatus != CommonHelper.SpellRName.R2xQ && Q.Cooldown > 1)
                {
                    if (MenuLocal.Item("Combo.UseW").GetValue <StringList>().SelectedIndex != 0)
                    {
                        Champion.PlayerSpells.CastW(Target);
                    }

                    if (MenuLocal.Item("Combo.UseE").GetValue <StringList>().SelectedIndex != 0)
                    {
                        Champion.PlayerSpells.CastE(Target);
                    }
                }

                if (ActiveComboMode == ActiveComboMode.Mode2xW && CommonHelper.SpellRStatus != CommonHelper.SpellRName.R2xW && (W.StillJumped() || W.Cooldown > 1))
                {
                    Champion.PlayerSpells.CastQ(Target);

                    if (MenuLocal.Item("Combo.UseE").GetValue <StringList>().SelectedIndex != 0)
                    {
                        Champion.PlayerSpells.CastE(Target);
                    }
                }
            }
        }
示例#12
0
        private static void DrawBuffs()
        {
            if (MenuLocal.Item(GetPcModeStringValue + "DrawBuffs").GetValue <bool>())
            {
                foreach (var hero in HeroManager.AllHeroes)
                {
                    var jungleBuffs =
                        (from b in hero.Buffs
                         join b1 in CommonBuffManager.JungleBuffs on b.DisplayName equals b1.BuffName
                         select new { b, b1 }).Distinct();

                    foreach (var buffName in jungleBuffs.ToList())
                    {
                        var circle1 =
                            new CommonGeometry.Circle2(new Vector2(hero.Position.X + 3, hero.Position.Y - 3),
                                                       140 + (buffName.b1.Number * 20),
                                                       Game.Time - buffName.b.StartTime, buffName.b.EndTime - buffName.b.StartTime).ToPolygon();
                        circle1.Draw(Color.Black, 3);

                        var circle =
                            new CommonGeometry.Circle2(hero.Position.To2D(), 140 + (buffName.b1.Number * 20),
                                                       Game.Time - buffName.b.StartTime, buffName.b.EndTime - buffName.b.StartTime).ToPolygon();
                        circle.Draw(buffName.b1.Color, 3);
                    }
                }
            }
        }
示例#13
0
        private static void DrawSpells()
        {
            var t = TargetSelector.GetTarget(Q.Range + 500, TargetSelector.DamageType.Physical);

            var drawQ = MenuLocal.Item(GetPcModeStringValue + "Draw.Q").GetValue <Circle>();

            if (drawQ.Active && Q.Level > 0)
            {
                Render.Circle.DrawCircle(ObjectManager.Player.Position, Q.Range, Q.IsReady() ? drawQ.Color: Color.LightGray, Q.IsReady() ? 5 : 1);
            }

            var drawW = MenuLocal.Item(GetPcModeStringValue + "Draw.W").GetValue <Circle>();

            if (drawW.Active && W.Level > 0)
            {
                Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, W.IsReady() ? drawW.Color : Color.LightGray, W.IsReady() ? 5 : 1);
            }

            var drawE = MenuLocal.Item(GetPcModeStringValue + "Draw.E").GetValue <Circle>();

            if (drawE.Active && E.Level > 0)
            {
                Render.Circle.DrawCircle(ObjectManager.Player.Position, Modes.ModeSettings.MaxERange, E.IsReady() ? drawE.Color: Color.LightGray, E.IsReady() ? 5 : 1);
            }

            var drawR = MenuLocal.Item(GetPcModeStringValue + "Draw.R").GetValue <Circle>();

            if (drawR.Active && R.Level > 0)
            {
                Render.Circle.DrawCircle(ObjectManager.Player.Position, R.Range, E.IsReady() ? drawR.Color : Color.LightGray, E.IsReady() ? 5 : 1);
            }
        }
示例#14
0
        private static void DrawPlayerBuffs()
        {
            var drawBuffs = MenuLocal.Item(GetPcModeStringValue + "DrawPlayerBuffs").GetValue <StringList>().SelectedIndex;

            if ((drawBuffs == 1 | drawBuffs == 3) && ObjectManager.Player.HasBlueBuff())
            {
                if (BlueBuff.EndTime >= Game.Time)
                {
                    var circle1 = new CommonGeometry.Circle2(new Vector2(ObjectManager.Player.Position.X + 3, ObjectManager.Player.Position.Y - 3), 170f, Game.Time - BlueBuff.StartTime, BlueBuff.EndTime - BlueBuff.StartTime).ToPolygon();
                    circle1.Draw(Color.Black, 4);

                    var circle = new CommonGeometry.Circle2(ObjectManager.Player.Position.To2D(), 170f, Game.Time - BlueBuff.StartTime, BlueBuff.EndTime - BlueBuff.StartTime).ToPolygon();
                    circle.Draw(Color.Blue, 4);
                }
            }

            if ((drawBuffs == 2 || drawBuffs == 3) && ObjectManager.Player.HasRedBuff())
            {
                if (RedBuff.EndTime >= Game.Time)
                {
                    var circle1 = new CommonGeometry.Circle2(new Vector2(ObjectManager.Player.Position.X + 3, ObjectManager.Player.Position.Y - 3), 150f, Game.Time - RedBuff.StartTime, RedBuff.EndTime - RedBuff.StartTime).ToPolygon();
                    circle1.Draw(Color.Black, 4);

                    var circle = new CommonGeometry.Circle2(ObjectManager.Player.Position.To2D(), 150f, Game.Time - RedBuff.StartTime, RedBuff.EndTime - RedBuff.StartTime).ToPolygon();
                    circle.Draw(Color.Red, 4);
                }
            }
        }
示例#15
0
        private static void DrawingOnOnEndScene(EventArgs args)
        {
            if (MenuLocal.Item(GetPcModeStringValue + "DrawRRange").GetValue <StringList>().SelectedIndex == 2 || MenuLocal.Item(GetPcModeStringValue + "DrawRRange").GetValue <StringList>().SelectedIndex == 3)
            {
            #pragma warning disable 618
                Utility.DrawCircle(ObjectManager.Player.Position, R.Range, R.IsReady() ? Color.Coral: Color.DimGray, thickness: 1, quality: 23, onMinimap: true);
            #pragma warning restore 618
            }

            var drawKillableEnemyMini = MenuLocal.Item(GetPcModeStringValue + "DrawKillableEnemyMini").GetValue <Circle>();
            if (drawKillableEnemyMini.Active)
            {
                foreach (
                    var e in
                    HeroManager.Enemies.Where(
                        e => e.IsVisible && !e.IsDead && !e.IsZombie && e.Health < Nocturne.GetComboDamage(e)))
                {
                    if ((int)Game.Time % 2 == 1)
                    {
                        Utility.DrawCircle(e.Position, 850, drawKillableEnemyMini.Color, 2, 30, true);
                        Render.Circle.CreateVertexes();
                    }
                }
            }
        }
示例#16
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            if (!MenuLocal.Item("JungleActive").GetValue <bool>())
            {
                return;
            }

            if (MenuLocal.Item("BuffManager.Active").GetValue <StringList>().SelectedIndex == 0)
            {
                return;
            }

            if ((int)Game.ClockTime - nextTime >= 0)
            {
                nextTime = (int)Game.ClockTime + 1;
                IEnumerable <Obj_AI_Base> minions =
                    ObjectManager.Get <Obj_AI_Base>()
                    .Where(minion => !minion.IsDead && minion.IsValid && minion.Name.ToUpper().StartsWith("SRU"));

                IEnumerable <JungleCamp> junglesAlive =
                    JungleMobs.Where(
                        jungle =>
                        !jungle.IsDead &&
                        jungle.Names.Any(
                            s =>
                            minions.Where(minion => minion.Name == s)
                            .Select(minion => minion.Name)
                            .FirstOrDefault() != null));
                foreach (JungleCamp jungle in junglesAlive)
                {
                    jungle.Visibled = true;
                }

                IEnumerable <JungleCamp> junglesDead =
                    JungleMobs.Where(
                        jungle =>
                        !jungle.IsDead && jungle.Visibled &&
                        jungle.Names.All(
                            s =>
                            minions.Where(minion => minion.Name == s)
                            .Select(minion => minion.Name)
                            .FirstOrDefault() == null));

                foreach (JungleCamp jungle in junglesDead)
                {
                    jungle.IsDead          = true;
                    jungle.Visibled        = false;
                    jungle.NextRespawnTime = (int)Game.ClockTime + jungle.RespawnTime;
                }

                foreach (JungleCamp jungleCamp in
                         JungleMobs.Where(jungleCamp => (jungleCamp.NextRespawnTime - (int)Game.ClockTime) <= 0))
                {
                    jungleCamp.IsDead          = false;
                    jungleCamp.NextRespawnTime = 0;
                }
            }
        }
示例#17
0
        private void GameOnOnUpdate(EventArgs args)
        {
            // NocturneParanoia
            var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);

            if (t.IsValidTarget() &&
                MenuLocal.Item(GetPcModeStringValue + "DrawEStatus").GetValue <StringList>().SelectedIndex == 1 & t.HasNocturneUnspeakableHorror())
            {
                BuffInstance b = t.Buffs.Find(buff => buff.DisplayName == "NocturneUnspeakableHorror");
                if (NocturneUnspeakableHorror.EndTime < Game.Time || b.EndTime > NocturneUnspeakableHorror.EndTime)
                {
                    NocturneUnspeakableHorror.StartTime = b.StartTime;
                    NocturneUnspeakableHorror.EndTime   = b.EndTime - 1;
                }
            }

            //foreach (var b in ObjectManager.Player.Buffs.Where(b => b.DisplayName.Contains("NocturneParanoiaTarget")))
            //{

            //    Console.WriteLine(b.DisplayName + " : " + b.StartTime + " : " + b.EndTime + " : " + Game.Time);
            //}



            if (MenuLocal.Item(GetPcModeStringValue + "DrawRStatus").GetValue <StringList>().SelectedIndex == 1 && ObjectManager.Player.HasNocturneParanoia())
            {
                BuffInstance b = ObjectManager.Player.Buffs.Find(buff => buff.DisplayName == "NocturneParanoiaTarget");
                if (NocturneParanoia.EndTime < Game.Time || b.EndTime > NocturneParanoia.EndTime)
                {
                    NocturneParanoia.StartTime = b.StartTime;
                    NocturneParanoia.EndTime   = b.EndTime;
                }
            }


            var drawBuffs = MenuLocal.Item(GetPcModeStringValue + "DrawBuffs").GetValue <StringList>().SelectedIndex;

            if ((drawBuffs == 1 | drawBuffs == 3) && ObjectManager.Player.HasBlueBuff())
            {
                BuffInstance b = ObjectManager.Player.Buffs.Find(buff => buff.DisplayName == "CrestoftheAncientGolem");
                if (BlueBuff.EndTime < Game.Time || b.EndTime > BlueBuff.EndTime)
                {
                    BlueBuff.StartTime = b.StartTime;
                    BlueBuff.EndTime   = b.EndTime;
                }
            }

            if ((drawBuffs == 2 | drawBuffs == 3) && ObjectManager.Player.HasRedBuff())
            {
                BuffInstance b = ObjectManager.Player.Buffs.Find(buff => buff.DisplayName == "BlessingoftheLizardElder");
                if (RedBuff.EndTime < Game.Time || b.EndTime > RedBuff.EndTime)
                {
                    RedBuff.StartTime = b.StartTime;
                    RedBuff.EndTime   = b.EndTime;
                }
            }
        }
示例#18
0
        private static void ExecuteLaneClear()
        {
            if (!ModeConfig.MenuFarm.Item("Farm.Enable").GetValue <KeyBind>().Active)
            {
                return;
            }

            if (ObjectManager.Player.ManaPercent < LaneMinManaPercent)
            {
                return;
            }

            if (Q.IsReady() && MenuLocal.Item("Lane.UseQ").GetValue <StringList>().SelectedIndex != 0)
            {
                var minions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range).Where(m => !m.UnderTurret(true));

                if (ModeConfig.MenuConfig.Item("Lane.LaneQuick").GetValue <KeyBind>().Active)
                {
                    foreach (
                        var minion in
                        minions.Where(m => m.CanKillableWith(Q) && Q.CanCast(m)))
                    {
                        Champion.PlayerSpells.CastQObjects(minion);
                    }
                }
                else
                {
                    foreach (
                        var minion in
                        minions.Where(
                            m =>
                            HealthPrediction.GetHealthPrediction(m,
                                                                 (int)(ObjectManager.Player.AttackCastDelay * 1000), Game.Ping / 2 - 100) < 0)
                        .Where(m => m.CanKillableWith(Q) && Q.CanCast(m)))
                    {
                        Champion.PlayerSpells.CastQObjects(minion);
                    }
                }
            }

            if ((MenuLocal.Item("Lane.UseQ").GetValue <StringList>().SelectedIndex == 0 || !Q.IsReady()) && E.IsReady() &&
                MenuLocal.Item("Lane.UseE").GetValue <StringList>().SelectedIndex != 0)
            {
                var minions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, E.Range);

                foreach (
                    var minion in
                    minions.Where(
                        m =>
                        HealthPrediction.GetHealthPrediction(m,
                                                             (int)(ObjectManager.Player.AttackCastDelay * 1000), Game.Ping / 2 - 100) < 0)
                    .Where(m => m.Health < E.GetDamage(m) - 10 && E.CanCast(m)))
                {
                    Champion.PlayerSpells.CastQObjects(minion);
                }
            }
        }
示例#19
0
        private static void GameOnOnUpdate(EventArgs args)
        {
            if (Modes.ModeConfig.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                //Game.PrintChat(Q.Cooldown.ToString());
                if (Target.IsValidTarget(Q.Range) && CommonHelper.SpellRStatus == CommonHelper.SpellRName.R2xQ && Target.Health < ComboDamage2xQ(Target))
                {
                    Q2.CastOnUnit(Target);
                }

                if (Target.IsValidTarget(W.Range) && CommonHelper.SpellRStatus == CommonHelper.SpellRName.R2xW && Target.Health < ComboDamage2xW(Target))
                {
                    W2.Cast(Target);
                }

                ExecuteFarCombo();

                if (MenuLocal.Item("Combo.Ignite").GetValue <StringList>().SelectedIndex == 1)
                {
                    if (IgniteSlot != SpellSlot.Unknown &&
                        ObjectManager.Player.Spellbook.CanUseSpell(IgniteSlot) == SpellState.Ready)
                    {
                        if (Target.IsValidTarget(650) && !Target.HaveImmortalBuff() &&
                            ObjectManager.Player.GetSummonerSpellDamage(Target, Damage.SummonerSpell.Ignite) + 150 >=
                            Target.Health && (!Q.IsReady() || W.StillJumped()))
                        {
                            ObjectManager.Player.Spellbook.CastSpell(IgniteSlot, Target);
                        }
                    }
                }

                switch (ComboMode)
                {
                case ComboMode.Mode2xQ:
                {
                    ActiveComboMode = ActiveComboMode.Mode2xQ;
                    ExecuteMode2xQ();
                    break;
                }

                case ComboMode.Mode2xW:
                {
                    ActiveComboMode = ActiveComboMode.Mode2xW;
                    ExecuteMode2xW();
                    break;
                }

                case ComboMode.ModeAuto:
                {
                    ActiveComboMode = ActiveComboMode.ModeAuto;
                    ExecuteModeAuto();
                    break;
                }
                }
                ExecuteSpells();
            }
        }
示例#20
0
        private static void ExecuteToggle()
        {
            if (Modes.ModeConfig.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo || Modes.ModeConfig.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
            {
                return;
            }

            if (W.StillJumped())
            {
                W.Cast();
            }

            if (MenuLocal.Item("Toggle.UseQ").GetValue <bool>() && Q.CanCast(Target))
            {
                PlayerSpells.CastQ(Target);
            }

            if (MenuLocal.Item("Toggle.UseW").GetValue <bool>() && W.CanCast(Target))
            {
                PlayerSpells.CastW(Target, true);
                //var nReturn = MenuLocal.Item("Harass.UseW.Return").GetValue<StringList>().SelectedIndex;
                //{
                //    if (nReturn == 0)
                //    {
                //        PlayerSpells.CastW(Target, false);
                //    }

                //    if (nReturn == 1)
                //    {
                //        PlayerSpells.CastW(Target, true);
                //    }

                //    if (nReturn == 2)
                //    {
                //        PlayerSpells.CastW(Target, false);

                //        if (Target.HasSoulShackle())
                //        {
                //            if (Target.Distance(PlayerObjects.LeblancSoulShackle.Object.Position) < E.Range && W.StillJumped())
                //            {
                //                W.Cast();
                //            }
                //        }
                //        else
                //        {
                //            W.Cast();
                //        }

                //    }
                //}
            }

            if (MenuLocal.Item("Toggle.UseE").GetValue <bool>() && E.CanCast(Target))
            {
                PlayerSpells.CastE(Target);
            }
        }
示例#21
0
        private static void ExecuteSimpleMode()
        {
            if (!ModeConfig.MenuFarm.Item("Farm.Enable").GetValue <KeyBind>().Active)
            {
                return;
            }

            if (ObjectManager.Player.ManaPercent <= CommonManaManager.MinManaPercent(CommonManaManager.FarmMode.Jungle))
            {
                return;
            }

            var mobs = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth);

            if (mobs.Count <= 0)
            {
                return;
            }

            var mob = mobs[0];

            if (!Common.CommonHelper.ShouldCastSpell(mob))
            {
                return;
            }


            var jUseQ = MenuLocal.Item("Jungle.Q.Use").GetValue <StringList>().SelectedIndex;

            if (jUseQ != 0 && Q.CanCast(mob))
            {
                if (CommonManaManager.GetMobType(mob, CommonManaManager.FromMobClass.ByType) == CommonManaManager.MobTypes.Big)
                {
                    Champion.PlayerSpells.Cast.Q(mob);
                }

                if (jUseQ == 2 && mob.Health < PlayerSpells.WarwickDamage.Q(PlayerSpells.WarwickDamage.QFor.Enemy))
                {
                    Champion.PlayerSpells.Cast.Q(mob);
                }
            }

            var jUseE = MenuLocal.Item("Jungle.E.Use").GetValue <StringList>().SelectedIndex;

            if (jUseE != 0 && E.IsReady() && mob.Distance(ObjectManager.Player) < PlayerSpells.E.Range)
            {
                if (CommonManaManager.GetMobType(mob, CommonManaManager.FromMobClass.ByType) == CommonManaManager.MobTypes.Big)
                {
                    Champion.PlayerSpells.Cast.E();
                }

                if (jUseE == 2)
                {
                    Champion.PlayerSpells.Cast.E();
                }
            }
        }
示例#22
0
        public static float JungleMinManaPercent(Obj_AI_Base mob)
        {
            // Enable / Disable Min Mana
            if (!ModeConfig.MenuFarm.Item("Farm.MinMana.Enable").GetValue <KeyBind>().Active)
            {
                return(0f);
            }

            // Don't Control Min Mana
            if (MenuLocal.Item("MinMana.Jungle.DontCheckBlueBuff").GetValue <bool>() &&
                ObjectManager.Player.HasBuffInst("CrestoftheAncientGolem"))
            {
                return(0f);
            }

            var dontCheckMinMana =
                MenuLocal.Item("MinMana.Jungle.DontCheckEnemyBuff").GetValue <StringList>().SelectedIndex;

            if ((dontCheckMinMana == 1 || dontCheckMinMana == 3) &&
                mob.GetMobTeam(Q.Range) == (GameObjectTeam)ObjectManager.Player.Team &&
                (mob.BaseSkinName == "SRU_Blue" || mob.BaseSkinName == "SRU_Red"))
            {
                return(0f);
            }

            if ((dontCheckMinMana == 2 || dontCheckMinMana == 3) &&
                mob.GetMobTeam(Q.Range) != (GameObjectTeam)ObjectManager.Player.Team &&
                (mob.BaseSkinName == "SRU_Blue" || mob.BaseSkinName == "SRU_Red"))
            {
                return(0f);
            }

            // Return Min Mana Baron / Dragon
            if (GetMobType(mob) == MobTypes.Baron || GetMobType(mob) == MobTypes.Dragon)
            {
                return(MenuLocal.Item("MinMana.Jungle.BigBoys").GetValue <Slider>().Value);
            }

            // Return Min Mana Ally Big / Small
            if (mob.GetMobTeam(Q.Range) == (GameObjectTeam)ObjectManager.Player.Team)
            {
                return(GetMobType(mob) == MobTypes.Big
                    ? MenuLocal.Item("MinMana.Jungle.AllyBig").GetValue <Slider>().Value
                    : MenuLocal.Item("MinMana.Jungle.AllySmall").GetValue <Slider>().Value);
            }

            // Return Min Mana Enemy Big / Small
            if (mob.GetMobTeam(Q.Range) != (GameObjectTeam)ObjectManager.Player.Team)
            {
                return(GetMobType(mob) == MobTypes.Big
                    ? MenuLocal.Item("MinMana.Jungle.EnemyBig").GetValue <Slider>().Value
                    : MenuLocal.Item("MinMana.Jungle.EnemySmall").GetValue <Slider>().Value);
            }

            return(0f);
        }
示例#23
0
        static void ExecuteComboMode()
        {
            if (Target.IsValidTarget(Q.Range) && CommonHelper.SpellRStatus == CommonHelper.SpellRName.R2xQ && Target.Health < ComboDamage2xQ(Target))
            {
                Q2.CastOnUnit(Target);
            }

            if (Target.IsValidTarget(W.Range) && CommonHelper.SpellRStatus == CommonHelper.SpellRName.R2xW && Target.Health < ComboDamage2xW(Target))
            {
                PlayerSpells.CastW2(Target.Position);
            }

            //ExecuteFarCombo();

            if (MenuLocal.Item("Combo.Ignite").GetValue <StringList>().SelectedIndex == 1)
            {
                if (IgniteSlot != SpellSlot.Unknown &&
                    ObjectManager.Player.Spellbook.CanUseSpell(IgniteSlot) == SpellState.Ready)
                {
                    if (Target.IsValidTarget(650) &&
                        ObjectManager.Player.GetSummonerSpellDamage(Target, Damage.SummonerSpell.Ignite) + 150 >=
                        Target.Health && (!Q.IsReady() || W.StillJumped()))
                    {
                        ObjectManager.Player.Spellbook.CastSpell(IgniteSlot, Target);
                    }
                }
            }

            switch (ComboMode)
            {
            case ComboMode.Mode2xQ:
            {
                ActiveComboMode = ActiveComboMode.Mode2xQ;
                ExecuteMode2xQ();
                break;
            }

            case ComboMode.Mode2xW:
            {
                ActiveComboMode = ActiveComboMode.Mode2xW;
                ExecuteMode2xW();
                break;
            }

            case ComboMode.ModeAuto:
            {
                ActiveComboMode = ActiveComboMode.ModeAuto;
                ExecuteModeAuto();
                break;
            }
            }

            ExecuteSpells();
            ExecuteCompleteCombo();
        }
示例#24
0
 private static void DrawKillableEnemy()
 {
     if (MenuLocal.Item(GetPcModeStringValue + "DrawKillableEnemy").GetValue <bool>())
     {
         var t = KillableEnemyAa;
         if (t.Item1 != null && t.Item1.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 800) && t.Item2 > 0)
         {
             CommonHelper.DrawText(CommonHelper.Text, $"{t.Item1.ChampionName}: {t.Item2} AA = Kill", (int)t.Item1.HPBarPosition.X + 85, (int)t.Item1.HPBarPosition.Y + 5, SharpDX.Color.GreenYellow);
         }
     }
 }
示例#25
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            if (!MenuLocal.Item("Draw.Enable").GetValue <bool>())
            {
                return;
            }

            DrawMinionLastHit();
            DrawKillableEnemy();
            DrawPlayerBuffs();
        }
示例#26
0
        private static void Spellbook_OnCastSpell(Spellbook sender, SpellbookCastSpellEventArgs args)
        {
            if (!MenuLocal.Item("Settings.BlockR").GetValue <bool>())
            {
                return;
            }

            if (args.Slot == SpellSlot.R && GetEnemyCount == 0)
            {
                args.Process = false;
            }
        }
示例#27
0
 private static void DrawViciousStrikesBuffTime()
 {
     if (MenuLocal.Item(GetPcModeStringValue + "Draw.W.BuffTime").GetValue <StringList>().SelectedIndex == 1 && CommonHelper.OlafHaveFrenziedStrikes)
     {
         if (OlafViciousStrikes.EndTime >= Game.Time)
         {
             var circle1 = new CommonGeometry.Circle2(new Vector2(ObjectManager.Player.Position.X + 3, ObjectManager.Player.Position.Y - 3), 190f, Game.Time * 100 - OlafViciousStrikes.StartTime * 100, OlafViciousStrikes.EndTime * 100 - OlafViciousStrikes.StartTime * 100).ToPolygon();
             circle1.Draw(Color.Black, 4);
             var circle = new CommonGeometry.Circle2(ObjectManager.Player.Position.To2D(), 190f, Game.Time * 100 - OlafViciousStrikes.StartTime * 100, OlafViciousStrikes.EndTime * 100 - OlafViciousStrikes.StartTime * 100).ToPolygon();
             circle.Draw(Color.GreenYellow, 4);
         }
     }
 }
示例#28
0
 private static void KillableEnemy()
 {
     if (MenuLocal.Item(GetPcModeStringValue + "DrawKillableEnemy").GetValue <bool>())
     {
         var t = KillableEnemyAa;
         if (t.Item1 != null && t.Item1.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 800) && t.Item2 > 0)
         {
             //CommonHelper.DrawText(CommonHelper.Text, $"{t.Item1.ChampionName}: {t.Item2} x AA Damage = Kill", (int)t.Item1.HPBarPosition.X + 65, (int)t.Item1.HPBarPosition.Y + 5, SharpDX.Color.White);
             CommonHelper.DrawText(CommonHelper.Text, $"{t.Item1.ChampionName}: {t.Item2} Combo = Kill", (int)t.Item1.HPBarPosition.X + 7, (int)t.Item1.HPBarPosition.Y + 36, SharpDX.Color.GreenYellow);
             //                    Common.CommonGeometry.DrawText(CommonGeometry.Text, ">>> Combo Kill <<<", t.Item1.HPBarPosition.X + 7, t.Item1.HPBarPosition.Y + 36, SharpDX.Color.White);
         }
     }
 }
示例#29
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            bool enabled = MenuLocal.Item("Draw.E1nable").GetValue <bool>();

            if (!enabled)
            {
                return;
            }
            DrawSpells();
            DrawMinionLastHit();
            KillableEnemy();
            DrawBuffs();
        }
示例#30
0
        private static void DrawRagnarokBuffTime()
        {
            if (MenuLocal.Item(GetPcModeStringValue + "Draw.R.BuffTime").GetValue <StringList>().SelectedIndex == 1 && CommonHelper.OlafHaveRagnarok)
            {
                if (OlafRagnarok.EndTime >= Game.Time)
                {
                    var circle1 = new CommonGeometry.Circle2(new Vector2(ObjectManager.Player.Position.X + 3, ObjectManager.Player.Position.Y - 3), 220f, Game.Time * 100 - OlafRagnarok.StartTime * 100, OlafRagnarok.EndTime * 100 - OlafRagnarok.StartTime * 100).ToPolygon();
                    circle1.Draw(Color.Black, 4);

                    var circle = new CommonGeometry.Circle2(ObjectManager.Player.Position.To2D(), 220f, Game.Time * 100 - OlafRagnarok.StartTime * 100, OlafRagnarok.EndTime * 100 - OlafRagnarok.StartTime * 100).ToPolygon();
                    circle.Draw(Color.DarkRed, 4);
                }
            }
        }