Beispiel #1
0
            public static void Ping(Vector2 position, int pingCount = 4,
                                    PingCategory pingCategory       = PingCategory.Fallback)
            {
                if (LeagueSharp.Common.Utils.TickCount - LastPingT < 30 * 1000)
                {
                    return;
                }

                LastPingT    = LeagueSharp.Common.Utils.TickCount;
                PingLocation = position;
                SimplePing();

                for (int i = 1; i <= pingCount; i++)
                {
                    LeagueSharp.Common.Utility.DelayAction.Add(i * 400, (() =>
                    {
                        TacticalMap.ShowPing(pingCategory, PingLocation, true);
                    }));
                }

                /*
                 * Utility.DelayAction.Add(150, SimplePing);
                 * Utility.DelayAction.Add(300, SimplePing);
                 * Utility.DelayAction.Add(400, SimplePing);
                 * Utility.DelayAction.Add(800, SimplePing);
                 */
            }
Beispiel #2
0
        private void OnDrawingEndScene(EventArgs args)
        {
            if (ObjectManager.Player.IsDead || Drawing.Direct3DDevice == null || Drawing.Direct3DDevice.IsDisposed)
            {
                return;
            }

            foreach (
                var obj in
                GankObjects.Where(
                    c =>
                    !c.Hero.IsDead && c.Hero.IsValidTarget(this.Range) && c.LastTrigger + this.Duration > Game.Time)
                )
            {
                Drawing.DrawLine(
                    ObjectManager.Player.Position.WorldToScreen(),
                    obj.Hero.Position.WorldToScreen(),
                    8f,
                    Color.FromArgb(80, obj.Color));
                if (this.Ping && obj.Hero.IsEnemy && this.lastPing + this.Cooldown * 1000 < Environment.TickCount)
                {
                    TacticalMap.ShowPing(PingCategory.Danger, ObjectManager.Player.Position, true);
                    this.lastPing = Environment.TickCount;
                }
            }
        }
Beispiel #3
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            if (Hero.ServerPosition != LastLocation && Hero.ServerPosition != BeforeRecallLocation)
            {
                LastLocation      = Hero.ServerPosition;
                PredictedLocation = Hero.ServerPosition;
                LastSeen          = Game.Time;
            }

            if (!Hero.IsVisible && RecallStatus != Packet.S2C.Teleport.Status.Start)
            {
                PredictedLocation = new Vector3(
                    LastLocation.X + ((Game.Time - LastSeen) * Hero.MoveSpeed), LastLocation.Y, LastLocation.Z);
            }

            if (Hero.IsVisible && !Hero.IsDead)
            {
                Pinged   = false;
                LastSeen = Game.Time;
            }

            if (LastSeen > 0f && MinimapHack.Instance().Menu.Ping&& !Hero.IsVisible)
            {
                if (Game.Time - LastSeen >= MinimapHack.Instance().Menu.MinPing&& !Pinged)
                {
                    TacticalMap.ShowPing(PingCategory.EnemyMissing, Hero, true);
                    Pinged = true;
                }
            }
        }
Beispiel #4
0
            public Ward(AIHeroClient caster, Obj_AI_Base handle, Vector3 position, IWard wardInfo, int duration, GameObjectTeam team)
            {
                // Initialize properties
                Caster       = caster;
                Handle       = handle;
                FakePosition = position;
                Team         = team;
                WardInfo     = wardInfo;
                Duration     = duration * 1000;
                CreationTime = Core.GameTickCount;

                // Initialize rendering
                MinimapSprite = new Sprite(() => MinimapIconTexture);
                TextHandle    = new Text(string.Empty, new Font(FontFamily.GenericSansSerif, 8, FontStyle.Regular));

                // Notify player about placement
                if (!MasterMind.IsSpectatorMode && Team.IsEnemy() &&
                    (Player.Instance.IsInRange(Position, NotifyRange.CurrentValue) || Player.Instance.IsInRange(position, NotifyRange.CurrentValue)))
                {
                    if (NotifyPlace.CurrentValue)
                    {
                        Notifications.Show(new SimpleNotification("A ward has been placed!",
                                                                  string.Format("{0} has placed a {1}", caster != null ? caster.ChampionName : "Unknown", WardInfo.FriendlyName)));
                    }
                    if (NotifyPlacePing.CurrentValue)
                    {
                        TacticalMap.ShowPing(PingCategory.Normal, Position, true);
                    }
                }
            }
