예제 #1
0
 public override void OnDraw()
 {
     if (UltimateMenu.CheckBox("NearMouse.Enabled") && UltimateMenu.CheckBox("NearMouse.Draw") && IsCastingR)
     {
         EloBuddy.SDK.Rendering.Circle.Draw(SharpDX.Color.Blue, UltimateMenu.Slider("NearMouse.Radius"), 1, MousePos);
     }
     base.OnDraw();
 }
예제 #2
0
 protected override void PermaActive()
 {
     Orbwalker.DisableMovement  = IsCastingR;
     Orbwalker.DisableAttacking = IsCastingR || IsChargingQ;
     if (IsChargingQ)
     {
         var percentGrowth = Math.Max(0, Math.Min(1, ((Core.GameTickCount - Q.LastCastTime) / 1000f - Spells.Q.CastRangeGrowthStartTime) / Spells.Q.CastRangeGrowthDuration));
         Q.Range = (int)((Spells.Q.CastRangeGrowthMax - Spells.Q.CastRangeGrowthMin) * percentGrowth + Spells.Q.CastRangeGrowthMin);
     }
     else
     {
         Q.Range = Spells.Q.CastRangeGrowthMax;
     }
     W.Width = Spells.W.CastRadiusSecondary;
     R.Range = 2000 + R.Instance.Level * 1200;
     Range   = new[] { Q.IsReady?Spells.Q.CastRangeGrowthMax : 0f, W.IsReady ? W.Range + W.Radius : 0, E.IsReady ? E.Range : 0, MyHero.GetAutoAttackRange() }.Max();
     if (Spells.E.Missile != null && !Spells.E.Missile.IsValidMissile())
     {
         Spells.E.Missile = null;
     }
     Target = TargetSelector.GetTarget(UnitManager.ValidEnemyHeroesInRange, DamageType.Magical);
     if (IsCastingR)
     {
         if (Core.GameTickCount - R.LastCastTime > UltimateMenu.Slider("Delay"))
         {
             if (UltimateMenu.Slider("Mode") == 2 || (UltimateMenu.Slider("Mode") == 1 && TapKeyPressed))
             {
                 if (UltimateMenu.CheckBox("NearMouse.Enabled"))
                 {
                     var target = FindBestKillableTarget(MousePos, UltimateMenu.Slider("NearMouse.Radius"));
                     if (target != null)
                     {
                         R.Cast(target);
                     }
                 }
                 else
                 {
                     var target = FindBestKillableTarget(MyHero.Position, R.Range);
                     if (target != null)
                     {
                         R.Cast(target);
                     }
                 }
             }
         }
         return;
     }
     TapKeyPressed = false;
     if (KeysMenu.KeyBind("TapKey") && R.IsReady && !IsCastingR)
     {
         R.Cast();
         return;
     }
     base.PermaActive();
 }
예제 #3
0
 protected override void PermaActive()
 {
     if (IsCastingR)
     {
         IsCastingR = R.Instance.Name == "JhinRShot"; //MyHero.Spellbook.IsChanneling;
     }
     IsCharging = MyHero.HasBuff("JhinPassiveReload");
     Orbwalker.DisableAttacking = IsCastingR;
     Orbwalker.DisableMovement  = IsCastingR;
     if (R.IsReady && !IsCastingR)
     {
         Stacks = 4;
     }
     if (R.IsReady && !IsCastingR)
     {
         foreach (var enemy in UnitManager.ValidEnemyHeroes)
         {
             var isKillable = R.IsKillable(enemy);
             var predResult = R.GetPrediction(enemy);
             var predPos    = predResult.CastPosition;
             LastPredictedPosition[enemy.NetworkId] = new Tuple <Vector3, bool>(predPos, isKillable);
         }
     }
     Range  = 1300;
     Target = TargetSelector.GetTarget(UnitManager.ValidEnemyHeroesInRange, DamageType.Physical);
     Q.Type = SpellType.Targeted;
     if (IsCastingR)
     {
         if (TapKeyPressed || UltimateMenu.Slider("Mode") == 2)
         {
             CastR();
         }
         return;
     }
     if (AutomaticMenu.CheckBox("Immobile"))
     {
         foreach (var enemy in E.EnemyHeroes)
         {
             var time = enemy.GetMovementBlockedDebuffDuration();
             if (time > 0 && time * 1000 >= E.CastDelay)
             {
                 E.Cast(enemy.Position);
             }
         }
     }
     base.PermaActive();
 }
