示例#1
0
文件: Jhin.cs 项目: spall9/KappAIO
        public override void Active()
        {
            Stalking();
            Orbwalker.DisableMovement  = IsCastingR;
            Orbwalker.DisableAttacking = IsCastingR;

            if (!user.Spellbook.IsChanneling && !user.Spellbook.IsCharging && !user.Spellbook.IsCastingSpell)
            {
                IsCastingR   = false;
                CurrentRShot = 0;
            }

            if (IsCastingR && AutoMenu.CheckBoxValue("R") && LastRPosition != null)
            {
                var target = AutoMenu.CheckBoxValue("Rmouse")
                                 ? EntityManager.Heroes.Enemies.OrderBy(h => h.Distance(Game.CursorPos))
                             .FirstOrDefault(e => e != null && e.IsKillable(R.Range) && e.IsInRange(Game.CursorPos, AutoMenu.SliderValue("MouseRange")) && JhinRSector(LastRPosition).IsInside(e))
                                 : EntityManager.Heroes.Enemies.OrderBy(t => t.TotalShieldHealth() / TotalRDamage(t))
                             .FirstOrDefault(e => e != null && e.IsKillable(R.Range) && JhinRSector(LastRPosition).IsInside(e));

                if (TargetSelector.SelectedTarget != null && TargetSelector.SelectedTarget.IsKillable(R.Range) && JhinRSector(LastRPosition).IsInside(TargetSelector.SelectedTarget))
                {
                    target = TargetSelector.SelectedTarget;
                }

                if (LastRTarget != null && BlueTrinket.IsOwned(user) && BlueTrinket.IsReady() && AutoMenu.CheckBoxValue("Blue"))
                {
                    foreach (var enemy in StalkedEnemies.Where(e => e.Target.IdEquals(LastRTarget) && Core.GameTickCount - e.LastVisibleTime > 75 && e.Target.IsKillable(R.Range) && JhinRSector(LastRPosition).IsInside(e.Target) && BlueTrinket.IsInRange(e.Target.ServerPosition) && Core.GameTickCount - e.LastVisibleTime < 3750))
                    {
                        BlueTrinket.Cast(enemy.PredictedPosition);
                    }
                }

                if (target != null)
                {
                    if (AutoMenu.ComboBoxValue("Rmode") == 0)
                    {
                        R.Cast(target, AutoMenu.SliderValue("RHit"));
                        LastRTarget = target;
                    }
                    else
                    {
                        if (RTap)
                        {
                            R.Cast(target, AutoMenu.SliderValue("RHit"));
                            LastRTarget = target;
                        }
                    }
                }
                return;
            }

            if (IsCastingR)
            {
                return;
            }

            if (AutoMenu.CheckBoxValue("AutoW") && W.IsReady())
            {
                foreach (var target in EntityManager.Heroes.Enemies.Where(e => e.IsKillable(W.Range) && e.HasJhinEBuff()))
                {
                    W.Cast(target, 45);
                }
            }
        }