Beispiel #5
0
        private void ChampionInfo_OnEnterRange(object sender, EventArgs e)
        {
            bool enabled = false;

            if (Program.Instance().EnemyJunglerOnly&& _hero.IsEnemy)
            {
                enabled = IsJungler(_hero);
            }
            else if (Program.Instance().AllyJunglerOnly&& _hero.IsAlly)
            {
                enabled = IsJungler(_hero);
            }
            else
            {
                enabled = Program.Instance().IsEnabled(_hero);
            }

            if (Game.Time - _lastEnter > Program.Instance().Cooldown&& enabled)
            {
                _lineStart = Game.Time;
                if (Program.Instance().DangerPing&& _hero.IsEnemy && !_hero.IsDead)
                {
                    TacticalMap.ShowPing(PingCategory.Danger, _hero, true);
                }
            }
            _lastEnter = Game.Time;
        }
Beispiel #6
0
        private void OnGameUpdate(EventArgs args)
        {
            try
            {
                if (ObjectManager.Player.IsDead || _lastCheck + CheckInterval > Environment.TickCount)
                {
                    return;
                }

                _lastCheck = Environment.TickCount;

                var cooldown = Menu.Item(Name + "Cooldown").GetValue <Slider>().Value;
                var range    = Menu.Item(Name + "Range").GetValue <Slider>().Value;
                var ping     = Menu.Item(Name + "Ping").GetValue <bool>();

                foreach (var obj in _championObjects.Where(c => c.Enabled && !c.Hero.IsDead && c.Hero.IsVisible))
                {
                    var distance = obj.Hero.Distance(ObjectManager.Player);
                    if (obj.Distance > range && distance <= range && Game.Time > obj.LastTrigger + cooldown)
                    {
                        obj.LastTrigger = Game.Time;
                        if (ping && obj.Hero.IsEnemy)
                        {
                            TacticalMap.ShowPing(PingCategory.Danger, obj.Hero, true);
                        }
                    }
                    obj.Distance = distance;
                }
            }
            catch (Exception ex)
            {
                Global.Logger.AddItem(new LogItem(ex));
            }
        }
Beispiel #7
0
        /// <summary>
        ///     Fired when the game is updated.
        /// </summary>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        public static void OnUpdate(EventArgs args)
        {
            /// <summary>
            ///     Initializes the spells.
            /// </summary>
            Spells.Initialize();

            /// <summary>
            ///     Initializes the Automatic actions.
            /// </summary>
            Logics.Automatic(args);

            /// <summary>
            ///     Initializes the Killsteal events.
            /// </summary>
            Logics.Killsteal(args);
            if (Vars.R.IsReady() && Vars.Menu["spells"]["r"]["ping"].GetValue <MenuBool>().Value)
            {
                foreach (var target in
                         GameObjects.EnemyHeroes.Where(
                             t =>
                             t.IsValidTarget() && !Invulnerable.Check(t, DamageType.Magical, false) &&
                             Vars.GetRealHealth(t) < (float)GameObjects.Player.GetSpellDamage(t, SpellSlot.R)))
                {
                    TacticalMap.ShowPing(PingCategory.Fallback, target.Position, true);
                }
            }

            if (GameObjects.Player.Spellbook.IsAutoAttacking)
            {
                return;
            }

            /// <summary>
            ///     Initializes the orbwalkingmodes.
            /// </summary>
            switch (Variables.Orbwalker.ActiveMode)
            {
            case OrbwalkingMode.Combo:
                Logics.Combo(args);
                break;

            case OrbwalkingMode.Hybrid:
                Logics.Harass(args);
                break;

            case OrbwalkingMode.LaneClear:
                Logics.Clear(args);
                break;

            case OrbwalkingMode.LastHit:
                Logics.LastHit(args);
                break;
            }
        }
