Beispiel #1
0
        public static void Drawing_Spot(EventArgs args)
        {
            if (!player.IsDead)
            {
                if (getCheckBoxItem(drawMenu, "fleeSpot"))
                {
                    var end        = player.ServerPosition.Extend(Game.CursorPos, 350).To3D();
                    var isWallDash = FleeManager.IsWallDash(end, 350);

                    var wallPoint = FleeManager.GetFirstWallPoint(player.ServerPosition, end);

                    if (!isWallDash || wallPoint.Distance(player.ServerPosition) > 600)
                    {
                        return;
                    }

                    Circle.Draw(Color.DarkSlateGray, 60, wallPoint);
                    Circle.Draw(Color.White, 60, end);
                }
            }
        }
Beispiel #2
0
        public static void ComboTarget(AIHeroClient target)
        {
            var ende       = player.Position.Extend(target.Position, SpellManager.E.Range + 35);
            var catchRange = SpellManager.E.IsReady() ? SpellManager.E.Range + truerange + SpellManager.W.Range : truerange + SpellManager.W.Range;

            if (target.Distance(player.ServerPosition) <= SpellManager.E.Range + 100 && SpellManager.Q.IsReady())
            {
                if (Core.GameTickCount - lastw < 500 && Core.GameTickCount - lasthd < 1000)
                {
                    if (target.Distance(player.ServerPosition) <= SpellManager.E.Range + 100 && SpellManager.Q.IsReady())
                    {
                        EventManager.DoOneQ(target.ServerPosition);
                    }
                }
            }

            if (Qcount == 2 &&
                target.Distance(player) >= player.AttackRange &&
                target.Distance(player) <= 650 &&
                getCheckBoxItem(comboMenu, "Q3Wall") &&
                SpellManager.E.IsReady())
            {
                var wallPoint = FleeManager.GetFirstWallPoint(player.Position, player.Position.Extend(target.Position, 650).To3DWorld());

                player.GetPath(wallPoint);

                if (!SpellManager.E.IsReady() || wallPoint.Distance(player.Position) > SpellManager.E.Range || !wallPoint.IsValid())
                {
                    return;
                }
                Player.CastSpell(SpellSlot.E, wallPoint);

                Core.DelayAction(() => Player.CastSpell(SpellSlot.Q, wallPoint), 190); //Q.Cast(wallPoint));

                if (wallPoint.Distance(player.Position) <= 100)
                {
                    Player.CastSpell(SpellSlot.Q, wallPoint);
                }
            }

            if (SpellManager.E.IsReady() && getCheckBoxItem(comboMenu, "usecomboe") &&
                target.Distance(player.ServerPosition) > truerange + 100 &&
                (target.Distance(player.ServerPosition) <= SpellManager.E.Range + SpellManager.W.Range ||
                 EventManager.CheckUlt() && target.Distance(player.ServerPosition) > truerange + 200) ||
                target.Distance(player.ServerPosition) <= SpellManager.E.Range + SpellManager.W.Range + SpellManager.Q.Range / 2f && SpellManager.R.IsReady() &&
                (Qcount == 2 && EventManager.IsLethal(target) || Qcount == 2 && target.CountEnemiesInRange(SpellManager.W.Range + 35) >= 2))
            {
                if (!didaa)
                {
                    if (getCheckBoxItem(comboMenu, "safee"))
                    {
                        if (ende.CountEnemiesInRange(200) <= 2)
                        {
                            Player.CastSpell(SpellSlot.E, target.ServerPosition);
                        }
                    }

                    else
                    {
                        Player.CastSpell(SpellSlot.E, target.ServerPosition);
                    }

                    if (target.Distance(player.ServerPosition) <= SpellManager.E.Range + SpellManager.W.Range)
                    {
                        EventManager.checkr();

                        if (!canburst() && EventManager.CheckUlt() && Qcount != 2)
                        {
                            if (Item.CanUseItem(3077))
                            {
                                Item.UseItem(3077);
                            }
                            if (Item.CanUseItem(3074))
                            {
                                Item.UseItem(3074);
                            }
                        }
                    }

                    if (!canburst() && Qcount != 2)
                    {
                        if (Item.CanUseItem(3077))
                        {
                            Item.UseItem(3077);
                        }
                        if (Item.CanUseItem(3074))
                        {
                            Item.UseItem(3074);
                        }
                    }
                }
            }

            if (SpellManager.W.IsReady() && getCheckBoxItem(comboMenu, "usecombow") && target.Distance(player.ServerPosition) <= SpellManager.W.Range)
            {
                if (Core.GameTickCount - lasthd > 1500)
                {
                    EventManager.checkr();

                    if (getCheckBoxItem(comboMenu, "usecombow") && !didaa)
                    {
                        if (!EventManager.fightingLogic ||
                            (EventManager.fightingLogic && !EventManager.wrektAny()) ||
                            getCheckBoxItem(comboMenu, "w" + target.ChampionName))
                        {
                            if (target.HealthPercent < player.HealthPercent ||
                                (int)target.HealthPercent == (int)player.HealthPercent)
                            {
                                if (Qcount >= 2 || !SpellManager.Q.IsReady() || player.Distance(target) > truerange)
                                {
                                    SpellManager.W.Cast();
                                }
                            }
                            else
                            {
                                SpellManager.W.Cast();
                            }
                        }
                    }
                    if (getCheckBoxItem(comboMenu, "ComboWLogic") && SpellManager.W.IsReady() && target.IsValidTarget(SpellManager.W.Range))
                    {
                        if (Qcount == 0 && SpellManager.W.Cast())
                        {
                            return;
                        }

                        if (SpellManager.Q.IsReady() && Qcount > 1 && SpellManager.W.Cast())
                        {
                            return;
                        }

                        if (Me.HasBuff("RivenFeint") && SpellManager.W.Cast())
                        {
                            return;
                        }

                        if (!target.IsFacing(Me) && SpellManager.W.Cast())
                        {
                            return;
                        }
                    }
                }
            }

            if (getCheckBoxItem(comboMenu, "useQgap") /*&& !SpellManager.E.IsReady()*/ && SpellManager.Q.IsReady() && (target.Distance(player.ServerPosition) > catchRange || target.Distance(player.ServerPosition) < 300))
            {
                if (Core.GameTickCount - lastq >= getSliderItem(comboMenu, "gaptimeQ") * 10)
                {
                    if (SpellManager.Q.IsReady() && Core.GameTickCount - laste >= 1000)
                    {
                        Player.CastSpell(SpellSlot.Q, EventManager.riventarget().ServerPosition);
                    }
                }
                if (target.Distance(player.ServerPosition) < SpellManager.E.Range + 150 && SpellManager.E.IsReady() && Core.GameTickCount - lastq >= 2000 && Qcount < 3 && Qcount >= 1)
                {
                    Player.CastSpell(SpellSlot.E, EventManager.riventarget().ServerPosition);
                }
            }
            else
            {
                if (target.Distance(player.ServerPosition) <= SpellManager.E.Range + SpellManager.W.Range)
                {
                    EventManager.checkr();
                }
            }

            if (getCheckBoxItem(comboMenu, "useQgap") && SpellManager.Q.IsReady() && Core.GameTickCount - lastq > 3600 && !Me.IsDashing() &&
                target.IsValidTarget(480) && target.DistanceToPlayer() > OrbHelper.GetRealAutoAttackRange(Me) + 50)
            {
                var pred = SpellManager.Q.GetPrediction(target);

                if (pred.UnitPosition != Vector3.Zero &&
                    (pred.UnitPosition.DistanceToPlayer() < target.DistanceToPlayer() ||
                     pred.UnitPosition.Distance(target.Position) <= target.DistanceToPlayer()) && EventManager.CastQ(target))
                {
                    return;
                }
            }
        }
