Exemple #1
0
        public static void SpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }
            if ((Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) &&
                 Manager.MenuManager.UseQLC && Variables._Player.ManaPercent >= Manager.MenuManager.UseQLCMana) &&
                Manager.SpellManager.Q.IsReady())
            {
                if (Orbwalker.CanAutoAttack)
                {
                    return;
                }
                foreach (var minion in EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy,
                                                                                       Variables._Player.ServerPosition, Variables._Player.GetAutoAttackRange()))
                {
                    if (minion == null)
                    {
                        return;
                    }
                    var dmg = Variables._Player.GetSpellDamage(minion, SpellSlot.Q) +
                              Variables._Player.GetAutoAttackDamage(minion);
                    if (Prediction.Health.GetPrediction(minion, (int)(Variables._Player.AttackDelay * 1000)) <= dmg / 2 &&
                        (Orbwalker.LastTarget == null || Orbwalker.LastTarget.NetworkId != minion.NetworkId))
                    {
                        var Farmtumblepos = Variables._Player.Position.Extend(minion, 300f);
                        if (Farmtumblepos.IsSafeEx())
                        {
                            Player.CastSpell(SpellSlot.Q, Farmtumblepos.To3D());
                        }
                    }
                }
            }
            var LastHitE = Variables._Player;

            foreach (
                var Etarget in
                EntityManager.Heroes.Enemies.Where(
                    Etarget => Etarget.IsValidTarget(Manager.SpellManager.E.Range) && Etarget.Path.Count() < 2))
            {
                if (Manager.MenuManager.UseEKill && Manager.SpellManager.E.IsReady() &&
                    Variables._Player.CountEnemiesInRange(600) <= 1)
                {
                    var dmgE = Variables._Player.GetSpellDamage(Etarget, SpellSlot.E);
                    if (dmgE > Etarget.Health ||
                        (Etarget.GetBuffCount("vaynesilvereddebuff") == 2 && dmgE + Manager.DamageManager.Wdmg(Etarget) > Etarget.Health))
                    {
                        LastHitE = Etarget;
                    }
                }

                if (LastHitE != Variables._Player)
                {
                    Manager.SpellManager.E.Cast(LastHitE);
                }
            }
        }
Exemple #2
0
        public static void SpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }
            if ((Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) &&
                 MenuManager.LaneClearMenu["LCQ"].Cast <CheckBox>().CurrentValue) &&
                Program.Q.IsReady())
            {
                if (Orbwalker.CanAutoAttack)
                {
                    return;
                }
                foreach (var minion in EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy,
                                                                                       Variables._Player.ServerPosition, Variables._Player.GetAutoAttackRange()))
                {
                    if (minion == null)
                    {
                        return;
                    }
                    var dmg = Variables._Player.GetSpellDamage(minion, SpellSlot.Q) +
                              Variables._Player.GetAutoAttackDamage(minion);
                    if (Prediction.Health.GetPrediction(minion, (int)(Variables._Player.AttackDelay * 1000)) <= dmg / 2 &&
                        (Orbwalker.LastTarget == null || Orbwalker.LastTarget.NetworkId != minion.NetworkId))
                    {
                        Player.CastSpell(SpellSlot.Q, Game.CursorPos);
                    }
                }
            }
            var LastHitE = Variables._Player;

            foreach (
                var Etarget in
                EntityManager.Heroes.Enemies.Where(
                    Etarget => Etarget.IsValidTarget(Program.E.Range) && Etarget.Path.Count() < 2))
            {
                if (MenuManager.ComboMenu["Ekill"].Cast <CheckBox>().CurrentValue&& Program.E.IsReady() &&
                    Variables._Player.CountEnemiesInRange(600) <= 1)
                {
                    var dmgE = Variables._Player.GetSpellDamage(Etarget, SpellSlot.E);
                    if (dmgE > Etarget.Health ||
                        (Damages.WTarget(Etarget) == 2 && dmgE + Damages.Wdmg(Etarget) > Etarget.Health))
                    {
                        LastHitE = Etarget;
                    }
                }

                if (LastHitE != Variables._Player)
                {
                    Program.E.Cast(LastHitE);
                }
            }
        }
        private static void Obj_AI_Base_OnSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            var enemy = TargetSelector2.GetTarget(E.Range, TargetSelector2.DamageType.Physical);

            if (enemy == null)
            {
                return;
            }

            if (enemy != null)
            {
                var mousePos = myHero.Position.Extend2(Game.CursorPos, Q.Range);
                if (SubMenu["Harass"]["Q"].Cast <CheckBox>().CurrentValue&& orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed &&
                    enemy.IsValidTarget(myHero.GetAutoAttackRange()) && Q.IsReady())
                {
                    myHero.Spellbook.CastSpell(SpellSlot.Q, mousePos, true);
                    orbwalker.ForceTarget(enemy);
                }

                if (SubMenu["Harass"]["E"].Cast <CheckBox>().CurrentValue&& E.IsReady() && !Q.IsReady() &&
                    orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed &&
                    enemy.IsValidTarget(myHero.GetAutoAttackRange()))
                {
                    E.Cast(enemy);
                    orbwalker.ForceTarget(enemy);
                }
            }

            var LastHitE = myHero;

            foreach (var Etarget in EntityManager.Heroes.Enemies.Where(Etarget => Etarget.IsValidTarget(E.Range) && Etarget.Path.Count() < 2))
            {
                if (SubMenu["Combo"]["ELast"].Cast <CheckBox>().CurrentValue&& E.IsReady() && myHero.CountEnemiesInRange2(600) <= 1)
                {
                    var dmgE = myHero.GetSpellDamage2(Etarget, SpellSlot.E);
                    if (dmgE > Etarget.Health || (WTarget(Etarget) == 2 && dmgE + Wdmg(Etarget) > Etarget.Health))
                    {
                        LastHitE = Etarget;
                    }
                }

                if (LastHitE != myHero)
                {
                    E.CastOnUnit(LastHitE);
                }
            }

            if (sender.Spellbook.Owner.IsMe)
            {
                if (args.Slot == SpellSlot.Q)
                {
                    if (Tumble.TumbleOrderPos != Vector3.Zero)
                    {
                        if (Tumble.TumbleOrderPos.IsDangerousPosition())
                        {
                            Tumble.TumbleOrderPos = Vector3.Zero;
                            args.Process          = false;
                        }
                        else
                        {
                            Tumble.TumbleOrderPos = Vector3.Zero;
                        }
                    }
                }
            }
        }