示例#1
0
        private static void LogicE()
        {
            if (Player.Mana < RMANA + EMANA || !getCheckBoxItem(eMenu, "autoE"))
            {
                return;
            }

            if (Program.Enemies.Any(target => target.LSIsValidTarget(270) && target.IsMelee))
            {
                var dashPos = Dash.CastDash(true);
                if (!dashPos.IsZero)
                {
                    E.Cast(dashPos);
                }
            }
            else
            {
                if (!Program.Combo || passRdy || SpellLock)
                {
                    return;
                }

                var dashPos = Dash.CastDash();
                if (!dashPos.IsZero)
                {
                    E.Cast(dashPos);
                }
            }
        }
示例#2
0
        private void LogicE()
        {
            if (Player.Mana < RMANA + EMANA || !Config.Item("autoE", true).GetValue <bool>())
            {
                return;
            }

            if (HeroManager.Enemies.Any(target => target.IsValidTarget(270) && target.IsMelee))
            {
                var dashPos = Dash.CastDash(true);
                if (!dashPos.IsZero)
                {
                    E.Cast(dashPos);
                }
            }
            else
            {
                if (!Program.Combo || passRdy || SpellLock)
                {
                    return;
                }

                var dashPos = Dash.CastDash();
                if (!dashPos.IsZero)
                {
                    E.Cast(dashPos);
                }
            }
        }
示例#3
0
 private void Obj_AI_Base_OnBuffAdd(Obj_AI_Base sender, Obj_AI_BaseBuffGainEventArgs args)
 {
     if (sender.IsMe && Config.Item("autoEgrab", true).GetValue <bool>() && E.IsReady())
     {
         if (args.Buff.Name == "ThreshQ" || args.Buff.Name == "rocketgrab2")
         {
             var dashPos = Dash.CastDash(true);
             if (!dashPos.IsZero)
             {
                 E.Cast(dashPos);
             }
             else
             {
                 E.Cast(Game.CursorPos);
             }
         }
     }
 }
示例#4
0
 private void LogicE()
 {
     if (HeroManager.Enemies.Any(target => target.IsValidTargetLS(270) && target.IsMelee))
     {
         var dashPos = Dash.CastDash(true);
         if (!dashPos.IsZero)
         {
             E.Cast(dashPos);
         }
     }
     if (Program.Combo && Player.Mana > RMANA + EMANA && !Player.HasBuff("gravesbasicattackammo2"))
     {
         var dashPos = Dash.CastDash();
         if (!dashPos.IsZero)
         {
             E.Cast(dashPos);
         }
     }
 }
示例#5
0
文件: Graves.cs 项目: meimeiiiww/Port
 private void LogicE()
 {
     if ((Program.Combo || Program.JungClear) && Player.Mana > RMANA + EMANA && !ObjectManager.Player.HasBuff("gravesbasicattackammo2"))
     {
         var dashPos = Dash.CastDash();
         if (!dashPos.IsZero)
         {
             E.Cast(dashPos);
         }
     }//*/
     if (HeroManager.Enemies.Any(target => target.IsValidTargetLS(500) && target.IsMelee))
     {
         var dashPos = Dash.CastDash(true);
         if (!dashPos.IsZero)
         {
             E.Cast(dashPos);
         }
     }//*/
 }
示例#6
0
 private void LogicE()
 {
     if (Program.Combo && Player.Mana > RMANA + EMANA && !Player.HasBuff("gravesbasicattackammo2"))
     {
         var dashPos = Dash.CastDash();
         if (!dashPos.IsZero)
         {
             E.Cast(dashPos);
         }
     }
 }
示例#7
0
        private void LogicE()
        {
            if (Player.Mana < RMANA + EMANA || !Program.Combo || !Config.Item("autoE", true).GetValue <bool>() || passRdy || SpellLock)
            {
                return;
            }

            var dashPos = Dash.CastDash();

            if (!dashPos.IsZero)
            {
                E.Cast(dashPos);
            }
        }
示例#8
0
        private void LogicE()
        {
            var t            = TargetSelector.GetTarget(1300, TargetSelector.DamageType.Physical);
            var dashPosition = Player.Position.Extend(Game.CursorPos, E.Range);

            foreach (var target in Program.Enemies.Where(target => target.IsValidTarget(270) && target.IsMelee))
            {
                var dashPos = Dash.CastDash();
                if (!dashPos.IsZero)
                {
                    E.Cast(dashPos);
                }
            }

            if (t.IsValidTarget() && Player.HealthPercent > 40 && !Player.UnderTurret(true) && (Game.Time - OverKill > 0.3) && dashPosition.CountEnemiesInRange(900) < 3)
            {
                if (t.Distance(Game.CursorPos) + 300 < t.Position.Distance(Player.Position) && !Orbwalking.InAutoAttackRange(t))
                {
                    var dmgCombo = 0f;

                    if (t.IsValidTarget(950))
                    {
                        dmgCombo = (float)Player.GetAutoAttackDamage(t) + E.GetDamage(t);
                    }

                    if (Q.IsReady() && Player.Mana > QMANA + EMANA && Q.WillHit(dashPosition, Q.GetPrediction(t).UnitPosition))
                    {
                        dmgCombo = Q.GetDamage(t);
                    }

                    if (W.IsReady() && Player.Mana > QMANA + EMANA + WMANA)
                    {
                        dmgCombo += W.GetDamage(t);
                    }

                    if (dmgCombo > t.Health && OktwCommon.ValidUlt(t))
                    {
                        E.Cast(dashPosition);
                        OverKill = Game.Time;
                        Program.debug("E ks combo");
                    }
                }
            }
        }