Beispiel #3
0
        public static void Game_OnUpdate(EventArgs args)
        {
            if (SpellManager.W.Level > 0)
            {
                if (Me.HasBuff("RivenFengShuiEngine"))
                {
                    SpellManager.W.Range = 330;
                }
                else
                {
                    SpellManager.W.Range = 260;
                }
            }

            // my radius
            truerange = player.AttackRange + player.Distance(player.BBox.Minimum) + 1;

            // if no valid target cancel to cursor pos
            if (!ComboManager.qtarg.IsValidTarget(truerange + 100))
            {
                ComboManager.qtarg = player;
            }

            if (!riventarget().IsValidTarget())
            {
                _sh = null;
            }

            // move target position
            if (ComboManager.qtarg != player && ComboManager.qtarg.Distance(player.ServerPosition) < SpellManager.R2.Range)
            {
                movepos = player.Position.Extend(Game.CursorPos, player.Distance(Game.CursorPos) + 500).To3DWorld();
            }

            // move to game cursor pos
            if (ComboManager.qtarg == player)
            {
                movepos = player.ServerPosition + (Game.CursorPos - player.ServerPosition).Normalized() * 125;
            }

            ComboManager.CastSkillOnupdate();
            ComboManager.CombatDelay();

            if (getCheckBoxItem(miscMenu, "skinHack"))
            {
                player.SetSkinId(getSliderItem(miscMenu, "SkinID"));
            }

            if (riventarget().IsValidTarget())
            {
                if (getKeyBindItem(comboMenu, "combokey"))
                {
                    ComboManager.ComboTarget(riventarget());
                }
            }

            if (getKeyBindItem(miscMenu, "shycombo"))
            {
                if (riventarget().IsValidTarget())
                {
                    ComboManager.SomeDash(riventarget());

                    if (SpellManager.W.IsReady() && riventarget().Distance(player.ServerPosition) <= SpellManager.W.Range + 50)
                    {
                        checkr();
                        SpellManager.W.Cast();
                    }

                    else if (SpellManager.Q.IsReady() && riventarget().Distance(player.ServerPosition) <= truerange + 100)
                    {
                        checkr();

                        if (!didaa && Core.GameTickCount - lasthd >= 300)
                        {
                            if (Core.GameTickCount - lastw >= 300 + Game.Ping)
                            {
                                Player.CastSpell(SpellSlot.Q, riventarget().ServerPosition);
                            }
                        }
                    }
                }
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass) && riventarget().IsValidTarget())
            {
                HarassManager.HarassTarget(riventarget());
            }

            if (player.IsValid && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
            {
                ClearManager.LaneClear();
            }
            if (player.IsValid && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
            {
                ClearManager.JungClear();
            }

            if (player.IsValid && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Flee))
            {
                FleeManager.Flee();
            }

            r2Kill();
            r2Maxdamage();

            fightingLogic = player.CountAlliesInRange(1500) > 1 && player.CountEnemiesInRange(1350) > 2 || player.CountEnemiesInRange(1200) > 2;
        }