Beispiel #8
0
        private static void Game_OnUpdate(EventArgs args)
        {
            #region 击杀列表 及 击杀信号提示
            foreach (var enemy in HeroManager.Enemies)
            {
                if (R.CanCast(enemy) && !enemy.IsDead && enemy.IsValid && GetRDmg(enemy) >= enemy.Health)
                {
                    if (!KillableList.Contains(enemy))
                    {
                        KillableList.Add(enemy);
                    }

                    if (Config.Item("击杀信号提示").GetValue <bool>() && Game.Time - PingList[enemy.NetworkId] > 10 * 1000)
                    {
                        TacticalMap.ShowPing(PingCategory.AssistMe, enemy, true);
                        TacticalMap.ShowPing(PingCategory.AssistMe, enemy, true);
                        TacticalMap.ShowPing(PingCategory.AssistMe, enemy, true);
                        PingList[enemy.NetworkId] = Game.Time;
                    }
                }
                else
                {
                    if (KillableList.Contains(enemy))
                    {
                        KillableList.Remove(enemy);
                    }
                }
            }
            #endregion

            #region 其它设置,买蓝眼

            if (Config.Item("买蓝眼").GetValue <bool>() && !ScryingOrb.IsOwned() && (Player.InShop() || Player.InFountain()) && Player.Level >= 9)
            {
                Shop.BuyItem(ItemId.Farsight_Alteration);
            }
            #endregion

            #region 提前结束R时 重置大招次数及目标
            if (!IsCastingR && !R.IsReady())
            {
                RCharge.Index  = 0;
                RCharge.Target = null;
            }
            #endregion

            if (!IsCastingR && RCharge.Index == 0)
            {
                QLogic();
                WLogic();
                ELogic();
            }
            RLogic();
        }
Beispiel #9
0
        internal static void OnUpdate()
        {
            if (!loaded)
            {
                return;
            }

            if (Player.Instance.IsDead || !GankMenu["enable"].Cast <CheckBox>().CurrentValue)
            {
                return;
            }

            var range = GankMenu["range"].Cast <Slider>().CurrentValue;
            var cd    = GankMenu["cd"].Cast <Slider>().CurrentValue;
            var heros =
                EntityManager.Heroes.AllHeroes.Where(x => x.IsInRange(Player.Instance.Position, range) && !x.IsDead && !x.IsInvulnerable && !x.IsMe);

            foreach (var hero in
                     heros.Where(hero => hero != null && Detect(hero) && hero.IsInRange(Player.Instance.Position, range)))
            {
                if (Game.Time - EnterTime > cd)
                {
                    DrawDuration = Game.Time;
                    if (hero.IsAlly)
                    {
                        if (GankMenu["ping"].Cast <CheckBox>().CurrentValue)
                        {
                            if (Game.Time - Allypingtimer > cd)
                            {
                                TacticalMap.ShowPing(PingCategory.OnMyWay, hero, true);
                            }
                        }

                        Allypingtimer = Game.Time;
                    }

                    if (hero.IsEnemy)
                    {
                        if (GankMenu["ping"].Cast <CheckBox>().CurrentValue)
                        {
                            if (Game.Time - Enemypingtimer > cd)
                            {
                                TacticalMap.ShowPing(PingCategory.Danger, hero, true);
                            }
                        }

                        Enemypingtimer = Game.Time;
                    }
                }

                EnterTime = Game.Time;
            }
        }