示例#9
0
        private void afterAttack(AttackableUnit unit, AttackableUnit target)
        {
            var t = target as AIHeroClient;

            if (t != null)
            {
                if (E.IsReady() && Config.Item("Eks", true).GetValue <bool>())
                {
                    var incomingDMG = OktwCommon.GetIncomingDamage(t, 0.3f, false);
                    if (incomingDMG > t.Health)
                    {
                        return;
                    }

                    var dmgE = E.GetDamage(t) + incomingDMG;

                    if (GetWStacks(t) == 1)
                    {
                        dmgE += Wdmg(t);
                    }

                    if (dmgE > t.Health)
                    {
                        E.Cast(t);
                    }
                }

                if (Q.IsReady() && !Program.None && Config.Item("autoQ", true).GetValue <bool>() && (GetWStacks(t) == Config.Item("Qstack", true).GetValue <Slider>().Value - 1 || Player.HasBuff("vayneinquisition")))
                {
                    var dashPos = Dash.CastDash(true);
                    if (!dashPos.IsZero)
                    {
                        Q.Cast(dashPos);
                    }
                }
            }

            var m = target as Obj_AI_Minion;

            if (m != null && Q.IsReady() && Program.Farm && Config.Item("farmQ", true).GetValue <bool>())
            {
                var dashPosition = Player.Position.Extend(Game.CursorPos, Q.Range).To3DWorld();
                if (!Dash.IsGoodPosition(dashPosition))
                {
                    return;
                }

                if (Config.Item("farmQjungle", true).GetValue <bool>() && m.Team == GameObjectTeam.Neutral)
                {
                    Q.Cast(dashPosition, true);
                }

                if (Config.Item("farmQ", true).GetValue <bool>())
                {
                    foreach (var minion in Cache.GetMinions(dashPosition, 0).Where(minion => m.NetworkId != minion.NetworkId))
                    {
                        var time       = (int)(Player.AttackCastDelay * 1000) + Game.Ping / 2 + 1000 * (int)Math.Max(0, Player.Distance(minion) - Player.BoundingRadius) / (int)Player.BasicAttack.MissileSpeed;
                        var predHealth = LeagueSharp.Common.HealthPrediction.GetHealthPrediction(minion, time);
                        if (predHealth < Player.GetAutoAttackDamage(minion) + Q.GetDamage(minion) && predHealth > 0)
                        {
                            Q.Cast(dashPosition, true);
                        }
                    }
                }
            }
        }
示例#10
0
        private void afterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (target.Type != GameObjectType.obj_AI_Hero)
            {
                return;
            }

            var t = target as Obj_AI_Hero;

            if (E.IsReady() && Config.Item("Eks", true).GetValue <bool>())
            {
                var dmgE = E.GetDamage(t) + OktwCommon.GetIncomingDamage(t, 0.5f, false);

                if (GetWStacks(t) == 1)
                {
                    dmgE += Wdmg(t);
                }

                if (dmgE > t.Health)
                {
                    E.Cast(t);
                }
            }

            if (!Q.IsReady())
            {
                return;
            }

            if (t.IsValidTarget() && (Program.Combo || Program.Farm) && Config.Item("autoQ", true).GetValue <bool>() && (GetWStacks(t) == 1 || Player.HasBuff("vayneinquisition")))
            {
                var dashPos = Dash.CastDash(true);
                if (!dashPos.IsZero)
                {
                    Q.Cast(dashPos);
                }
            }
            else if (Program.Farm && Config.Item("farmQ", true).GetValue <bool>())
            {
                var dashPosition = Player.Position.Extend(Game.CursorPos, Q.Range);
                if (!Dash.IsGoodPosition(dashPosition))
                {
                    return;
                }

                var minions = Cache.GetMinions(dashPosition, Player.AttackRange);

                if (minions == null || minions.Count == 0)
                {
                    return;
                }

                int countMinions = 0;

                foreach (var minion in minions.Where(minion => minion.Health < Player.GetAutoAttackDamage(minion) + Q.GetDamage(minion)))
                {
                    countMinions++;
                }

                if (countMinions > 1)
                {
                    Q.Cast(dashPosition, true);
                }
            }
        }