예제 #4
0
파일: Jhin.cs 프로젝트: chienhao10/CHOP
 public void CastR()
 {
     if (!IsR1 && Core.GameTickCount - R.LastCastTime >= UltimateMenu.Slider("Delay"))
     {
         var rTargets = UnitManager.ValidEnemyHeroes.Where(h => R.InRange(h) && (!UltimateMenu.CheckBox("OnlyKillable") || R.IsKillable(h)) && LastRCone.IsInside(h)).ToList();
         var targets  = UltimateMenu.CheckBox("NearMouse.Enabled")
             ? rTargets.Where(
             h => h.IsInRange(MousePos, UltimateMenu.Slider("NearMouse.Radius"))).ToList()
             : rTargets;
         var target = TargetSelector.GetTarget(targets, DamageType.Physical);
         if (target != null)
         {
             var pred = R.GetPrediction(target);
             if (pred.HitChancePercent >= R.HitChancePercent && !R.WillHitYasuoWall(pred.CastPosition))
             {
                 MyHero.Spellbook.CastSpell(SpellSlot.R, pred.CastPosition);
             }
         }
     }
 }
예제 #5
0
 public override void OnDraw()
 {
     if (UltimateMenu.CheckBox("NearMouse.Enabled") && UltimateMenu.CheckBox("NearMouse.Draw") && IsCastingR)
     {
         EloBuddy.SDK.Rendering.Circle.Draw(SharpDX.Color.Blue, UltimateMenu.Slider("NearMouse.Radius"), 1, MousePos);
     }
     if (DrawingsMenu.CheckBox("R.LastPredictedPosition") && (R.IsReady || IsCastingR))
     {
         foreach (var enemy in EntityManager.Heroes.Enemies.Where(h => !h.IsValidTarget() && !h.IsDead && h.Health > 0 && LastPredictedPosition.ContainsKey(h.NetworkId)))
         {
             var tuple = LastPredictedPosition[enemy.NetworkId];
             if (tuple.Item1.IsOnScreen() && tuple.Item2)
             {
                 LastPredictedPositionText[enemy.NetworkId].Position = tuple.Item1.WorldToScreen() + new Vector2(-LastPredictedPositionText[enemy.NetworkId].Bounding.Width / 2f, 50f);
                 LastPredictedPositionText[enemy.NetworkId].Draw();
                 EloBuddy.SDK.Rendering.Circle.Draw(SharpDX.Color.Red, 120, 1, tuple.Item1);
             }
         }
     }
     base.OnDraw();
 }
예제 #6
0
        protected override void PermaActive()
        {
            if (IsCastingR)
            {
                IsCastingR = R.Instance.Name == "JhinRShot"; //MyHero.Spellbook.IsChanneling;
            }
            IsCharging = MyHero.HasBuff("JhinPassiveReload");
            Orbwalker.DisableAttacking = IsCastingR;
            Orbwalker.DisableMovement  = IsCastingR;
            if (R.IsReady && !IsCastingR)
            {
                Stacks = 4;
            }
            foreach (var enemy in UnitManager.ValidEnemyHeroes)
            {
                LastPredictedPosition[enemy.NetworkId] = new Tuple <Vector3, bool>(R.GetPrediction(enemy).CastPosition, R.IsKillable(enemy));
            }
            Range  = 1300;
            Target = TargetSelector.GetTarget(UnitManager.ValidEnemyHeroesInRange, DamageType.Physical);
            Q.Type = SpellType.Targeted;
            if (IsCastingR)
            {
                if (TapKeyPressed || UltimateMenu.Slider("Mode") == 2)
                {
                    CastR();
                }
                return;
            }
            if (AutomaticMenu.CheckBox("Buffed") && !IsCastingR)
            {
                foreach (var enemy in UnitManager.ValidEnemyHeroes.Where(TargetHaveEBuff))
                {
                    CastW(enemy);
                }
            }
            if (AutomaticMenu.CheckBox("Immobile") && !IsCastingR)
            {
                foreach (var enemy in E.EnemyHeroes)
                {
                    var time = enemy.GetMovementBlockedDebuffDuration();
                    if (time > 0 && time * 1000 >= E.CastDelay && E.IsReady && enemy.IsValidTarget(E.Range))
                    {
                        E.Cast(enemy.Position);
                    }
                }
            }
            if (AutomaticMenu.CheckBox("Immobile") && !IsCastingR)
            {
                foreach (var enemy in E.EnemyHeroes)
                {
                    var teleportE = ObjectManager.Get <Obj_AI_Base>()
                                    .FirstOrDefault(
                        x =>
                        x.IsEnemy && enemy.IsValidTarget(E.Range) &&
                        (x.HasBuff("teleport_target") || x.HasBuff("Pantheon_GrandSkyfall_Jump")));

                    if (teleportE != null)
                    {
                        E.Cast(teleportE.Position);
                    }
                }
            }
            base.PermaActive();
        }