Beispiel #10
0
        private static void Killsteal()
        {
            var targets = HeroManager.Enemies.Where(x => x.IsValidTarget() && Player.Distance(x.ServerPosition) <= E.Range + W.Range && !x.IsZombie && !x.IsDead);

            if (W.IsReady() && KSW)
            {
                foreach (var target in targets)
                {
                    if (target.Health <= W.GetDamage2(target) * 2)
                    {
                        if (Player.Distance(target.ServerPosition) < W.Range && Player.Mana >= W.ManaCost)
                        {
                            W.Cast(target.ServerPosition);
                        }
                        else if (E.IsReady() && Player.Distance(target.ServerPosition) > W.Range && Player.Mana >= E.ManaCost + W.ManaCost && KSEW)
                        {
                            var minions = MinionManager.GetMinions(E.Range);
                            if (minions.Count != 0)
                            {
                                foreach (var minion in minions)
                                {
                                    if (minion.IsValidTarget(E.Range) &&
                                        minion.Distance(target.ServerPosition) <= W.Range)
                                    {
                                        TacticalMap.ShowPing(PingCategory.Normal, minion.Position);
                                        E.Cast(minion);
                                        LeagueSharp.Common.Utility.DelayAction.Add(10, () => W.Cast(target.ServerPosition));
                                    }
                                }
                            }
                            if (minions.Count == 0)
                            {
                                var heros = HeroManager.Enemies;
                                if (heros.Count != 0)
                                {
                                    foreach (var hero in heros)
                                    {
                                        if (hero.IsValidTarget(E.Range) &&
                                            hero.Distance(target.ServerPosition) <= W.Range)
                                        {
                                            TacticalMap.ShowPing(PingCategory.Normal, hero.Position);
                                            E.Cast(hero);
                                            LeagueSharp.Common.Utility.DelayAction.Add(10, () => W.Cast(target.ServerPosition));
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #11
0
        private static void OnProcessSpell(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            try
            {
                if (sender.IsEnemy)
                {
                    var MovingSkillInfo = MovingSkillInfoList.FirstOrDefault(x => x.SpellName == args.SData.Name);
                    var StopSkillInfo   = StopSkillInfoList.FirstOrDefault(x => x.SpellName == args.SData.Name);
                    var UsingItemInfo   = UsingItemInfoList.FirstOrDefault(x => x.ItemName == args.SData.Name);

                    if (MovingSkillInfo != null)
                    {
                        TrackInfomationList.Add(new MovingTrackInfomation
                        {
                            InfoType      = InfoType.MovingSkill,
                            CastTime      = Environment.TickCount,
                            Sender        = sender,
                            ExpireTime    = TickCount(3000),
                            StartPosition = args.Start,
                            EndPosition   = args.Start.Extend(args.End, MovingSkillInfo.MaxRange)
                        });
                    }
                    if (StopSkillInfo != null)
                    {
                        TacticalMap.ShowPing(PingCategory.Danger, sender.Position);
                        StopTrackInfomationList.Add(new StopTrackInfomation
                        {
                            InfoType     = InfoType.StopSkill,
                            Sender       = sender,
                            CastPosition = args.End,
                            ExpireTime   = TickCount(StopSkillInfo.ExpireTime)
                        });
                    }
                    if (UsingItemInfo != null)
                    {
                        UsingItemInfomationList.Add(new UsingTrackInfomation
                        {
                            InfoType   = InfoType.UsingItem,
                            Sender     = sender,
                            CastTime   = Environment.TickCount,
                            ExpireTime = TickCount(UsingItemInfo.ExpireTime)
                        });
                    }
                }
            }
            catch (Exception e)
            {
                Console.Write(e);
                Chat.Print("ShadowTracker is not working. plz send message by KorFresh (Code 7)");
            }
        }
        private static void OnTick(EventArgs args)
        {
            // Validate all sentinels
            foreach (var entry in ActiveSentinels.ToArray())
            {
                if (Config.SentinelMenu.IsChecked("sentinel.alert") && entry.Value.Any(o => o.Value.Health == 1))
                {
                    var activeSentinel = entry.Value.First(o => o.Value.Health == 1);
                    Chat.Print("[Kalista] Sentinel at {0} taking damage! (local ping)",
                               string.Concat((entry.Key == GameObjectTeam.Order
                            ? "Blue-Jungle"
                            : entry.Key == GameObjectTeam.Chaos
                                ? "Red-Jungle"
                                : "Lake"), " (", activeSentinel.Key, ")"));
                    TacticalMap.ShowPing(PingCategory.Fallback, activeSentinel.Value.Position, true);
                }

                var invalid = entry.Value.Where(o => !o.Value.IsValid || o.Value.Health < 2 || o.Value.GetBuffCount("kalistaw") == 0).ToArray();
                if (invalid.Length > 0)
                {
                    foreach (var location in invalid)
                    {
                        ActiveSentinels[entry.Key].Remove(location.Key);
                    }
                    RecalculateOpenLocations();
                }
            }

            // Auto sentinel management
            if (Config.SentinelMenu.IsChecked("sentinel.enable") && Spells.W.IsReady() && Player.Instance.ManaPercent >= Config.SentinelMenu.GetValue("sentinel.mana") && !Player.Instance.IsRecalling())
            {
                if (!Config.SentinelMenu.IsChecked("sentinel.noMode") || Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.None)
                {
                    if (OpenLocations.Count > 0 && SentLocation == null)
                    {
                        var closestLocation = OpenLocations.Where(o => Locations[o.Item1][o.Item2].IsInRange(Player.Instance, Spells.W.Range - MaxRandomRadius / 2))
                                              .OrderByDescending(o => Locations[o.Item1][o.Item2].Distance(Player.Instance, true))
                                              .FirstOrDefault();
                        if (closestLocation != null)
                        {
                            var position   = Locations[closestLocation.Item1][closestLocation.Item2];
                            var randomized = (new Vector2(position.X - MaxRandomRadius / 2 + Random.NextFloat(0, MaxRandomRadius),
                                                          position.Y - MaxRandomRadius / 2 + Random.NextFloat(0, MaxRandomRadius))).To3DWorld();
                            SentLocation = closestLocation;
                            Spells.W.Cast(randomized);
                            Core.DelayAction(() => SentLocation = null, 2000);
                        }
                    }
                }
            }
        }
Beispiel #13
0
        private void Drawing_OnDraw(EventArgs args)
        {
            foreach (var spell in SpellDetector.drawSpells.Values)
            {
                Vector2 spellPos = spell.currentSpellPosition;

                if (spell.heroID == myHero.NetworkId)
                {
                    if (spell.spellType == SpellType.Line)
                    {
                        if (spellPos.Distance(myHero) <= myHero.BoundingRadius + spell.radius &&
                            EvadeUtils.TickCount - spell.startTime > spell.info.spellDelay &&
                            spell.startPos.Distance(myHero) < spell.info.range)
                        {
                            Draw.RenderObjects.Add(new Draw.RenderCircle(spellPos, 1000, Color.Red,
                                                                         (int)spell.radius, 10));
                            DelayAction.Add(1, () => SpellDetector.DeleteSpell(spell.spellID));
                        }
                        else
                        {
                            Render.Circle.DrawCircle(new Vector3(spellPos.X, spellPos.Y, myHero.Position.Z), (int)spell.radius, Color.White, 5);
                        }
                    }
                    else if (spell.spellType == SpellType.Circular)
                    {
                        if (EvadeUtils.TickCount - spell.startTime >= spell.endTime - spell.startTime)
                        {
                            if (myHero.ServerPosition.To2D().InSkillShot(spell, myHero.BoundingRadius))
                            {
                                Draw.RenderObjects.Add(new Draw.RenderCircle(spellPos, 1000, Color.Red, (int)spell.radius, 5));
                                DelayAction.Add(1, () => SpellDetector.DeleteSpell(spell.spellID));
                            }
                        }
                    }
                    else if (spell.spellType == SpellType.Cone)
                    {
                        // SPELL TESTER
                        if (EvadeUtils.TickCount - spell.startTime >= spell.endTime - spell.startTime)
                        {
                            if (myHero.ServerPosition.To2D().InSkillShot(spell, myHero.BoundingRadius))
                            {
                                TacticalMap.ShowPing(PingCategory.Danger, myHero.Position);
                                DelayAction.Add(1, () => SpellDetector.DeleteSpell(spell.spellID));
                            }
                        }
                    }
                }
            }
        }
Beispiel #14
0
        private void Ping()
        {
            if (Utils.TickCount - lastPing < 25000)
            {
                return;
            }

            lastPing = Utils.TickCount;

            LeagueSharp.Common.Utility.DelayAction.Add(rand.Next(50, 100), () => TacticalMap.ShowPing(PingCategory.Danger, Target, true));

            LeagueSharp.Common.Utility.DelayAction.Add(rand.Next(200, 300), () => TacticalMap.ShowPing(PingCategory.OnMyWay, Target, true));

            LeagueSharp.Common.Utility.DelayAction.Add(rand.Next(400, 900), () => TacticalMap.ShowPing(PingCategory.AssistMe, Target, true));

            LeagueSharp.Common.Utility.DelayAction.Add(rand.Next(1000, 1300), () => TacticalMap.ShowPing(PingCategory.OnMyWay, Target, true));
        }
 private void LastSeenPosition_OnTick(EventArgs args)
 {
     foreach (var enemy in EntityManager.Heroes.Enemies.Where(enemy => enemy.ChampionName == Hero.ChampionName))
     {
         if (enemy.IsHPBarRendered)
         {
             LastLocation = enemy.ServerPosition;
             LastSeen     = Game.Time;
         }
         else
         {
             if (LastSeen - Game.Time > 30 || Pinged)
             {
                 TacticalMap.ShowPing(PingCategory.Fallback, LastLocation, true);
                 Pinged = true;
             }
         }
     }
 }
Beispiel #16
0
        private static void SendPing(GankInfo gank)
        {
            if (gank.Sender.IsMe || PingDelay > Core.GameTickCount - gank.LastPinged || !menu.CheckBoxValue("ping"))
            {
                return;
            }

            var local = menu.ComboBoxValue("pingmode") == 0;

            if (local)
            {
                TacticalMap.ShowPing(pingtype(gank), gank.Sender, true);
            }
            else
            {
                TacticalMap.SendPing(pingtype(gank), gank.Sender);
            }
            gank.LastPinged = Core.GameTickCount;
        }
Beispiel #17
0
        private static void Ping(Vector3 pos)
        {
            if (Environment.TickCount - LastPingTick < PingDelay)
            {
                return;
            }

            if (PingCount >= 5)
            {
                PingDelay = 30000;
                PingCount = 0;
                return;
            }

            LastPingTick = Environment.TickCount;

            PingCount += 1;
            PingDelay  = 150;

            TacticalMap.ShowPing(PingCategory.Fallback, pos, true);
        }
Beispiel #18
0
 private static void SimplePing()
 {
     TacticalMap.ShowPing(PingCategory.Danger, PingLocation, true);
 }
Beispiel #19
0
 private static void SimplePing()
 {
     TacticalMap.ShowPing(PingCategory.Fallback, PingLocation, true);
 }
Beispiel #20
0
        /// <summary>
        ///     Main ticking rotation which decides what method will be checked during the game.
        /// </summary>
        /// <param name="args">parameter that are given by the process itself. (not needed yet)</param>
        private static void Game_OnUpdate(EventArgs args)
        {
            //checking if UltKS is enabled.
            if (GameObjects.EnemyHeroes.Count(x => Utilities.Player.Distance(x) <= 500f) <= 0 &&
                (Utilities.MainMenu["R"]["KS"] || Utilities.MainMenu["R"]["Save"]))
            {
                //start ultks method
                AutoUlt();
            }

            // check if ping notifying is enabled.
            if (Utilities.MainMenu["Utilities"]["NotifyPing"])
            {
                // for each player, who's killable with R gets pinged.
                foreach (var enemy in GameObjects.EnemyHeroes.Where(
                             t => Utilities.R.IsReady() && t.IsValidTarget() &&
                             Utilities.R.GetDamage(t, DamageStage.Detonation) > t.Health &&
                             t.Distance(ObjectManager.Player.Position) > Utilities.Q.Range))
                {
                    TacticalMap.ShowPing(PingCategory.Danger, enemy);
                    //internal pings :D
                }
            }

            if (Core.IsInPassiveForm())
            {
                Combo();
                LaneClear();
            }

            switch (Variables.Orbwalker.ActiveMode)
            {
            case OrbwalkingMode.Combo:
                Variables.Orbwalker.AttackState = Utilities.MainMenu["Modes"]["useaa"] ||
                                                  ObjectManager.Player.Mana < 100;
                //if no mana, allow auto attacks!
                Variables.Orbwalker.MovementState = Utilities.MainMenu["Modes"]["usemm"];
                Combo();
                break;

            case OrbwalkingMode.Hybrid:
                Variables.Orbwalker.AttackState   = true;
                Variables.Orbwalker.MovementState = Utilities.MainMenu["Modes"]["usemm"];
                Harass();
                break;

            case OrbwalkingMode.LaneClear:
                Variables.Orbwalker.AttackState = Utilities.MainMenu["Modes"]["useaa"] ||
                                                  ObjectManager.Player.Mana < 100;
                Variables.Orbwalker.MovementState = Utilities.MainMenu["Modes"]["usemm"];
                LaneClear();
                break;

            case OrbwalkingMode.LastHit:
                Variables.Orbwalker.AttackState   = Utilities.MainMenu["Utilities"]["LastAA"];
                Variables.Orbwalker.MovementState = Utilities.MainMenu["Modes"]["usemm"];
                LastHit();
                break;

            default:
                Variables.Orbwalker.AttackState   = true;
                Variables.Orbwalker.MovementState = true;
                EState(OrbwalkingMode.None);
                break;
            }
        }
Beispiel #21
0
 private static void SimplePing(bool sound = false)
 {
     TacticalMap.ShowPing(PingCategory.Fallback, _lastPingLocation, sound);
 }
Beispiel #22
0
 private static void SimplePing()
 {
     TacticalMap.ShowPing(PingCategory.AssistMe, PingLocation, true);
 }
Beispiel #23
0
 private static void SimplePing()
 {
     TacticalMap.ShowPing(MiscOption.GetBool("NormalPingKill") ? PingCategory.Normal : PingCategory.Fallback, PingLocation, true);
 }
Beispiel #24
0
 private void SimplePing()
 {
     TacticalMap.ShowPing(
         Menu.Item("NormalPingKill", true).GetValue <bool>() ? PingCategory.Normal : PingCategory.Fallback,
         PingLocation, true);
 }
Beispiel #25
0
        private void Game_OnUpdate(EventArgs args)
        {
            _q.MinHitChance = MenuProvider.Champion.Misc.QSelectedHitchance;

            if (!ObjectManager.Player.IsDead)
            {
                if (Orbwalking.CanMove(100))
                {
                    switch (MenuProvider.Orbwalker.ActiveMode)
                    {
                    case Orbwalking.OrbwalkingMode.Combo:
                    {
                        if (MenuProvider.Champion.Combo.UseQ)
                        {
                            if (_q.IsReadyPerfectly())
                            {
                                var target = TargetSelector.GetTarget(_q.Range, _q.DamageType);
                                if (target != null)
                                {
                                    _q.Cast(target, false, true);
                                }
                            }
                        }

                        if (MenuProvider.Champion.Combo.UseW)
                        {
                            if (_w.IsReadyPerfectly())
                            {
                                var target = TargetSelector.GetTarget(_w.Range, _w.DamageType);
                                if (target != null)
                                {
                                    _w.Cast(target, false, true);
                                }
                            }
                        }

                        if (MenuProvider.Champion.Combo.UseE)
                        {
                            if (_e.IsReadyPerfectly())
                            {
                                ESwitch(ObjectManager.Player.CountEnemiesInRange(_e.Range) > 0);
                            }
                        }
                        break;
                    }

                    case Orbwalking.OrbwalkingMode.Mixed:
                    {
                        if (MenuProvider.Champion.Harass.UseQ)
                        {
                            if (_q.IsReadyPerfectly())
                            {
                                var target = TargetSelector.GetTarget(_q.Range, _q.DamageType);
                                if (target != null)
                                {
                                    _q.Cast(target, false, true);
                                }
                            }
                        }

                        if (MenuProvider.Champion.Harass.UseW)
                        {
                            if (_w.IsReadyPerfectly())
                            {
                                if (_w.IsReadyPerfectly())
                                {
                                    var target = TargetSelector.GetTarget(_w.Range, _w.DamageType);
                                    if (target != null)
                                    {
                                        _w.Cast(target, false, true);
                                    }
                                }
                            }
                        }

                        if (MenuProvider.Champion.Harass.UseE)
                        {
                            if (_e.IsReadyPerfectly())
                            {
                                ESwitch(ObjectManager.Player.CountEnemiesInRange(_e.Range) > 0);
                            }
                        }
                        break;
                    }

                    case Orbwalking.OrbwalkingMode.LaneClear:
                    {
                        //Laneclear
                        if (MenuProvider.Champion.Laneclear.UseQ)
                        {
                            if (ObjectManager.Player.IsManaPercentOkay(MenuProvider.Champion.Laneclear.IfMana))
                            {
                                if (_q.IsReadyPerfectly())
                                {
                                    var farmLocation = _q.GetCircularFarmLocation(MinionManager.GetMinions(_q.Range));
                                    if (farmLocation.MinionsHit >= 1)
                                    {
                                        _q.Cast(farmLocation.Position);
                                    }
                                }
                            }
                        }

                        //Jungleclear
                        if (MenuProvider.Champion.Jungleclear.UseQ)
                        {
                            if (ObjectManager.Player.IsManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana))
                            {
                                if (_q.IsReadyPerfectly())
                                {
                                    var target =
                                        MinionManager.GetMinions(600, MinionTypes.All, MinionTeam.Neutral,
                                                                 MinionOrderTypes.MaxHealth).FirstOrDefault(x => x.IsValidTarget(600));
                                    if (target != null)
                                    {
                                        _q.Cast(target);
                                    }
                                }
                            }
                        }
                        break;
                    }

                    case Orbwalking.OrbwalkingMode.LastHit:
                    {
                        if (MenuProvider.Champion.Lasthit.UseQ)
                        {
                            if (ObjectManager.Player.IsManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana))
                            {
                                if (_q.IsReadyPerfectly())
                                {
                                    var target =
                                        MinionManager.GetMinions(_q.Range)
                                        .FirstOrDefault(
                                            x =>
                                            x.IsKillableAndValidTarget(_q.GetDamage(x, 1), _q.DamageType,
                                                                       _q.Range));
                                    if (target != null)
                                    {
                                        _q.Cast(target);
                                    }
                                }
                            }
                        }
                    }
                    break;
                    }
                }

                if (MenuProvider.Champion.Misc.GetBoolValue("Ping Notify on R Killable Targets"))
                {
                    if (_r.IsReadyPerfectly())
                    {
                        if (Environment.TickCount - _lastPingTime >= 333)
                        {
                            foreach (
                                var target in
                                HeroManager.Enemies.Where(
                                    x => x.IsKillableAndValidTarget(_r.GetDamage(x), _r.DamageType)))
                            {
                                TacticalMap.ShowPing(PingCategory.Normal, target.Position, true);
                            }

                            _lastPingTime = Environment.TickCount;
                        }
                    }
                }
            }
        }
Beispiel #26
0
 private static void SimplePing(PingCategory pingCategory = PingCategory.Fallback)
 {
     S2C.Ping.Encoded(new S2C.Ping.Struct(PingLocation.X, PingLocation.Y, 0, 0, LeagueSharp.Common.Packet.PingType.Fallback));
     TacticalMap.ShowPing(pingCategory, PingLocation, true);
 }
Beispiel #27
0
 private static void SimplePing()
 {
     TacticalMap.ShowPing(pingCategory, pingLocation, true);
 }