コード例 #1
0
ファイル: Program.cs プロジェクト: HeheheM/EB
        private static void Game_OnTick(EventArgs args)
        {
            var recall = Player.Instance.Spellbook.GetSpell(SpellSlot.Recall);
            Recall = new Spell.Active(recall.Slot);
            if (!Player.Instance.IsRecalling())
            {
                Recall.Cast();
            }
            /*
            if (Player.Instance.Distance(place1) > 2000)
            {
                Player.IssueOrder(GameObjectOrder.MoveTo, place1);
            }

            //Square
            if (Player.Instance.Distance(place1) < 10)
            {
                Player.IssueOrder(GameObjectOrder.MoveTo, place2);
            }

            if (Player.Instance.Distance(place2) < 10)
            {
                Player.IssueOrder(GameObjectOrder.MoveTo, place3);
            }

            if (Player.Instance.Distance(place3) < 10)
            {
                Player.IssueOrder(GameObjectOrder.MoveTo, place4);
            }

            if (Player.Instance.Distance(place4) < 10)
            {
                Player.IssueOrder(GameObjectOrder.MoveTo, place1);
            }
            */
        }
コード例 #2
0
        public override void Combo()
        {
            var target = TargetSelector.GetTarget(_e.Range, DamageType.Physical);

            if (target == null)
            {
                return;
            }

            if (Value.Use("combo.q") && _q.IsReady() && !Ulting && Player.Instance.Mana > _qmana + _rmana)
            {
                if (Player.Instance.CountEnemiesInRange(900) >= Value.Get("combo.q.close"))
                {
                    _q.Cast();
                }
            }

            if (Value.Use("combo.w") && _w.IsReady() && Player.Instance.Mana > _wmana + _rmana)
            {
                var targetw = TargetSelector.GetTarget(_w.Range, DamageType.Physical);

                if (targetw != null && (!Stealthed && _w.IsInRange(targetw) && EStacks(target) < 5 || !Stealthed && !Player.Instance.IsInAutoAttackRange(targetw) && _w.IsInRange(targetw)))
                {
                    var wpred = _w.GetPrediction(targetw);

                    if (wpred.HitChancePercent >= Value.Get("combo.w.prediction"))
                    {
                        _w.Cast(wpred.CastPosition);
                    }
                }

                if (Stealthed && target.Distance(Player.Instance.Position) < Player.Instance.GetAutoAttackRange() && EStacks(target) < 5)
                {
                    _w.Cast(target);
                }
            }

            if (Value.Use("combo.e") && _e.IsReady() && Player.Instance.Mana > _emana + _rmana)
            {
                if (EStacks(target) == 6 && _e.IsInRange(target))
                {
                    _e.Cast();
                }
            }

            if (Value.Use("combo.r") && _r.IsReady())
            {
                var targetr2 = TargetSelector.GetTarget(_r2.Range, DamageType.Physical);

                if (targetr2 == null)
                {
                    return;
                }

                var r2Pred = _r2.GetPrediction(targetr2);
                var count  =
                    r2Pred.CollisionObjects.Count(
                        a =>
                        a.IsValidTarget(_r.Range) && a.IsEnemy && !a.IsZombie && !a.IsDead && !a.IsMinion &&
                        !a.IsMonster);

                if (count >= Value.Get("combo.r.aoe") - 1)
                {
                    _r.Cast();
                }
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: chienhao10/EloBuddy-13
        public static void OnCombo()
        {
            Target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

            if (Target == null)
            {
                return;
            }

            if (Target.IsValidTarget())
            {
                HitChance h = HitChance.Medium;
                if (NautibosMenu.HitchanceQ == 1)
                {
                    h = HitChance.Low;
                }
                else if (NautibosMenu.HitchanceQ == 2)
                {
                    h = HitChance.Medium;
                }
                else if (NautibosMenu.HitchanceQ == 3)
                {
                    h = HitChance.High;
                }
                if (Target != null)
                {
                    if (Q.IsReady() && NautibosMenu.nauticombo["combo.Q"].Cast <CheckBox>().CurrentValue&& Q.GetPrediction(Target).HitChance >= HitChance.High)
                    {
                        Q.Cast(Target);
                    }
                }
                var alvo = TargetSelector.GetTarget(1000, DamageType.Magical);

                if (E.IsReady() && NautibosMenu.nauticombo["combo.E"].Cast <CheckBox>().CurrentValue&& Player.Instance.IsInAutoAttackRange(Target))
                {
                    E.Cast();
                }

                if (W.IsReady() && NautibosMenu.nauticombo["combo.W"].Cast <CheckBox>().CurrentValue&& Player.Instance.IsInAutoAttackRange(Target))
                {
                    W.Cast();
                }
                var enemies = EntityManager.Heroes.Enemies.OrderByDescending(a => a.HealthPercent).Where(a => !a.IsMe && a.IsValidTarget() && a.Distance(_Player) <= R.Range);
                var checkhp = NautibosMenu.nauticombo["hptoult"].Cast <Slider>().CurrentValue;
                var manual  = NautibosMenu.nautir["manu.ult"].Cast <CheckBox>().CurrentValue;
                if (R.IsReady() && !manual)
                {
                    foreach (var ultenemies in enemies)

                    {
                        var useR = NautibosMenu.nautir["r.ult" + ultenemies.ChampionName].Cast <CheckBox>().CurrentValue;
                        if (ultenemies.HealthPercent <= checkhp)
                        {
                            if (useR)
                            {
                                R.Cast(ultenemies);
                            }
                        }
                    }
                }
                return;
            }
        }
コード例 #4
0
ファイル: Spells.cs プロジェクト: AkumaCORE/Worstaddons
        public static void OnBasicAttack(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (!(args.Target is AIHeroClient))
            {
                return;
            }

            var caster = sender;
            var target = (AIHeroClient)args.Target;

            if ((caster is AIHeroClient || caster is Obj_AI_Turret) && caster != null && target != null && caster.IsEnemy)
            {
                if (target.IsAlly && !target.IsMe)
                {
                    if (Exhaust != null)
                    {
                        var exhaustc = (SummMenu[Player.Instance.ChampionName + "EnableactiveExhaust"].Cast <KeyBind>().CurrentValue ||
                                        SummMenu[Player.Instance.ChampionName + "EnableExhaust"].Cast <KeyBind>().CurrentValue) && Exhaust.IsReady();
                        var Exhaustally  = SummMenu["exhaustally"].Cast <Slider>().CurrentValue;
                        var Exhaustenemy = SummMenu["exhaustenemy"].Cast <Slider>().CurrentValue;

                        if (exhaustc &&
                            (target.IsValidTarget(Exhaust.Range) && !SummMenu["DontExhaust" + caster.BaseSkinName].Cast <CheckBox>().CurrentValue))
                        {
                            if (target.HealthPercent <= Exhaustenemy)
                            {
                                Exhaust.Cast(caster);
                            }

                            if (target.HealthPercent <= Exhaustally)
                            {
                                Exhaust.Cast(caster);
                            }
                        }
                    }

                    if (Heal != null && !SummMenu["DontHeal" + target.BaseSkinName].Cast <CheckBox>().CurrentValue)
                    {
                        var healc = (SummMenu[Player.Instance.ChampionName + "EnableactiveHeal"].Cast <KeyBind>().CurrentValue ||
                                     SummMenu[Player.Instance.ChampionName + "EnableHeal"].Cast <KeyBind>().CurrentValue) && Heal.IsReady();
                        var healally = SummMenu["Healally"].Cast <Slider>().CurrentValue;
                        if (healc)
                        {
                            if (target.IsInRange(Player.Instance, Heal.Range))
                            {
                                if (target.HealthPercent <= healally)
                                {
                                    Heal.Cast();
                                }

                                if (caster.GetAutoAttackDamage(target) > target.TotalShieldHealth())
                                {
                                    Heal.Cast();
                                }
                            }
                        }
                    }
                }

                if (target.IsMe)
                {
                    if (Heal != null && !SummMenu["DontHeal" + target.BaseSkinName].Cast <CheckBox>().CurrentValue)
                    {
                        var healc = (SummMenu[Player.Instance.ChampionName + "EnableactiveHeal"].Cast <KeyBind>().CurrentValue ||
                                     SummMenu[Player.Instance.ChampionName + "EnableHeal"].Cast <KeyBind>().CurrentValue) && Heal.IsReady();
                        var healme = SummMenu["Healme"].Cast <Slider>().CurrentValue;
                        if (healc)
                        {
                            if (target.HealthPercent <= healme)
                            {
                                Heal.Cast();
                            }

                            if (caster.GetAutoAttackDamage(target) > target.TotalShieldHealth())
                            {
                                Heal.Cast();
                            }
                        }
                    }

                    if (Exhaust != null)
                    {
                        var exhaustc = (SummMenu[Player.Instance.ChampionName + "EnableactiveExhaust"].Cast <KeyBind>().CurrentValue ||
                                        SummMenu[Player.Instance.ChampionName + "EnableExhaust"].Cast <KeyBind>().CurrentValue) && Exhaust.IsReady();
                        var Exhaustally  = SummMenu["exhaustally"].Cast <Slider>().CurrentValue;
                        var Exhaustenemy = SummMenu["exhaustenemy"].Cast <Slider>().CurrentValue;
                        if (exhaustc && !SummMenu["DontExhaust" + caster.BaseSkinName].Cast <CheckBox>().CurrentValue)
                        {
                            if (target.HealthPercent <= Exhaustenemy)
                            {
                                Exhaust.Cast(caster);
                            }

                            if (target.HealthPercent <= Exhaustally)
                            {
                                Exhaust.Cast(caster);
                            }
                        }
                    }

                    if (Barrier != null)
                    {
                        var barrierc = (SummMenu[Player.Instance.ChampionName + "EnableactiveBarrier"].Cast <KeyBind>().CurrentValue ||
                                        SummMenu[Player.Instance.ChampionName + "EnableBarrier"].Cast <KeyBind>().CurrentValue) && Barrier.IsReady();
                        var barrierme = SummMenu["barrierme"].Cast <Slider>().CurrentValue;
                        if (barrierc)
                        {
                            if (target.HealthPercent <= barrierme)
                            {
                                Barrier.Cast();
                            }

                            if (caster.GetAutoAttackDamage(target) > target.TotalShieldHealth())
                            {
                                Barrier.Cast();
                            }
                        }
                    }
                }
            }
        }
コード例 #5
0
        public override void Combo()
        {
            var target = TargetSelector.GetTarget(_e.Range, DamageType.Physical);

            if (target == null)
            {
                return;
            }

            if (Value.Use("combo.q".AddName()) && _q.IsReady() && !Ulting && Player.Instance.Mana > _qmana + _rmana)
            {
                if (Player.Instance.CountEnemiesInRange(900) >= Value.Get("combo.q.close"))
                {
                    _q.Cast();
                }
            }

            if (Value.Use("combo.w".AddName()) && _w.IsReady() && Player.Instance.Mana > _wmana + _rmana)
            {
                if (!Stealthed && _w.IsInRange(target) && EStacks(target) < 5 ||
                    !Stealthed && !Player.Instance.IsInAutoAttackRange(target) && _w.IsInRange(target))
                {
                    var pred = _w.GetPrediction(target);

                    if (pred.HitChancePercent >= Value.Get("combo.w.prediction"))
                    {
                        if (Value.Use("combo.w.multipred"))
                        {
                            var optimizedCircleLocation = OKTRGeometry.GetOptimizedCircleLocation(_w, target);
                            if (optimizedCircleLocation != null)
                            {
                                _w.Cast(optimizedCircleLocation.Value.Position.To3D());
                            }
                        }
                        else
                        {
                            _w.Cast(pred.CastPosition);
                        }
                    }
                }

                if (Stealthed && target.Distance(Player.Instance.Position) < Player.Instance.GetAutoAttackRange() &&
                    EStacks(target) < 5)
                {
                    _w.Cast(target);
                }
            }
            if (!Value.Use("killsteal.e"))
            {
                if (Value.Use("combo.e".AddName()) && _e.IsReady() && Player.Instance.Mana > _emana + _rmana)
                {
                    if (EStacks(target) == 6 && _e.IsInRange(target))
                    {
                        _e.Cast();
                    }
                }
            }

            if (Value.Use("combo.r".AddName()) && _r.IsReady())
            {
                var targetr2 = TargetSelector.GetTarget(_r2.Range, DamageType.Physical);

                if (targetr2 == null)
                {
                    return;
                }

                var r2Pred = _r2.GetPrediction(targetr2);
                var count  =
                    r2Pred.CollisionObjects.Count(
                        a =>
                        a.IsValidTarget(_r.Range) && a.IsEnemy && !a.IsZombie && !a.IsDead && !a.IsMinion &&
                        !a.IsMonster);

                if (count >= Value.Get("combo.r.aoe") - 1)
                {
                    _r.Cast();
                }
            }
        }
コード例 #6
0
        private static void Game_OnTick(EventArgs args)
        {
            if (User.IsDead || MenuGUI.IsChatOpen || User.IsRecalling())
            {
                return;
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                Combo();
                Items();
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Flee))
            {
                Flee();
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
            {
                JungleClear();
            }


            AutoPot();


            if (SkinChangerMenu["EnableSkin"].Cast <CheckBox>().CurrentValue)
            {
                if (SkinChangerMenu["SkinID"].Cast <Slider>().CurrentValue != Player.Instance.SkinId)
                {
                    Player.SetSkinId(SkinChangerMenu["SkinID"].Cast <Slider>().CurrentValue);
                }
            }
            else if (!SkinChangerMenu["EnableSkin"].Cast <CheckBox>().CurrentValue)
            {
                Player.SetSkinId(CurrentSkinID);
                SkinChangerMenu["SkinID"].Cast <Slider>().CurrentValue = CurrentSkinID;
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
            {
                LaneClear();
            }

            if (ComboMenu["R"].Cast <KeyBind>().CurrentValue)
            {
                ComboMenu["AR"].Cast <CheckBox>().CurrentValue = false;
            }
            if (!ComboMenu["R"].Cast <KeyBind>().CurrentValue)
            {
                ComboMenu["AR"].Cast <CheckBox>().CurrentValue = true;
            }



            if (ComboMenu["AR"].Cast <CheckBox>().CurrentValue&& Player.Instance.HealthPercent <= ComboMenu["UseR"].Cast <Slider>().CurrentValue&& R.IsReady())
            {
                R.Cast();
            }

            if (!ComboMenu["AR"].Cast <CheckBox>().CurrentValue&& ComboMenu["R"].Cast <KeyBind>().CurrentValue&& Player.Instance.HealthPercent <= ComboMenu["UseR"].Cast <Slider>().CurrentValue&& R.IsReady())
            {
                if (ObjectManager.Get <AIHeroClient>().Any(z => z.IsEnemy && z.Distance(Trynda.Position) <= 1200))
                {
                    R.Cast();
                }
            }


            if (ComboMenu["Q"].Cast <CheckBox>().CurrentValue&& Player.Instance.HealthPercent <= ComboMenu["UseQ"].Cast <Slider>().CurrentValue&& Q.IsReady())
            {
                {
                    Q.Cast();
                }
            }
        }
コード例 #7
0
ファイル: Spells.cs プロジェクト: spall9/T2N1
 public static bool TryToCast(this Spell.Active spell, Obj_AI_Base target, Menu m)
 {
     if (target == null)
     {
         return(false);
     }
     return(target.CanCastSpell(spell) && m.GetCheckBoxValue(spell.Slot.ToString().ToLower()) && spell.Cast());
 }
コード例 #8
0
        public override void Combo()
        {
            var target = TargetSelector.GetTarget(_r.Range, DamageType.Magical);

            if (target == null || target.IsZombie)
            {
                return;
            }

            if (Player.Instance.ManaPercent >= Value.Get("combo.e.mana"))
            {
                if (Value.Use("combo.e".AddName()) && _e.IsReady() &&
                    target.Distance(Player.Instance) <= Value.Get("combo.e.range"))
                {
                    _e.Cast();
                }
            }
            if (Player.Instance.ManaPercent >= Value.Get("combo.r.mana"))
            {
                if (Value.Use("combo.r".AddName()) && _r.IsReady() && _r.Handle.Ammo > 0)
                {
                    _r.Cast(_r.GetPrediction(target).CastPosition);
                }
            }
            if (Player.Instance.ManaPercent >= Value.Get("combo.q.mana"))
            {
                if (Value.Use("combo.q".AddName()) && _q.IsReady())
                {
                    if (_q.GetPrediction(target).HitChancePercent >= Value.Get("combo.q.prediction"))
                    {
                        if (Value.Use("combo.q.multipred"))
                        {
                            var optimizedCircleLocation = OKTRGeometry.GetOptimizedCircleLocation(_q, target);
                            if (optimizedCircleLocation != null)
                            {
                                _q.Cast(optimizedCircleLocation.Value.Position.To3D());
                            }
                        }
                        else
                        {
                            _q.Cast(_q.GetPrediction(target).CastPosition);
                        }
                    }
                }
            }

            if (Player.Instance.ManaPercent >= Value.Get("combo.w.mana"))
            {
                if (Value.Use("combo.w".AddName()) && target.CountEnemiesInRange(800) <= Value.Get("combo.w.e"))
                {
                    if (Player.Instance.HasBuff("CorkiLoaded") && _w2.IsReady())
                    {
                        _w2.Cast(_w2.GetPrediction(target).CastPosition);
                    }
                    if (!Player.Instance.HasBuff("CorkiLoaded") && _w.IsReady())
                    {
                        _w.Cast(_w.GetPrediction(target).CastPosition);
                    }
                }
            }
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: yfdert88/SP-Addons
        static void ComboSnare()
        {
            var RQ        = TargetSelector.GetTarget(Q.Range, DamageType.Physical);
            var TakeYoumu = TargetSelector.GetTarget(Rengar.GetAutoAttackRange() + 700, DamageType.Physical);
            var RW        = TargetSelector.GetTarget(W.Range, DamageType.Magical);
            var Takebotrk = TargetSelector.GetTarget(550, DamageType.Physical);
            var RE        = TargetSelector.GetTarget(E.Range, DamageType.Physical);
            var ePred     = E.GetPrediction(RE);
            var e         = ePred.CollisionObjects;

            if (Player.HasBuff("RengarR"))
            {
                return;
            }
            if (Takebotrk.IsValidTarget())
            {
                Botrk(Takebotrk);
            }
            if (RQ.IsValidTarget(Rengar.GetAutoAttackRange()))
            {
                Items();
            }
            // COMBO LOGİC -START-
            if (Player.Instance.ManaPercent == 5)
            {
                var style = MiscMenu["style"].Cast <Slider>().CurrentValue;
                if (style == 0)
                {
                    if (ePred.HitChance >= HitChance.Low)
                    {
                        Orbwalker.DisableAttacking = false;
                        E.Cast(RE);
                    }
                    else
                    {
                        Orbwalker.DisableAttacking = true;
                    }
                }
                if (style == 1)
                {
                    if (ePred.HitChance >= HitChance.Medium)
                    {
                        Orbwalker.DisableAttacking = false;
                        E.Cast(RE);
                    }
                    else
                    {
                        Orbwalker.DisableAttacking = true;
                    }
                }
                if (style == 2)
                {
                    if (ePred.HitChance >= HitChance.High)
                    {
                        Orbwalker.DisableAttacking = false;
                        E.Cast(RE);
                    }
                    else
                    {
                        Orbwalker.DisableAttacking = true;
                    }
                }
            }
            else
            {
                var HealthW = MiscMenu["healthw"].Cast <Slider>().CurrentValue;
                if (!E.IsReady() && Q.IsReady() && Rengar.HealthPercent != HealthW && Player.Instance.Mana == 5)
                {
                    Q.Cast();
                }
            }
            // COMBO LOGİC -FİNİSH-
            if (TakeYoumu.IsValidTarget())
            {
                Youmu();
            }
            if (!E.IsReady() && !Player.Instance.HasBuff("rengarpassivebuff") && RQ.IsValidTarget() && Q.IsReady())
            {
                Q.Cast();
                Items();
                Orbwalker.ResetAutoAttack();
            }
            if (!E.IsReady() && RW.IsValidTarget() && W.IsReady())
            {
                W.Cast(RW);
            }
            if (RE.IsValidTarget(E.Range))
            {
                E.Cast(RE);
            }
        }
コード例 #10
0
        public override void AIHeroClient_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (Player.IsDead || !(sender is AIHeroClient))
            {
                return;
            }

            var EOMenu = MenuManager.Menus[HERO_MENU]["Q/W Evade Options"].Keys.Last();

            if (EOMenu.IsActive("q/wonlyoncombo") && !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                return;
            }

            if (sender.IsValidTarget() && sender.IsEnemy && MenuSpells.Any(el => el == args.SData.Name) && Player.Distance(sender) <= args.SData.CastRange)
            {
                if (Q.IsReady() && (EOMenu.Value(args.SData.Name) == 1 || EOMenu.Value(args.SData.Name) == 3))
                {
                    if (args.SData.Name == "JaxCounterStrike")
                    {
                        Core.DelayAction(() => Dodge(), 2000 - Game.Ping - 200); return;
                    }

                    if (args.SData.Name == "KarthusFallenOne")
                    {
                        Core.DelayAction(() => Dodge(), 3000 - Game.Ping - 200); return;
                    }

                    if (args.SData.Name == "ZedR" && args.Target.IsMe)
                    {
                        Core.DelayAction(() => Dodge(), 750 - Game.Ping - 200); return;
                    }

                    if (args.SData.Name == "SoulShackles")
                    {
                        Core.DelayAction(() => Dodge(), 3000 - Game.Ping - 200); return;
                    }

                    if (args.SData.Name == "AbsoluteZero")
                    {
                        Core.DelayAction(() => Dodge(), 3000 - Game.Ping - 200); return;
                    }

                    if (args.SData.Name == "NocturneUnspeakableHorror" && args.Target.IsMe)
                    {
                        Core.DelayAction(() => Dodge(), 2000 - Game.Ping - 200); return;
                    }

                    Core.DelayAction(delegate
                    {
                        if (Target != null && Target.IsValidTarget(Q.Range))
                        {
                            Q.Cast(Target);
                        }
                    }, (int)args.SData.SpellCastTime - Game.Ping - 100);

                    Core.DelayAction(delegate
                    {
                        if (sender.IsValidTarget(Q.Range))
                        {
                            Q.Cast(sender);
                        }
                    }, (int)args.SData.SpellCastTime - Game.Ping - 50);

                    return;
                }

                else if (W.IsReady() && Player.IsFacing(sender) && EOMenu.Value(args.SData.Name) > 1 && ((args.Target != null && args.Target.IsMe) || Player.Position.To2D().Distance(args.Start.To2D(), args.End.To2D(), true, true) < args.SData.LineWidth * args.SData.LineWidth || args.End.Distance(Player) < args.SData.CastRadius))
                {
                    int delay = (int)(Player.Distance(sender) / ((args.SData.MissileMaxSpeed + args.SData.MissileMinSpeed) / 2) * 1000) - 150 + (int)args.SData.SpellCastTime;

                    if (args.SData.Name != "ZedR" && args.SData.Name != "NocturneUnpeakableHorror")
                    {
                        Core.DelayAction(() => W.Cast(), delay);
                        if (Target != null)
                        {
                            Core.DelayAction(() => EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, Target), delay + 100);
                        }
                    }
                    return;
                }
            }
        }
コード例 #11
0
ファイル: Activator.cs プロジェクト: uneventful0312/EloBuddy
        private static void ActivatorSpells()
        {
            var target = TargetSelector.GetTarget(1000, DamageType.Mixed);

            var spell = Player.Instance.Spellbook;

            if (Player.Instance.IsInFountain() || Player.Instance.IsRecalling() || target == null)
            {
                return;
            }

            if (Value.Use("activator.barrier"))
            {
                if (Barrier != null)
                {
                    if (Value.Get("activator.barrier.hp") > Player.Instance.HealthPercent)
                    {
                        if (Barrier.IsReady())
                        {
                            Barrier.Cast();
                        }
                    }
                }
            }

            if (Value.Use("activator.heal"))
            {
                if (Heal != null && Heal.IsReady())
                {
                    if (Value.Use("activator.heal.lifesave"))
                    {
                        var ally =
                            EntityManager.Heroes.Allies.FirstOrDefault(
                                x =>
                                x.IsValidTarget(Player.Instance.GetAutoAttackRange()) &&
                                x.HealthPercent <= Value.Get("activator.barrier.hp"));

                        if (ally != null)
                        {
                            if (ally.IsFacing(target))
                            {
                                Heal.Cast();
                            }
                        }
                    }

                    if (Player.Instance.HealthPercent <= Value.Get("activator.heal.hp"))
                    {
                        if (Player.Instance.IsFacing(target))
                        {
                            Heal.Cast();
                        }
                    }
                }
            }

            if (Value.Use("activator.ignite"))
            {
                if (Ignite != null && Ignite.IsReady())
                {
                    if (Value.Use("activator.ignite.killsteal"))
                    {
                        if (target.Health <= DamageLibrary.GetSpellDamage(Player.Instance, target, Ignite.Slot))
                        {
                            Ignite.Cast(target);
                        }
                    }

                    if (Value.Use("activator.ignite.burst"))
                    {
                        if (spell.GetSpell(SpellSlot.Q).IsReady&& spell.GetSpell(SpellSlot.W).IsReady&& spell.GetSpell(SpellSlot.E).IsReady&& spell.GetSpell(SpellSlot.R).IsReady)
                        {
                            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                            {
                                Ignite.Cast(target);
                            }
                        }
                    }
                    if (Value.Use("activator.ignite.progressive"))
                    {
                        if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                        {
                            Ignite.Cast(target);
                        }
                    }
                }
            }
        }
コード例 #12
0
ファイル: Ryze.cs プロジェクト: chienhao10/EloBuddy
        public override void Combo()
        {
            var target = TargetSelector.GetTarget(570, DamageType.Magical);

            if (target != null)
            {
                var qpred = Q.GetPrediction(target);
                if (target.IsValidTarget(Q.Range))
                {
                    if (GetPassiveBuff <= 2 || !ObjectManager.Player.HasBuff("RyzePassiveStack"))
                    {
                        if (target.IsValidTarget(Q.Range) && Q.IsReady())
                        {
                            Q.Cast(qpred.UnitPosition);
                        }

                        if (target.IsValidTarget(W.Range) && W.IsReady())
                        {
                            W.Cast(target);
                        }

                        if (target.IsValidTarget(E.Range) && E.IsReady())
                        {
                            E.Cast(target);
                        }

                        if (R.IsReady())
                        {
                            if (target.IsValidTarget(W.Range) && target.Health > (Q.GetRealDamage(target) + E.GetRealDamage(target)))
                            {
                                if (target.HasBuff("RyzeW"))
                                {
                                    R.Cast();
                                }
                            }
                        }
                    }


                    if (GetPassiveBuff == 3)
                    {
                        if (Q.IsReady() && target.IsValidTarget(Q.Range))
                        {
                            Q.Cast(qpred.UnitPosition);
                        }

                        if (E.IsReady() && target.IsValidTarget(E.Range))
                        {
                            E.Cast(target);
                        }

                        if (W.IsReady() && target.IsValidTarget(W.Range))
                        {
                            W.Cast(target);
                        }

                        if (R.IsReady())
                        {
                            if (target.IsValidTarget(W.Range) && target.Health > (Q.GetRealDamage(target) + E.GetRealDamage(target)))
                            {
                                if (target.HasBuff("RyzeW"))
                                {
                                    R.Cast();
                                }
                            }
                        }
                    }

                    if (GetPassiveBuff == 4)
                    {
                        if (target.IsValidTarget(W.Range) && W.IsReady())
                        {
                            W.Cast(target);
                        }

                        if (target.IsValidTarget(Q.Range) && Q.IsReady())
                        {
                            Q.Cast(qpred.UnitPosition);
                        }

                        if (target.IsValidTarget(E.Range) && E.IsReady())
                        {
                            E.Cast(target);
                        }

                        if (R.IsReady())
                        {
                            if (target.IsValidTarget(W.Range) && target.Health > (Q.GetRealDamage(target) + E.GetRealDamage(target)))
                            {
                                if (target.HasBuff("RyzeW"))
                                {
                                    R.Cast();
                                }
                            }
                        }
                    }

                    if (ObjectManager.Player.HasBuff("ryzepassivecharged"))
                    {
                        if (W.IsReady() && target.IsValidTarget(W.Range))
                        {
                            W.Cast(target);
                        }

                        if (Q.IsReady() && target.IsValidTarget(Q.Range))
                        {
                            Q.Cast(qpred.UnitPosition);
                        }

                        if (E.IsReady() && target.IsValidTarget(E.Range))
                        {
                            E.Cast(target);
                        }

                        if (R.IsReady())
                        {
                            if (target.IsValidTarget(W.Range) && target.Health > (Q.GetRealDamage(target) + E.GetRealDamage(target)))
                            {
                                if (target.HasBuff("RyzeW"))
                                {
                                    R.Cast();
                                }
                                if (!E.IsReady() && !Q.IsReady() && !W.IsReady())
                                {
                                    R.Cast();
                                }
                            }
                        }
                    }
                }
                else
                {
                    if (W.IsReady() && target.IsValidTarget(W.Range))
                    {
                        W.Cast(target);
                    }

                    if (Q.IsReady() && target.IsValidTarget(Q.Range))
                    {
                        Q.Cast(qpred.UnitPosition);
                    }

                    if (E.IsReady() && target.IsValidTarget(E.Range))
                    {
                        E.Cast(target);
                    }
                }
                if (!R.IsReady() || GetPassiveBuff != 4)
                {
                    return;
                }

                if (Q.IsReady() || W.IsReady() || E.IsReady())
                {
                    return;
                }

                R.Cast();
            }
        }
コード例 #13
0
        static void Game_OnUpdate(EventArgs args)
        {
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                var alvo = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
                var rmax = EntityManager.Heroes.Enemies.Where(t => t.IsInRange(Player.Instance.Position, R.Range) && !t.IsDead && t.IsValid && !t.IsInvulnerable).Count();
                if (!alvo.IsValid())
                {
                    return;
                }
                if (Q.IsReady() && Q.IsInRange(alvo) && ModesMenu1["ComboQ"].Cast <CheckBox>().CurrentValue)
                {
                    Q.Cast(alvo);
                }
                if (W.IsReady() && _Player.Distance(alvo) <= _Player.GetAutoAttackRange() + 50 && ModesMenu1["ComboW"].Cast <CheckBox>().CurrentValue)
                {
                    W.Cast();
                }
                if (E.IsReady() && E.IsInRange(alvo) && ModesMenu1["ComboE"].Cast <CheckBox>().CurrentValue)
                {
                    E.Cast(alvo);
                }
                if (R.IsReady() && R.IsInRange(alvo) && ModesMenu1["ComboE"].Cast <CheckBox>().CurrentValue&& !(rmax >= ModesMenu1["MaxR"].Cast <Slider>().CurrentValue))
                {
                    R.Cast(alvo);
                }
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                var alvo = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
                if (!alvo.IsValid())
                {
                    return;
                }



                if ((_Player.ManaPercent <= ModesMenu1["ManaH"].Cast <Slider>().CurrentValue))
                {
                    return;
                }
                if (Q.IsReady() && Q.IsInRange(alvo) && ModesMenu1["HarassQ"].Cast <CheckBox>().CurrentValue)
                {
                    Q.Cast(alvo);
                }
                if (W.IsReady() && _Player.Distance(alvo) <= _Player.GetAutoAttackRange() + 50 && ModesMenu1["HarassW"].Cast <CheckBox>().CurrentValue)
                {
                    W.Cast();
                }
                if (E.IsReady() && E.IsInRange(alvo) && ModesMenu1["HarassE"].Cast <CheckBox>().CurrentValue)
                {
                    E.Cast(alvo);
                }
                if (R.IsReady() && R.IsInRange(alvo) && ModesMenu1["HarassR"].Cast <CheckBox>().CurrentValue)
                {
                    R.Cast(alvo);
                }
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
            {
                var minions = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, _Player.Position, Q.Range).OrderByDescending(x => x.MaxHealth).FirstOrDefault();

                var minion = EntityManager.MinionsAndMonsters.EnemyMinions.Where(t => t.IsInRange(Player.Instance.Position, E.Range) && !t.IsDead && t.IsValid && !t.IsInvulnerable).Count();


                if ((_Player.ManaPercent <= ModesMenu2["ManaF"].Cast <Slider>().CurrentValue))
                {
                    return;
                }
                if (Q.IsReady() && Q.IsInRange(minions) && ModesMenu2["FarmQ"].Cast <CheckBox>().CurrentValue&& minions.Health < DamageLib.QCalc(minions))
                {
                    Q.Cast(minions);
                }

                if (E.IsReady() && E.IsInRange(minions) && ModesMenu2["FarmE"].Cast <CheckBox>().CurrentValue&& (minion >= ModesMenu2["MinionE"].Cast <Slider>().CurrentValue))
                {
                    E.Cast(minions);
                }
                if (R.IsReady() && R.IsInRange(minions) && ModesMenu2["FarmR"].Cast <CheckBox>().CurrentValue)
                {
                    R.Cast(minions);
                }
                if (W.IsReady() && _Player.Distance(minions) <= _Player.GetAutoAttackRange() + 50 && ModesMenu2["FarmW"].Cast <CheckBox>().CurrentValue)
                {
                    W.Cast();
                }
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit))
            {
                var minions = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, _Player.Position, Q.Range).OrderByDescending(x => x.MaxHealth).FirstOrDefault();

                var minion = EntityManager.MinionsAndMonsters.EnemyMinions.Where(t => t.IsInRange(Player.Instance.Position, E.Range) && !t.IsDead && t.IsValid && !t.IsInvulnerable).Count();

                if (Q.IsReady() && Q.IsInRange(minions) && ModesMenu2["LastQ"].Cast <CheckBox>().CurrentValue&& minions.Health < DamageLib.QCalc(minions))
                {
                    Q.Cast(minions);
                }
                if (W.IsReady() && _Player.Distance(minions) <= _Player.GetAutoAttackRange() + 50 && ModesMenu2["LastW"].Cast <CheckBox>().CurrentValue&& minions.Health < DamageLib.WCalc(minions))
                {
                    W.Cast();
                }
                if (E.IsReady() && E.IsInRange(minions) && ModesMenu2["LastE"].Cast <CheckBox>().CurrentValue&& (minion >= ModesMenu2["MinionE"].Cast <Slider>().CurrentValue&& minions.Health < DamageLib.ECalc(minions)))
                {
                    E.Cast(minions);
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Flee))
                {
                    var Mpos = Game.CursorPos;

                    if (R.IsReady())
                    {
                        R.Cast(Mpos);
                    }
                }
            }
        }
コード例 #14
0
ファイル: Main.cs プロジェクト: lorgam12/MoonyDiana
        private void Combo()
        {
            var target = TargetSelector.GetTarget(1500, DamageType.Magical) ?? TargetSelector.GetTarget(1500, DamageType.Physical);

            if (targetHadBuff && Environment.TickCount - hadBuffTick >= 2000)
            {
                targetHadBuff = false;
            }

            /*R*/
            if (config.comboMenu.Get <CheckBox>("useR").CurrentValue&& ready(SpellSlot.R))
            {
                if (me.GetSpellDamage(target, SpellSlot.R) > target.Health)
                {
                    R.Cast(target);
                    if (ready(SpellSlot.Q))
                    {
                        Core.RepeatAction(() => Q.Cast(Q.GetPrediction(target).CastPosition), 1, 1000);
                    }
                }
                else if (!ready(SpellSlot.Q))
                {
                    if (config.comboMenu.Get <CheckBox>("useRmoonlightOnly").CurrentValue&& (target.HasBuff(QBuffName) || targetHadBuff))
                    {
                        R.Cast(target);
                        if (!targetHadBuff)
                        {
                            targetHadBuff = true;
                            hadBuffTick   = Environment.TickCount;
                        }
                    }
                    else if (!config.comboMenu.Get <CheckBox>("useRmoonlightOnly").CurrentValue)
                    {
                        R.Cast(target);
                    }
                }
            }

            /*Q*/
            if (config.comboMenu.Get <CheckBox>("useBetterQCombo").CurrentValue)
            {
                DoQOnTargetAndOthers(target);
            }
            else
            {
                var pred = Q.GetPrediction(target);
                if (config.comboMenu.Get <CheckBox>("useQ").CurrentValue&& ready(SpellSlot.Q))
                {
                    if (pred.HitChance >= HitChance.High)
                    {
                        Q.Cast(pred.CastPosition);
                    }
                }
            }



            /*W*/
            if (target.Distance(me) <= W.Range + 250 && config.comboMenu.Get <CheckBox>("useW").CurrentValue&& ready(SpellSlot.W))
            {
                W.Cast();
            }

            //E
            CheckEscaping(target);
        }
コード例 #15
0
ファイル: Program.cs プロジェクト: Xelamats/PortAIO
        private static void OnTick(EventArgs args)
        {
            if (myHero.IsDead) return;

            W = new Spell.Active(SpellSlot.W, (uint)(565 + 60 + W.Level * 30 + 65));
            R = new Spell.Skillshot(SpellSlot.R, (uint)(900 + R.Level * 300), SkillShotType.Circular, 1500, int.MaxValue,
                225);

            if (human && wActive)
            {
                if (1 / myHero.AttackDelay > Convert.ToSingle(esw) / 100)
                {
                    if (EntityManager.Heroes.Enemies.Any(x => x.IsValidTarget(130 + swez)) ||
                        !EntityManager.Heroes.Enemies.Any(x => x.IsValidTarget(130 + swchz)))
                    {
                        Orbwalker.DisableMovement = false;
                        Orbwalker.DisableAttacking = !(Environment.TickCount + Game.Ping / 2 + 25 >= LastAATick + 1.0 / Convert.ToSingle(swatk) * 1000 * 100);
                    }
                    else
                    {
                        Orbwalker.DisableAttacking = false;
                        Orbwalker.DisableMovement = true;
                    }
                }
                else
                {
                    Orbwalker.DisableAttacking = false;
                    Orbwalker.DisableMovement = false;
                }
            }

            if (CanMove(100))
            {
                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                {
                    if (useQ)
                    {
                        if (QIsReadyPerfectly())
                        {
                            if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.Q) >= getSpellMana(SpellSlot.W))
                            {
                                var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
                                if (target != null)
                                {
                                    Q.Cast(target);
                                }
                            }
                        }
                    }

                    if (useW)
                    {
                        if (WIsReadyPerfectly())
                        {
                            if (EntityManager.Heroes.Enemies.Any(x => x.IsValidTarget(W.Range)))
                            {
                                W.Cast();
                            }
                        }
                    }

                    if (useE)
                    {
                        if (EIsReadyPerfectly())
                        {
                            if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.E) >= getSpellMana(SpellSlot.W))
                            {
                                var target = TargetSelector.GetTarget(E.Range, DamageType.Magical);
                                if (target != null)
                                {
                                    E.Cast(target);
                                }
                            }
                        }
                    }

                    if (useR)
                    {
                        if (RIsReadyPerfectly())
                        {
                            if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.R) >= getSpellMana(SpellSlot.W))
                            {
                                if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimit)
                                {
                                    var target = TargetSelector.GetTarget(R.Range, DamageType.Magical);
                                    if (target != null)
                                    {
                                        if (onlyRHP)
                                        {
                                            if (target.HealthPercent < hpOfTarget)
                                            {
                                                R.Cast(target);
                                            }
                                        }
                                        else
                                        {
                                            R.Cast(target);
                                        }
                                    }
                                }
                                else
                                {
                                    var killableTarget = EntityManager.Heroes.Enemies.FirstOrDefault(x => x.IsKillableAndValidTarget(myHero.GetSpellDamage(x, SpellSlot.R), DamageType.Magical, R.Range) && R.GetPrediction(x).HitChance >= HitChance.High);
                                    if (killableTarget != null)
                                    {
                                        R.Cast(killableTarget);
                                    }
                                }
                            }
                        }
                    }
                }
                else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
                {
                    if (useQH)
                    {
                        if (QIsReadyPerfectly())
                            if (myHero.IsManaPercentOkay(manaH))
                            {
                                var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
                                if (target != null)
                                    Q.Cast(target);
                            }
                    }

                    if (useEH)
                    {
                        if (EIsReadyPerfectly())
                            if (myHero.IsManaPercentOkay(manaH))
                            {
                                var target = TargetSelector.GetTarget(E.Range, DamageType.Magical);
                                if (target != null)
                                    E.Cast(target);
                            }
                    }

                    if (useRH)
                    {
                        if (RIsReadyPerfectly())
                        {
                            if (myHero.IsManaPercentOkay(manaH))
                            {
                                if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitH)
                                {
                                    var target = TargetSelector.GetTarget(R.Range, DamageType.Magical);
                                    if (target != null)
                                        R.Cast(target);
                                }
                            }
                        }
                    }
                }
                else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) ||
                         Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
                {
                    foreach (
                        var minion in
                            EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy,
                                myHero.ServerPosition, myHero.GetAutoAttackRange()))
                    {
                        if (useELC)
                        {
                            if (myHero.IsManaPercentOkay(manaLC))
                            {
                                if (EIsReadyPerfectly())
                                {
                                    var minions =
                                        EntityManager.MinionsAndMonsters.GetLaneMinions(
                                            EntityManager.UnitTeam.Enemy, myHero.ServerPosition, E.Range);
                                    var farmLocation = EntityManager.MinionsAndMonsters.GetLineFarmLocation(
                                        minions, E.Width, (int)E.Range);
                                    if (farmLocation.HitNumber >= 3)
                                        E.Cast(farmLocation.CastPosition);
                                }
                            }
                        }

                        if (useRLC)
                        {
                            if (myHero.IsManaPercentOkay(manaLC))
                            {
                                if (RIsReadyPerfectly())
                                {
                                    if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitLC)
                                    {
                                        var minions =
                                            EntityManager.MinionsAndMonsters.GetLaneMinions(
                                                EntityManager.UnitTeam.Enemy, myHero.ServerPosition, R.Range);
                                        var farmLocation =
                                            EntityManager.MinionsAndMonsters.GetCircularFarmLocation(minions,
                                                R.Width, (int)R.Range);
                                        if (farmLocation.HitNumber >= 2)
                                        {
                                            R.Cast(farmLocation.CastPosition);
                                        }
                                    }
                                }
                            }
                        }
                    }

                    foreach (
                        var jungleMobs in
                            ObjectManager.Get<Obj_AI_Minion>()
                                .Where(
                                    o =>
                                        o.IsValidTarget(W.Range) && o.Team == GameObjectTeam.Neutral && o.IsVisible &&
                                        !o.IsDead))
                    {
                        if (WIsReadyPerfectly())
                            if (useWJG)
                                W.Cast();

                        if (useEJG)
                        {
                            if (myHero.IsManaPercentOkay(manaJG))
                            {
                                if (EIsReadyPerfectly())
                                {
                                    var minions =
                                        EntityManager.MinionsAndMonsters.GetJungleMonsters(myHero.ServerPosition,
                                            E.Range);
                                    var farmLocation = EntityManager.MinionsAndMonsters.GetLineFarmLocation(
                                        minions, E.Width, (int)E.Range);
                                    if (farmLocation.HitNumber >= 2)
                                    {
                                        E.Cast(farmLocation.CastPosition);
                                    }
                                }
                            }
                        }

                        if (useRJG)
                        {
                            if (myHero.IsManaPercentOkay(manaJG))
                            {
                                if (RIsReadyPerfectly())
                                {
                                    if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitJG)
                                    {
                                        var minions =
                                            EntityManager.MinionsAndMonsters.GetJungleMonsters(
                                                myHero.ServerPosition, R.Range);
                                        var farmLocation =
                                            EntityManager.MinionsAndMonsters.GetCircularFarmLocation(minions,
                                                R.Width, (int)R.Range);
                                        if (farmLocation.HitNumber >= 2)
                                        {
                                            R.Cast(farmLocation.CastPosition);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #16
0
ファイル: Tryndamere.cs プロジェクト: tekintr/Elobuddy
        private static void Combo()
        {
            var target = TargetSelector.GetTarget(W.Range, DamageType.Physical);
            var useW   = ComboMenu["ComboW"].Cast <CheckBox>().CurrentValue;
            var useW2  = ComboMenu["ComboW2"].Cast <CheckBox>().CurrentValue;
            var useE   = ComboMenu["ComboE"].Cast <CheckBox>().CurrentValue;
            var disE   = ComboMenu["DisE"].Cast <Slider>().CurrentValue;
            var item   = ComboMenu["BOTRK"].Cast <CheckBox>().CurrentValue;
            var Minhp  = ComboMenu["ihp"].Cast <Slider>().CurrentValue;
            var Minhpp = ComboMenu["ihpp"].Cast <Slider>().CurrentValue;
            var turret = ComboMenu["CTurret"].Cast <KeyBind>().CurrentValue;

            if (target != null)
            {
                if (useE && E.IsReady() && target.IsValidTarget(E.Range) && (disE <= target.Distance(Player.Instance) || Player.Instance.HealthPercent <= 20))
                {
                    if (turret)
                    {
                        if (!target.Position.UnderTuret())
                        {
                            E.Cast(target.Position);
                        }
                    }
                    else
                    {
                        E.Cast(target.Position);
                    }
                }

                if (useW && W.IsReady() && target.IsValidTarget(W.Range))
                {
                    if (_Player.Distance(target) <= target.GetAutoAttackRange() && Player.Instance.HealthPercent <= 60)
                    {
                        W.Cast();
                    }

                    if (useW2)
                    {
                        if (!target.IsFacing(Player.Instance) && _Player.Distance(target) >= 325 && !E.IsReady())
                        {
                            W.Cast();
                        }
                    }
                    else
                    {
                        if (!target.IsFacing(Player.Instance) && _Player.Distance(target) >= 325)
                        {
                            W.Cast();
                        }
                    }
                }

                if (item && Bil.IsReady() && Bil.IsOwned() && target.IsValidTarget(475))
                {
                    Bil.Cast(target);
                }

                if ((item && Botrk.IsReady() && Botrk.IsOwned() && target.IsValidTarget(475)) && (Player.Instance.HealthPercent <= Minhp || target.HealthPercent < Minhpp))
                {
                    Botrk.Cast(target);
                }
            }
        }
コード例 #17
0
ファイル: Katarina.cs プロジェクト: firas500/EloBuddy
        public override void Init()
        {
            try
            {
                try
                {
                    #region Spells
                    // Defining Spells
                    _q = new Spell.Targeted(SpellSlot.Q, 675);
                    _w = new Spell.Active(SpellSlot.W, 375);
                    _e = new Spell.Targeted(SpellSlot.E, 700);
                    _r = new Spell.Active(SpellSlot.R, 550);
                    #endregion
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code SPELL)</font>");
                }

                try
                {
                    #region Menu
                    var combo = MainMenu._combo;
                    string[] s = { "QEWR", "EQWR" };

                    combo.AddStringList("combo.mode", "Mode: ", s, 1);
                    MainMenu.ComboKeys(true, true, true, true);
                    MainMenu.HarassKeys(true, true, true, true);
                    MainMenu._harass.Add("harass.autow", new CheckBox("Use Auto W"));
                    MainMenu._harass.Add("harass.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.FleeKeys(false, false, true, false);
                    MainMenu._flee.Add("flee.ward", new CheckBox("Use Wardjump"));

                    MainMenu.LaneKeys(true, true, true, false);
                    MainMenu._lane.Add("lane.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.LastHitKeys(true, true, true, false);
                    MainMenu._lasthit.Add("lasthit.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.KsKeys(true, true, true, true);
                    MainMenu._ks.Add("killsteal.ignite", new CheckBox("Use Ignite"));
                    MainMenu._ks.Add("killsteal.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.DamageIndicator();
                    MainMenu.DrawKeys(true, true, true, true);
                    MainMenu._draw.AddSeparator();

                    MainMenu._draw.AddGroupLabel("Flash Settings");
                    MainMenu._draw.Add("draw.flash", new CheckBox("Draw flash"));
                    MainMenu._draw.AddColorItem("color.flash");
                    MainMenu._draw.AddWidthItem("width.flash");
                    MainMenu._draw.AddSeparator();

                    MainMenu._draw.AddGroupLabel("Ignite Settings");
                    MainMenu._draw.Add("draw.ignite", new CheckBox("Draw ignite"));
                    MainMenu._draw.AddColorItem("color.ignite");
                    MainMenu._draw.AddWidthItem("width.ignite");

                    _humanizerMenu = MainMenu._menu.AddSubMenu("Humanizer Menu");
                    _humanizerMenu.AddGroupLabel("Q Settings");
                    _humanizerMenu.Add("min.q", new Slider("Min Q Delay", 0, 0, 50));
                    _humanizerMenu.Add("max.q", new Slider("Max Q Delay", 0, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    _humanizerMenu.AddGroupLabel("W Settings");
                    _humanizerMenu.Add("min.w", new Slider("Min W Delay", 0, 0, 50));
                    _humanizerMenu.Add("max.w", new Slider("Max W Delay", 0, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    _humanizerMenu.AddGroupLabel("E Settings");
                    _humanizerMenu.Add("min.e", new Slider("Min E Delay", 0, 0, 50));
                    _humanizerMenu.Add("max.e", new Slider("Max E Delay", 0, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    _humanizerMenu.AddGroupLabel("R Settings");
                    _humanizerMenu.Add("min.r", new Slider("Min R Delay", 4, 0, 50));
                    _humanizerMenu.Add("max.r", new Slider("Max R Delay", 4, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    #endregion
                }

                catch (Exception e)
                {
                    Console.WriteLine(e);
                    Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code MENU)</font>");
                }

                #region UtilityInit
                DamageIndicator.DamageToUnit = GetActualRawComboDamage;
                Value.Init();
                Value.MenuList.Add(_humanizerMenu);
                Drawing.OnDraw += DrawRanges;

                #region MenuValueChange
                _humanizerMenu["min.q"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.q"].Cast<Slider>().CurrentValue > _humanizerMenu["max.q"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["min.q"].Cast<Slider>().CurrentValue = _humanizerMenu["max.q"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["max.q"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.q"].Cast<Slider>().CurrentValue < _humanizerMenu["min.q"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["max.q"].Cast<Slider>().CurrentValue = _humanizerMenu["min.q"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["min.w"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.w"].Cast<Slider>().CurrentValue > _humanizerMenu["max.w"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["min.w"].Cast<Slider>().CurrentValue = _humanizerMenu["max.w"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["max.w"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.w"].Cast<Slider>().CurrentValue < _humanizerMenu["min.w"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["max.w"].Cast<Slider>().CurrentValue = _humanizerMenu["min.w"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["min.e"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.e"].Cast<Slider>().CurrentValue > _humanizerMenu["max.e"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["min.e"].Cast<Slider>().CurrentValue = _humanizerMenu["max.e"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["max.e"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.e"].Cast<Slider>().CurrentValue < _humanizerMenu["min.e"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["max.e"].Cast<Slider>().CurrentValue = _humanizerMenu["min.e"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["min.r"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.r"].Cast<Slider>().CurrentValue > _humanizerMenu["max.r"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["min.r"].Cast<Slider>().CurrentValue = _humanizerMenu["max.r"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["max.r"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.r"].Cast<Slider>().CurrentValue < _humanizerMenu["min.r"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["max.r"].Cast<Slider>().CurrentValue = _humanizerMenu["min.r"].Cast<Slider>().CurrentValue;
                };
                #endregion
                #endregion
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code 503)</font>");
            }

            Game.OnUpdate += delegate
            {
                try
                {
                    #region AutoW
                    if (MainMenu._harass["harass.autow"].Cast<CheckBox>().CurrentValue)
                    {
                        var e = EntityManager.Heroes.Enemies.Where(ee => !ee.IsDead && ee.IsValid);
                        foreach (var enemy in e)
                        {
                            if (_w.IsInRange(enemy) && _w.IsReady() && !_isUlting)
                            {
                                _w.Cast();
                            }
                        }
                    }
                    #endregion

                    KillSteal();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> san error ocurred. (Code 5)</font>");
                }
                //KillSteal();
            };
        }
コード例 #18
0
        /// <summary>
        /// Called whenever the game is being runned.
        /// </summary>
        /// <param name="args"></param>
        private static void Game_OnUpdate(System.EventArgs args)
        {
            if (Config.MiscMenu["pet"].Cast <CheckBox>().CurrentValue)
            {
                Pet.MovePet();
            }
            if (Config.KillStealMenu["toggle"].Cast <CheckBox>().CurrentValue)
            {
                if (!LastWEndPosition.IsZero &&
                    Player.Instance.Spellbook.GetSpell(SpellSlot.W).Name.ToLower() == "leblancslide")
                {
                    LastWEndPosition = Vector3.Zero;
                }
                if (!LastWUltimateEndPosition.IsZero &&
                    Player.Instance.Spellbook.GetSpell(SpellSlot.R).Name.ToLower() == "leblancslidem")
                {
                    LastWUltimatePosition = Vector3.Zero;
                }
                if (Modes.KillSteal.ResetW && Player.Instance.ServerPosition.IsInRange(LastWEndPosition, 100))
                {
                    if (!E.IsReady())
                    {
                        var eEnemies =
                            EntityManager.Heroes.Enemies.Where(t => t.IsValidTarget(E.Range) && Extension.IsBeingE(t))
                            .ToArray();

                        if (eEnemies.Any())
                        {
                            var shouldUse = eEnemies.Any(t => LastWPosition.Distance(t) <= E.Range);

                            if (!shouldUse)
                            {
                                return;
                            }

                            if (WReturn.IsReady() &&
                                Player.Instance.Spellbook.GetSpell(SpellSlot.W).Name.ToLower() == "leblancslidereturn")
                            {
                                WReturn.Cast();
                                LastWEndPosition = Vector3.Zero;
                                KillSteal.ResetW = false;
                                return;
                            }
                        }
                        else
                        {
                            if (WReturn.IsReady() &&
                                Player.Instance.Spellbook.GetSpell(SpellSlot.W).Name.ToLower() == "leblancslidereturn")
                            {
                                WReturn.Cast();
                                LastWEndPosition       = Vector3.Zero;
                                Modes.KillSteal.ResetW = false;
                                return;
                            }
                        }
                    }

                    if (WReturn.IsReady() &&
                        Player.Instance.Spellbook.GetSpell(SpellSlot.W).Name.ToLower() == "leblancslidereturn")
                    {
                        WReturn.Cast();
                        LastWEndPosition       = Vector3.Zero;
                        Modes.KillSteal.ResetW = false;
                        return;
                    }
                }
                if (Modes.KillSteal.ResetW && Player.Instance.ServerPosition.IsInRange(LastWUltimateEndPosition, 100))
                {
                    if (!E.IsReady())
                    {
                        var eEnemies =
                            EntityManager.Heroes.Enemies.Where(t => t.IsValidTarget(E.Range) && Extension.IsBeingE(t))
                            .ToArray();

                        if (eEnemies.Any())
                        {
                            var shouldUse = eEnemies.Any(t => LastWUltimatePosition.Distance(t) <= E.Range);

                            if (!shouldUse)
                            {
                                return;
                            }

                            if (RReturn.IsReady() &&
                                Player.Instance.Spellbook.GetSpell(SpellSlot.R).Name.ToLower() == "leblancslidereturnm")
                            {
                                RReturn.Cast();
                                LastWEndPosition = Vector3.Zero;
                                KillSteal.ResetW = false;
                                return;
                            }
                        }
                        else
                        {
                            if (RReturn.IsReady() &&
                                Player.Instance.Spellbook.GetSpell(SpellSlot.R).Name.ToLower() == "leblancslidereturnm")
                            {
                                RReturn.Cast();
                                LastWUltimateEndPosition = Vector3.Zero;
                                Modes.KillSteal.ResetW   = false;
                                return;
                            }
                        }
                    }


                    if (RReturn.IsReady() &&
                        Player.Instance.Spellbook.GetSpell(SpellSlot.R).Name.ToLower() == "leblancslidereturnm")
                    {
                        RReturn.Cast();
                        LastWUltimateEndPosition = Vector3.Zero;
                        Modes.KillSteal.ResetW   = false;
                        return;
                    }
                }
                Modes.KillSteal.Execute();
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                Modes.Combo.Execute();
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                Modes.Harass.Execute();
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
            {
                Modes.LaneClear.Execute();
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
            {
                Modes.JungleClear.Execute();
            }
        }
コード例 #19
0
        public static void HandleDodging()
        {
            AIHeroClient self = Player.Instance;

            if (!self.IsSafe())
            {
                //every 20th of a second it can check for movements. This is to avoid FPS drops.
                if (Game.Time - TimeOfLastMovementCheck >= 0.05f && !TryToMoveToSafePosition())
                {
                    List <CustomPolygon> polysThatHitMe = self.GetPolygonsThatHitMe();
                    List <SpellInfo>     selfSpells     = self.GetSpells();
                    Menu          mainMenu = MenuHandler.mainChampionEvadeMenu;
                    float         highestDangerValueIncoming = polysThatHitMe.OrderByDescending(a => a.GetDangerValue()).FirstOrDefault().GetDangerValue();
                    CustomPolygon closestSpell = self.FindSpellInfoWithClosestTime();

                    #region UseSpellShield
                    if (highestDangerValueIncoming >= mainMenu.GetSliderValue("Spell Shield Danger Level") && selfSpells.Any(a => a.BuffType == SpellInfo.Buff.SpellShield && closestSpell.TimeUntilHitsChampion(self) <= a.Duration && a.IsOffCooldown()))
                    {
                        SpellInfo spellShield = selfSpells.FirstOrDefault(a => a.BuffType == SpellInfo.Buff.SpellShield && closestSpell.TimeUntilHitsChampion(self) <= a.Duration && a.IsOffCooldown());

                        //Sivir W/Nocturne W
                        if (spellShield.SpellType == SpellInfo.SpellTypeInfo.PassiveSpell ||
                            spellShield.SpellType == SpellInfo.SpellTypeInfo.PassiveSpellWithBuff ||
                            spellShield.SpellType == SpellInfo.SpellTypeInfo.PassiveSpellWithDuration)
                        {
                            Spell.Active spell  = new Spell.Active(self.GetSpellSlotFromName(spellShield.SpellName));
                            bool         casted = spell.Cast();
                            if (casted)
                            {
                                return;
                            }
                        }
                        //Morgana W
                        else if (spellShield.SpellType == SpellInfo.SpellTypeInfo.TargetedPassiveSpell)
                        {
                            Spell.Targeted spell  = new Spell.Targeted(self.GetSpellSlotFromName(spellShield.SpellName), (uint)spellShield.Range);
                            bool           casted = spell.Cast(self);
                            if (casted)
                            {
                                return;
                            }
                        }
                    }
                    #endregion

                    #region FlashFromSpell

                    if (highestDangerValueIncoming >= mainMenu.GetSliderValue("Spell Shield Danger Level"))
                    {
                        Spell.Skillshot flash = new Spell.Skillshot(self.GetSpellSlotFromName("SummonerFlash"), 425, SkillShotType.Linear, 0, 0, 0);

                        if (flash.IsReady())
                        {
                            Vector3 flashPos = GetSafePositions(self, flash.Range - 5).OrderByDescending(a => a.DistanceFromClosestEnemy()).FirstOrDefault();
                            bool    casted   = flash.Cast(flashPos);
                            if (casted)
                            {
                                return;
                            }
                        }
                    }
                    #endregion
                }
            }
            else
            {
                safePosition = Vector3.Zero;
            }
        }
コード例 #20
0
        private static void Game_OnTick(EventArgs args)
        {
            var HPpot        = MiscMenu["useHP"].Cast <CheckBox>().CurrentValue;
            var Mpot         = MiscMenu["useMana"].Cast <CheckBox>().CurrentValue;
            var Crystal      = MiscMenu["useCrystal"].Cast <CheckBox>().CurrentValue;
            var HPv          = MiscMenu["useHPv"].Cast <Slider>().CurrentValue;
            var Manav        = MiscMenu["useManav"].Cast <Slider>().CurrentValue;
            var CrystalHPv   = MiscMenu["useCrystalHPv"].Cast <Slider>().CurrentValue;
            var CrystalManav = MiscMenu["useCrystalManav"].Cast <Slider>().CurrentValue;
            var target       = TargetSelector.GetTarget(Q.Range, DamageType.Physical);
            var igntarget    = TargetSelector.GetTarget(600, DamageType.True);
            var t            = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

            if (_Player.SkinId != Skin["skin.Id"].Cast <Slider>().CurrentValue)
            {
                if (checkSkin())
                {
                    Player.SetSkinId(SkinId());
                }
            }

            if (Smite != null)
            {
                if (Smite.IsReady() && SmiteMenu["Use Smite?"].Cast <CheckBox>().CurrentValue)
                {
                    Obj_AI_Minion Mob = EntityManager.MinionsAndMonsters.GetJungleMonsters(_Player.Position, Smite.Range).FirstOrDefault();

                    if (Mob != default(Obj_AI_Minion))
                    {
                        bool kill = GetSmiteDamage() >= Mob.Health;

                        if (kill)
                        {
                            if ((Mob.Name.Contains("SRU_Dragon") || Mob.Name.Contains("SRU_Baron")))
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Red") && SmiteMenu["Red?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Blue") && SmiteMenu["Blue?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                        }
                    }
                }
            }

            if (HPpot && Player.Instance.HealthPercent < HPv)
            {
                if (Item.HasItem(Healthpot.Id) && Item.CanUseItem(Healthpot.Id) && !Player.HasBuff("RegenerationPotion"))
                {
                    Healthpot.Cast();
                }
                else if (Item.HasItem(RefillablePotion.Id) && Item.CanUseItem(RefillablePotion.Id) && !Player.HasBuff("RegenerationPotion") && !Player.HasBuff("FlaskOfCrystalWater") && !Player.HasBuff("ItemCrystalFlask"))
                {
                    RefillablePotion.Cast();
                }
            }

            if (Mpot && Player.Instance.ManaPercent < Manav)
            {
                if (Item.HasItem(Manapot.Id) && Item.CanUseItem(Manapot.Id) && !Player.HasBuff("FlaskOfCrystalWater") && !Player.HasBuff("ItemCrystalFlask"))
                {
                    Manapot.Cast();
                }
            }

            if (Crystal && Player.Instance.HealthPercent < CrystalHPv || Crystal && Player.Instance.ManaPercent < CrystalManav)
            {
                if (Item.HasItem(CorruptionPotion.Id) && Item.CanUseItem(CorruptionPotion.Id) && !Player.HasBuff("RegenerationPotion") && !Player.HasBuff("FlaskOfCrystalWater") && !Player.HasBuff("ItemCrystalFlask") && !Player.HasBuff("ItemDarkCrystalFlaskJungle"))
                {
                    CorruptionPotion.Cast();
                }
                else if (Item.HasItem(HuntersPotion.Id) && Item.CanUseItem(HuntersPotion.Id) && !Player.HasBuff("RegenerationPotion") && !Player.HasBuff("FlaskOfCrystalWater") && !Player.HasBuff("ItemCrystalFlask") && !Player.HasBuff("ItemCrystalFlaskJungle"))
                {
                    HuntersPotion.Cast();
                }
            }

            if (R.IsReady() && ComboMenu["SafeR"].Cast <CheckBox>().CurrentValue&& _Player.HealthPercent <= ComboMenu["SafeRHP"].Cast <Slider>().CurrentValue)
            {
                if (_Player.IsUnderTurret())
                {
                    R.Cast();
                }
                foreach (var enemie in EntityManager.Heroes.Enemies)
                {
                    if (_Player.Distance(enemie) < 1200 && !enemie.IsDead)
                    {
                        R.Cast();
                    }
                }
            }


            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                Combo();
                SmiteOnTarget(t);
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                Harass();
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
            {
                LaneClear();
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit))
            {
                LastHit();
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
            {
                JungleClear();
            }
            KillSteal();
        }
コード例 #21
0
        private static void Game_OnUpdate(EventArgs args)
        {
            if (Player.Instance.IsDead)
            {
                return;
            }

            SkinHack.Init();
            Tibbers.Init();

            if (AnnieMenu.Keybind(AnnieMenu.Combo, "Flash"))
            {
                var Target = TargetSelector.GetTarget(Flash.Range + R.Range, DamageType.Magical);

                if (Target != null)
                {
                    if (Flash.IsReady() && R.IsReady())
                    {
                        var RPred = R.GetPrediction(Target);

                        if (RPred.HitChancePercent >= AnnieMenu.Slider(AnnieMenu.Principal, "RPred"))
                        {
                            Flash.Cast(Player.Instance.Position.Extend(Target.Position, Flash.Range).To3D());

                            Core.DelayAction(() => R.Cast(RPred.UnitPosition), 150);
                        }
                    }
                }
            }

            if (AnnieMenu.CheckBox(AnnieMenu.Combo, "E"))
            {
                if (Player.Instance.IsRecalling())
                {
                    return;
                }

                if (!HasStun())
                {
                    if (E.IsReady())
                    {
                        E.Cast();
                    }
                }
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                Modes.Combo.Init();
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
            {
                Modes.Laneclear.Init();
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
            {
                Modes.Jungleclear.Init();
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit))
            {
                Modes.Lasthit.Init();
            }
        }
コード例 #22
0
ファイル: Program.cs プロジェクト: alathuan2/Elobuddy
        public static void ComboWQER()
        {
            var useQ = SubMenu["Combo"]["Q"].Cast <CheckBox>().CurrentValue;
            var useW = SubMenu["Combo"]["W"].Cast <CheckBox>().CurrentValue;
            var useE = SubMenu["Combo"]["E"].Cast <CheckBox>().CurrentValue;
            var useR = SubMenu["Combo"]["R"].Cast <CheckBox>().CurrentValue;

            var target = TargetSelector.GetTarget(W.Range, DamageType.Magical);

            Orbwalker.ForcedTarget = target;
            if (target != null && target.IsValidTarget())
            {
                if (useW && W.IsReady())
                {
                    W.Cast(target);
                }
                else if (!W.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useE && E.IsReady())
                {
                    E.Cast(target);
                }
                else if (!E.IsReady() && useR && R.IsReady() && myHero.GetBuffCount("ryzepassivestack") == 4 || myHero.GetBuffCount("ryzepassivestack") == 2 || myHero.GetBuffCount("ryzepassivestack") == 3)
                {
                    R.Cast();
                }
                else if (!R.IsReady() && useW && W.IsReady())
                {
                    W.Cast(target);
                }
                else if (!W.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useE && E.IsReady())
                {
                    E.Cast(target);
                }
                else if (!E.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useW && W.IsReady())
                {
                    W.Cast(target);
                }
                else if (!W.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useE && E.IsReady())
                {
                    E.Cast(target);
                }
                else if (!E.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useW && W.IsReady())
                {
                    W.Cast(target);
                }
                else if (!W.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useE && E.IsReady())
                {
                    E.Cast(target);
                }
                else if (!E.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useW && W.IsReady())
                {
                    W.Cast(target);
                }
                else if (!W.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useE && E.IsReady())
                {
                    E.Cast(target);
                }
                else if (!E.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useW && W.IsReady())
                {
                    W.Cast(target);
                }
                else if (!W.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useE && E.IsReady())
                {
                    E.Cast(target);
                }
                else if (!E.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useW && W.IsReady())
                {
                    W.Cast(target);
                }
                else if (!W.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useE && E.IsReady())
                {
                    E.Cast(target);
                }
                else if (!E.IsReady() && useQ && Q.IsReady())
                {
                    QCast();
                }
                else if (!Q.IsReady() && useW && W.IsReady())
                {
                    W.Cast(target);
                }
            }
        }
コード例 #23
0
ファイル: Program.cs プロジェクト: yaazyy/Elobbudy
        private static void JungleClear()
        {
            var         jungleclearQ = JungleclearMenu["JQ"].Cast <CheckBox>().CurrentValue;
            var         jungleclearW = JungleclearMenu["JW"].Cast <CheckBox>().CurrentValue;
            var         jungleclearE = JungleclearMenu["JE"].Cast <CheckBox>().CurrentValue;
            var         jungleclearR = JungleclearMenu["JR"].Cast <CheckBox>().CurrentValue;
            Obj_AI_Base minion       =
                EntityManager.MinionsAndMonsters.GetJungleMonsters(

                    ObjectManager.Player.Position,
                    600,
                    true).FirstOrDefault();

            if (minion != null)
            {
                if (jungleclearQ && Q.IsReady())
                {
                    var Qpred = Q.GetPrediction(minion);
                    Q.Cast(Qpred.UnitPosition);
                }
                if (jungleclearE && E.IsReady())
                {
                    E.Cast(minion);
                }
                if (jungleclearW && W.IsReady())
                {
                    W.Cast(minion);
                }
                if (jungleclearR && R.IsReady() && (GetPassiveBuff >= 4 || myHero.HasBuff("ryzepassivecharged")))
                {
                    R.Cast();
                }
            }
        }
コード例 #24
0
ファイル: RyzeAutoplay.cs プロジェクト: asrtr/EloBuddy
        private static void Game_OnUpdate(EventArgs args)
        {
            if (kill && myHero.ChampionName == "Ryze")
            {
                Killable();
            }
            if (myHero.HealthPercent < healslider && Heal != null && !myHero.IsInShopRange())
            {
                Heal.Cast();
            }
            if (myHero.ManaPercent < manaslider && Clarity != null && !myHero.IsInShopRange())
            {
                Clarity.Cast();
            }
            var allyturret  = EntityManager.Turrets.Allies.Where(k => !k.IsDead && k != null).OrderBy(k => k.Distance(myHero)).First();
            var enemyturret = EntityManager.Turrets.Enemies.Where(k => !k.IsDead && k != null).OrderBy(k => k.Distance(myHero)).First();
            var ally        = EntityManager.Heroes.Allies.Where(x => !x.IsMe && !x.IsInShopRange() && !x.IsDead && !SmiteNames.Contains(x.Spellbook.GetSpell(SpellSlot.Summoner1).Name) &&
                                                                !SmiteNames.Contains(x.Spellbook.GetSpell(SpellSlot.Summoner2).Name)).OrderBy(n => n.TotalAttackDamage).Last();

            if (ally == null)
            {
                return;
            }
            if (Menu["recall"].Cast <CheckBox>().CurrentValue&& ally.IsRecalling() && myHero.Distance(ally) <= 400)
            {
                Player.CastSpell(SpellSlot.Recall);
            }
            if (needheal == 0 && myHero.Distance(ally) >= 100 && killing == 0)
            {
                Orbwalker.MoveTo(ally.Position - sliderdist);
            }
            if (myHero.Distance(enemyturret) < 500)
            {
                Player.IssueOrder(GameObjectOrder.AutoAttack, enemyturret);
            }

            if (myHero.Distance(allyturret) <= 250 && needheal == 1 && !myHero.IsInShopRange())
            {
                Player.CastSpell(SpellSlot.Recall);
            }
            if (needheal == 1 && myHero.Distance(allyturret) >= 250)
            {
                Orbwalker.MoveTo(allyturret.Position);
            }
            if (myHero.HealthPercent < 20 || myHero.ManaPercent < 10)
            {
                needheal = 1;
            }
            if (myHero.HealthPercent > 90 && myHero.ManaPercent > 90)
            {
                needheal = 0;
            }

            //Needs Rework
            if (myHero.IsInShopRange() || myHero.IsDead)
            {
                var Gold = myHero.Gold;
                if (ROA.IsOwned())
                {
                    if (Gold >= 400 && !SapphireCrystal.IsOwned() && !Catalyst.IsOwned())
                    {
                        SapphireCrystal.Buy();
                    }
                    if (Gold >= 400 && !RubyCrystal.IsOwned() && !Catalyst.IsOwned())
                    {
                        RubyCrystal.Buy();
                    }
                    if (Gold >= 400 && !Catalyst.IsOwned() && SapphireCrystal.IsOwned() && RubyCrystal.IsOwned())
                    {
                        Catalyst.Buy();
                    }
                    if (Gold >= 850 && !BlastingWand.IsOwned() && Catalyst.IsOwned())
                    {
                        BlastingWand.Buy();
                    }
                    if (Gold >= 650 && BlastingWand.IsOwned() && Catalyst.IsOwned())
                    {
                        ROA.Buy();
                    }
                }
                if (!trinket.IsOwned())
                {
                    trinket.Buy();
                }
                if (Gold >= 475 && !SapphireCrystal.IsOwned() && !Tear.IsOwned() && !ArchangelsStaff.IsOwned())
                {
                    SapphireCrystal.Buy();
                }
                if (Gold >= 320 && !Tear.IsOwned() && !ArchangelsStaff.IsOwned() && SapphireCrystal.IsOwned())
                {
                    Tear.Buy();
                }
                if (Gold >= 400 && !Catalyst.IsOwned() && !RubyCrystal.IsOwned())
                {
                    RubyCrystal.Buy();
                }
                if (Gold >= 800 && !Catalyst.IsOwned() && RubyCrystal.IsOwned())
                {
                    Catalyst.Buy();
                }
                if (Gold >= 1250 && !ArchangelsStaff.IsOwned() && Tear.IsOwned() && !NeedlesslyLargeRod.IsOwned())
                {
                    NeedlesslyLargeRod.Buy();
                }
                if (Gold >= 1030 && !ArchangelsStaff.IsOwned() && Tear.IsOwned() && NeedlesslyLargeRod.IsOwned())
                {
                    ArchangelsStaff.Buy();
                }
                if (Gold >= 850 && !BlastingWand.IsOwned() && !ROA.IsOwned())
                {
                    BlastingWand.Buy();
                }
                if (Gold >= 650 && BlastingWand.IsOwned() && Catalyst.IsOwned() && !ROA.IsOwned())
                {
                    ROA.Buy();
                }
                if (Gold >= 325 && !Boots.IsOwned() && !MercuryTreads.IsOwned())
                {
                    Boots.Buy();
                }
                if (Gold >= 875 && Boots.IsOwned() && !MercuryTreads.IsOwned())
                {
                    MercuryTreads.Buy();
                }
            }
            if (myHero.IsRecalling() || myHero.ChampionName != "Ryze")
            {
                return;
            }
            if (killing == 0)
            {
                LastHit();
            }
            if (myHero.Distance(enemyturret) > 700)
            {
                SluttyCombo();
            }
        }
コード例 #25
0
ファイル: Irelia.cs プロジェクト: xTheNukeZ1/EloBuddy
        public override void KS()
        {
            if (!misc.IsActive("ks") || !EntityManager.Heroes.Enemies.Any(it => Q.IsInRange(it)))
            {
                return;
            }

            if (Q.IsReady())
            {
                var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Q.Range) && damageManager.SpellDamage(enemy, SpellSlot.Q) >= enemy.Health);

                if (bye != null)
                {
                    Q.Cast(bye); return;
                }

                else
                {
                    if (E.IsReady())
                    {
                        bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(E.Range) && damageManager.SpellDamage(enemy, SpellSlot.Q) + damageManager.SpellDamage(enemy, SpellSlot.E) >= enemy.Health);
                        if (bye != null)
                        {
                            E.Cast(bye); return;
                        }
                    }

                    if (W.IsReady())
                    {
                        bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Q.Range) && damageManager.SpellDamage(enemy, SpellSlot.Q) + damageManager.SpellDamage(enemy, SpellSlot.W) >= enemy.Health);
                        if (bye != null)
                        {
                            W.Cast();
                            Core.DelayAction(() => Q.Cast(bye), 100);
                            return;
                        }
                    }

                    if (E.IsReady() && W.IsReady())
                    {
                        bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(E.Range) && damageManager.SpellDamage(enemy, SpellSlot.Q) + damageManager.SpellDamage(enemy, SpellSlot.W) + damageManager.SpellDamage(enemy, SpellSlot.E) >= enemy.Health);
                        if (bye != null)
                        {
                            E.Cast(bye);
                            Core.DelayAction(() => W.Cast(), 250);
                            Core.DelayAction(() => Q.Cast(bye), 350);
                            return;
                        }
                    }
                }
            }

            if (E.IsReady())
            {
                var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(E.Range) && damageManager.SpellDamage(enemy, SpellSlot.E) >= enemy.Health);
                if (bye != null)
                {
                    E.Cast(bye); return;
                }
            }
        }
コード例 #26
0
ファイル: RyzeAutoplay.cs プロジェクト: asrtr/EloBuddy
        private static void SluttyCombo()
        {
            var target = TargetSelector.GetTarget(600, DamageType.Magical);

            if (target == null)
            {
                return;
            }
            var  Stacks     = myHero.GetBuffCount("ryzepassivestack");
            var  QPred      = Prediction.Position.PredictLinearMissile(target, Q.Range, Q.Width, Q.CastDelay, Q.Speed, int.MinValue, myHero.ServerPosition);
            bool StacksBuff = myHero.HasBuff("ryzepassivestack");
            bool Pasive     = myHero.HasBuff("ryzepassivecharged");

            if (target.IsValidTarget(Q.Range))
            {
                if (Stacks <= 2 || !StacksBuff)
                {
                    if (target.IsValidTarget(Q.Range) && Q.IsReady())
                    {
                        Q.Cast(QPred.UnitPosition);
                    }
                    if (target.IsValidTarget(W.Range) && W.IsReady())
                    {
                        W.Cast(target);
                    }
                    if (target.IsValidTarget(E.Range) && E.IsReady())
                    {
                        E.Cast(target);
                    }
                    if (R.IsReady())
                    {
                        if (target.IsValidTarget(W.Range) &&
                            target.Health > (myHero.GetSpellDamage(target, SpellSlot.Q) + myHero.GetSpellDamage(target, SpellSlot.E)))
                        {
                            if (target.HasBuff("RyzeW"))
                            {
                                R.Cast();
                            }
                        }
                    }
                }
                if (Stacks == 3)
                {
                    if (target.IsValidTarget(Q.Range) && Q.IsReady())
                    {
                        Q.Cast(QPred.UnitPosition);
                    }
                    if (target.IsValidTarget(E.Range) && E.IsReady())
                    {
                        E.Cast(target);
                    }
                    if (target.IsValidTarget(W.Range) && W.IsReady())
                    {
                        W.Cast(target);
                    }
                    if (R.IsReady())
                    {
                        if (target.IsValidTarget(W.Range) &&
                            target.Health > (myHero.GetSpellDamage(target, SpellSlot.Q) + myHero.GetSpellDamage(target, SpellSlot.E)))
                        {
                            if (target.HasBuff("RyzeW"))
                            {
                                R.Cast();
                            }
                            if (!E.IsReady() && !Q.IsReady() && !W.IsReady())
                            {
                                R.Cast();
                            }
                        }
                    }
                }
                if (Stacks == 4)
                {
                    if (target.IsValidTarget(W.Range) && W.IsReady())
                    {
                        W.Cast(target);
                    }
                    if (target.IsValidTarget(Q.Range) && Q.IsReady())
                    {
                        Q.Cast(QPred.UnitPosition);
                    }
                    if (target.IsValidTarget(E.Range) && E.IsReady())
                    {
                        E.Cast(target);
                    }
                    if (R.IsReady())
                    {
                        if (target.IsValidTarget(W.Range) &&
                            target.Health > (myHero.GetSpellDamage(target, SpellSlot.Q) + myHero.GetSpellDamage(target, SpellSlot.E)))
                        {
                            if (target.HasBuff("RyzeW"))
                            {
                                R.Cast();
                            }
                            if (!E.IsReady() && !Q.IsReady() && !W.IsReady())
                            {
                                R.Cast();
                            }
                        }
                    }
                }
                if (Pasive)
                {
                    if (target.IsValidTarget(W.Range) && W.IsReady())
                    {
                        W.Cast(target);
                    }
                    if (target.IsValidTarget(Q.Range) && Q.IsReady())
                    {
                        Q.Cast(QPred.UnitPosition);
                    }
                    if (target.IsValidTarget(E.Range) && E.IsReady())
                    {
                        E.Cast(target);
                    }
                    if (R.IsReady())
                    {
                        if (target.IsValidTarget(W.Range) &&
                            target.Health > (myHero.GetSpellDamage(target, SpellSlot.Q) + myHero.GetSpellDamage(target, SpellSlot.E)))
                        {
                            if (target.HasBuff("RyzeW"))
                            {
                                R.Cast();
                            }
                            if (!E.IsReady() && !Q.IsReady() && !W.IsReady())
                            {
                                R.Cast();
                            }
                        }
                    }
                }
            }
            else
            {
                if (W.IsReady() &&
                    target.IsValidTarget(W.Range))
                {
                    W.Cast(target);
                }

                if (Q.IsReady() &&
                    target.IsValidTarget(Q.Range))
                {
                    Q.Cast(QPred.UnitPosition);
                }

                if (E.IsReady() &&
                    target.IsValidTarget(E.Range))
                {
                    E.Cast(target);
                }
            }
            if (!R.IsReady() || Stacks != 4)
            {
                return;
            }

            if (Q.IsReady() || W.IsReady() || E.IsReady())
            {
                return;
            }

            R.Cast();
        }
コード例 #27
0
        private static void Game_OnUpdate(EventArgs args)
        {
            if (MobsToSmite["killsmite"].Cast<CheckBox>().CurrentValue)
            {
                var KillEnemy =
                    EntityManager.Heroes.Enemies.FirstOrDefault(hero => hero.IsValidTarget(500f)
                        && SmiteChampDamage() >= hero.Health);
                if (KillEnemy != null)
                    Player.CastSpell(Smite.Slot, KillEnemy);
            }
                if (SmiteGHMenu["active"].Cast<CheckBox>().CurrentValue || SmiteGHMenu["activekey"].Cast<KeyBind>().CurrentValue)
                {
                    double SpellDamage = 0;
                    Monster = GetNearest(ObjectManager.Player.ServerPosition);
                        if (Monster != null && MobsToSmite[Monster.BaseSkinName].Cast<CheckBox>().CurrentValue)
                        {
                            if (SupportedChampions.Contains(ObjectManager.Player.ChampionName))
                            {
                                if (SmiteGHMenu["disable"].Cast<CheckBox>().CurrentValue)
                                {
                                    switch (ObjectManager.Player.ChampionName)
                                    {
                                        #region Diana
                                        case "Diana":
                                            {
                                                Spell.Skillshot Q = new Spell.Skillshot(SpellSlot.Q, (uint)895, SkillShotType.Circular);
                                                Spell.Targeted R = new Spell.Targeted(SpellSlot.R, (uint)825);

                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.DianaQ(Q.Level) + GetDamages.DianaR(R.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Q.Cast(Monster.ServerPosition);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                else if (Smite.IsReady() && R.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < R.Range
                                                && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range && GetDamages.HasBuffs(Monster, "dianamoonlight"))
                                                {
                                                    SpellDamage = GetDamages.DianaR(R.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        R.Cast(Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Evelynn
                                        case "Evelynn":
                                            {
                                                Spell.Targeted E = new Spell.Targeted(SpellSlot.E, (uint)(225f + 2 * 65f));
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Evelynn(E.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        E.Cast(Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Irelia
                                        case "Irelia":
                                            {
                                                Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)650f + 20);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Irelia(Q.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Q.Cast(Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Amumu
                                        case "Amumu":
                                            {
                                                Spell.Skillshot Q = new Spell.Skillshot(SpellSlot.Q, (uint)1100f + 20, SkillShotType.Linear);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Amumu(Q.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Q.Cast(Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Hecarim
                                        case "Hecarim":
                                            {
                                                Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)350f + 20);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Hecarim(Q.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Q.Cast();
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region MonkeyKing
                                        case "MonkeyKing":
                                            {
                                                Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)100f + 20);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.MonkeyKing(Q.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Q.Cast();
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Pantheon
                                        case "Pantheon":
                                            {
                                                Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)600f + 20);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Pantheon(Q.Level, Monster);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Q.Cast(Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Olaf
                                        case "Olaf":
                                            {
                                                Spell.Targeted E = new Spell.Targeted(SpellSlot.E, (uint)325f + 20);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Olaf(E.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        E.Cast(Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Volibear
                                        case "Volibear":
                                            {
                                                Spell.Targeted W = new Spell.Targeted(SpellSlot.W, (uint)400f + 20);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && W.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < W.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Volibear(W.Level, Monster);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        W.Cast(Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region WarWick
                                        case "Warwick":
                                            {
                                                Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)400f + 20);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Warwick(Q.Level, Monster);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Player.CastSpell(Q.Slot, Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        //Will add Spell's E too soon! ^-^
                                        #region LeeSin
                                        case "LeeSin":
                                            {
                                                Spell.Skillshot Q = new Spell.Skillshot(SpellSlot.Q, (uint)1300f, SkillShotType.Linear);
                                                Spell.Active Q2 = new Spell.Active(SpellSlot.Q, (uint)1500f);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (GetDamages.BuffedEnemy != null)
                                                        SpellDamage = GetDamages.Q2Damage(Monster, Q2.Level);
                                                    else
                                                        SpellDamage = GetDamages.QDamage(Monster, Q.Level - 1) + GetDamages.Q2Damage(Monster, Q2.Level - 1);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        if (GetDamages.BuffedEnemy != null)
                                                            Q2.Cast(Monster);
                                                        else
                                                            Q.Cast(Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Nunu
                                        case "Nunu":
                                            {
                                                Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)200f);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Nunu(Q.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Player.CastSpell(Q.Slot, Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region ChoGath
                                        case "Chogath":
                                            {
                                                Spell.Targeted R = new Spell.Targeted(SpellSlot.R, (uint)175f);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && R.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < R.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.ChoGath();
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Player.CastSpell(R.Slot, Monster);
                                                        // Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Shaco
                                        case "Shaco":
                                            {
                                                Spell.Targeted E = new Spell.Targeted(SpellSlot.E, (uint)625f);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Shaco(E.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Player.CastSpell(E.Slot, Monster);
                                                        //  Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Vi
                                        case "Vi":
                                            {
                                                Spell.Active E = new Spell.Active(SpellSlot.E, (uint)600f);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Vi(E.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Player.CastSpell(E.Slot, Monster);
                                                        //  Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region MasterYi
                                        case "MasterYi":
                                            {
                                                Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)600f);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Master(Q.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Player.CastSpell(Q.Slot, Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Rengar
                                        case "Rengar":
                                            {
                                                Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)ObjectManager.Player.AttackRange);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Rengar(Q.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Player.CastSpell(Q.Slot, Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Nasus
                                        case "Nasus":
                                            {
                                                Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)ObjectManager.Player.AttackRange);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Nasus(Q.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Player.CastSpell(Q.Slot, Monster);
                                                        //Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region KhaZix
                                        case "Khazix":
                                            {
                                                Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)325f);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Khazix(Q.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Player.CastSpell(Q.Slot, Monster);
                                                        // Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Fizz
                                        case "Fizz":
                                            {
                                                Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)550f);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Fizz(Q.Level);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Player.CastSpell(Q.Slot, Monster);
                                                        //    Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Elise
                                        case "Elise":
                                            {
                                                Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)475f);
                                                //Smite and Spell  ==> OKAY
                                                if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range
                                                    && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    SpellDamage = GetDamages.Elise(Q.Level, Monster);
                                                    TotalDamage = SpellDamage + GetSmiteDamage();
                                                    if (Monster.Health <= TotalDamage)
                                                    {
                                                        Player.CastSpell(Q.Slot, Monster);
                                                        // Smite.Cast(Monster);
                                                    }
                                                }
                                                //If Spell is busy, Go Smite only! ^_^
                                                else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                {
                                                    if (Monster.Health <= GetSmiteDamage())
                                                    {
                                                        Smite.Cast(Monster);
                                                    }
                                                    TotalDamage = 0;
                                                }
                                                break;
                                            }
                                        #endregion

                                        default:
                                            {
                                                if (Smite.IsReady() && Monster.Health <= GetSmiteDamage() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                                                    Smite.Cast(Monster);
                                                TotalDamage = 0;
                                            }
                                            break;
                                    }
                                }
                            }

                            if (Smite.IsReady() && Monster.Health <= GetSmiteDamage() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range)
                            {
                                Smite.Cast(Monster);
                                TotalDamage = 0;
                            }
                        }
                }
        }
コード例 #28
0
ファイル: Program.cs プロジェクト: princer007/EloBuddy
    private static void Combo()
    {
        var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

        if (target == null || !target.IsValidTarget() || HasRBuff())
        {
            return;
        }

        var rdmg = Player.Instance.GetSpellDamage(target, SpellSlot.R);

        if (Q.IsInRange(target) && _comboStarter.CurrentValue == 0)
        {
            if (Q.IsReady())
            {
                Q.Cast(target);
                return;
            }
            if (E.IsReady())
            {
                CastE(target);
                return;
            }
        }
        else
        {
            if (E.IsReady())
            {
                CastE(target);
            }
            if (Q.IsReady() && E.IsInRange(target))
            {
                Q.Cast(target);
                return;
            }
        }

        if (W.IsReady() && W.IsInRange(target))
        {
            W.Cast();
            return;
        }

        if (GetComboDamage(target) > target.Health)
        {
            if (igniteSlot != SpellSlot.Unknown)
            {
                ignite.Cast(target);
            }
        }

        //Smart R
        if (_smartR.CurrentValue)
        {
            if (R.IsReady() && target.Health - rdmg < 0 && !E.IsReady())
            {
                Orbwalker.DisableAttacking = true;
                Orbwalker.DisableMovement  = true;
                R.Cast();

                rStart = Environment.TickCount;
            }
        }
        else if (R.IsReady() && !E.IsReady())
        {
            Orbwalker.DisableAttacking = true;
            Orbwalker.DisableMovement  = true;
            R.Cast();

            rStart = Environment.TickCount;
        }
    }
コード例 #29
0
        /// <summary>
        /// Called Before Attack
        /// </summary>
        /// <param name="target">The Target</param>
        /// <param name="args">The Args</param>
        private static void Orbwalker_OnPreAttack(AttackableUnit target, Orbwalker.PreAttackArgs args)
        {
            #region Combo

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                var useQ = Config.ComboMenu["useQ"].Cast <CheckBox>().CurrentValue;

                // If the player has the rocket
                if (useQ && Program.Q.IsReady() && Essentials.FishBones())
                {
                    //var target = TargetSelector.GetTarget(Essentials.FishBonesRange(), DamageType.Physical);

                    if (target != null && target.IsValidTarget())
                    {
                        if ((target.Distance(Player.Instance) - target.BoundingRadius - Player.Instance.BoundingRadius) <= Essentials.MinigunRange &&
                            target.CountEnemyChampionsInRange(100) <
                            Config.ComboMenu["qCountC"].Cast <Slider>().CurrentValue)
                        {
                            Program.Q.Cast();
                            Orbwalker.ForcedTarget = target;
                        }
                    }
                }
            }

            #endregion

            #region LastHit

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit))
            {
                var useQ    = Config.LastHitMenu["useQ"].Cast <CheckBox>().CurrentValue;
                var manaQ   = Config.LastHitMenu["manaQ"].Cast <Slider>().CurrentValue;
                var qCountM = Config.LastHitMenu["qCountM"].Cast <Slider>().CurrentValue;

                // Force Minigun if there is a lasthittable minion in minigun range and there is no targets more than the setting amount.
                var kM = Orbwalker.LastHitMinionsList.Where(
                    t => t.IsEnemy &&
                    t.Health <= (Player.Instance.GetAutoAttackDamage(t) * 0.9) && t.IsValidTarget() &&
                    t.Distance(Player.Instance) <= Essentials.MinigunRange);
                if (useQ && Essentials.FishBones() && kM.Count() < qCountM)
                {
                    Program.Q.Cast();
                }
            }

            #endregion

            #region Lane Clear

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
            {
                var minion = EntityManager.MinionsAndMonsters.GetLaneMinions(
                    EntityManager.UnitTeam.Enemy,
                    Player.Instance.ServerPosition,
                    Essentials.FishBonesRange()).OrderByDescending(t => t.Health);

                if (Essentials.FishBones())
                {
                    foreach (var m in minion)
                    {
                        var minionsAoe =
                            EntityManager.MinionsAndMonsters.EnemyMinions.Count(
                                t => t.IsValidTarget() && t.Distance(m) <= 100);

                        if (m.Distance(Player.Instance) <= Essentials.MinigunRange && m.IsValidTarget() &&
                            (minionsAoe < Config.LaneClearMenu["qCountM"].Cast <Slider>().CurrentValue ||
                             m.Health > (Player.Instance.GetAutoAttackDamage(m))))
                        {
                            Q.Cast();
                            Orbwalker.ForcedTarget = m;
                        }
                        else if (m.Distance(Player.Instance) <= Essentials.MinigunRange &&
                                 !Orbwalker.LastHitMinionsList.Contains(m))
                        {
                            Q.Cast();
                            Orbwalker.ForcedTarget = m;
                        }
                        else
                        {
                            foreach (
                                var kM in
                                Orbwalker.LastHitMinionsList.Where(
                                    kM =>
                                    kM.IsValidTarget() &&
                                    kM.Health <= (Player.Instance.GetAutoAttackDamage(kM) * 0.9) &&
                                    kM.Distance(Player.Instance) <= Essentials.MinigunRange))
                            {
                                Q.Cast();
                                Orbwalker.ForcedTarget = kM;
                            }
                        }
                    }
                }
            }

            #endregion

            if (Essentials.FishBones() && target.IsStructure() &&
                target.Distance(Player.Instance) <= Essentials.MinigunRange)
            {
                Q.Cast();
            }
        }
コード例 #30
0
ファイル: Program.cs プロジェクト: spall9/ApZilean-1
        private async static void ComboVombo()
        {
            try
            {
                var ise     = ComboMenu["E"].Cast <CheckBox>().CurrentValue;
                var focusby = ComboMenu["focusby"].Cast <Slider>().CurrentValue;

                var Enemies = EntityManager.Heroes.Enemies.Where(x => !x.IsDead && x.IsValidTarget() && Q.IsInRange(x)).OrderBy(x => focusby == 0 ? x.TotalAttackDamage : x.TotalMagicalDamage);

                if (Enemies.Count() == 0)
                {
                    return;
                }

                var enemy = Enemies.Last();

                Vector3 position;

                //full combo
                if (Q.IsReady() && W.IsReady() && E.IsReady())
                {
                    Q.Cast(position = Q.GetPrediction(enemy).CastPosition);
                    await Task.Delay(350); //q delay fix

                    if (E.IsInRange(enemy) && ise)
                    {
                        E.Cast(enemy);
                        W.Cast();
                        Q.Cast(position);
                    }
                    else
                    {
                        W.Cast();
                        Q.Cast(position);
                    }
                }

                // Combo without E
                else if (Q.IsReady() && W.IsReady())
                {
                    Q.Cast(position = Q.GetPrediction(enemy).CastPosition);
                    W.Cast();
                    Q.Cast(position);
                }

                //Combo without Q, but with W

                else if (!Q.IsReady() && W.IsReady())
                {
                    W.Cast();
                    Q.Cast(Q.GetPrediction(enemy).CastPosition);
                }

                // lazy combo
                else if (Q.IsReady() && !W.IsReady())
                {
                    Q.Cast(Q.GetPrediction(enemy).CastPosition);
                }
            }
            catch (Exception ex) { Console.WriteLine(ex.Message); }
        }
コード例 #31
0
ファイル: Jinx.cs プロジェクト: chienhao10/EloBuddy-13
        public override void Combo()
        {
            if (Value.Use("combo.q".AddName()) && _q.IsReady())
            {
                var qTarget = GetValidMissleTarget();
                if (qTarget != null && !MissleActive)
                {
                    if (EnoughMana()
                        ||
                        (Player.Instance.GetAutoAttackDamage(qTarget) * 3 > qTarget.TotalShieldHealth() &&
                         Player.Instance.Mana > 60))
                    {
                        _q.Cast();
                    }
                }
                else if (MissleActive && !EnoughMana())
                {
                    _q.Cast();
                }
                else if (MissleActive && Player.Instance.CountEnemiesInRange(2000) == 0)
                {
                    _q.Cast();
                }
            }

            if (Value.Use("combo.w".AddName()) && Player.Instance.ManaPercent > Value.Get("combo.w.mana"))
            {
                WLogic();
            }

            if (Value.Use("combo.e".AddName()) &&
                _e.IsReady() &&
                EnoughMana())
            {
                ELogic();

                if (Player.Instance.IsMoving)
                {
                    var target = TargetSelector.GetTarget(_e.Range, DamageType.Physical);
                    if (target != null && target.IsValidTarget(_e.Range))
                    {
                        var ePrediction        = _e.GetPrediction(target);
                        var predictionDistance = ePrediction.CastPosition.Distance(target.Position);

                        if (predictionDistance > 200 &&
                            ePrediction.HitChance >= HitChance.High)
                        {
                            if (target.HasBuffOfType(BuffType.Slow))
                            {
                                _e.Cast(ePrediction.CastPosition);
                            }
                        }
                    }
                }
            }
            if (!Value.Use("killsteal.r"))
            {
                if (Value.Use("combo.r".AddName()))
                {
                    RLogic();
                }
            }
        }
コード例 #32
0
ファイル: Program.cs プロジェクト: commonsharp/PortAIO
        private static void Orbwalker_OnPreAttack(AttackableUnit target, Orbwalker.PreAttackArgs args)
        {
            _axeDropObjectDataList.RemoveAll(x => !x.Object.IsValid);

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                if (args.Target.Type == GameObjectType.AIHeroClient)
                {
                    if (useQ)
                    {
                        if (AxeCount < 2)
                        {
                            if (Q.IsReady())
                            {
                                Q.Cast();
                            }
                        }
                    }
                }
            }
            else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                if (useQH)
                {
                    if (myHero.IsManaPercentOkay(manaH))
                    {
                        if (AxeCount < 2)
                        {
                            if (Q.IsReady())
                            {
                                Q.Cast();
                            }
                        }
                    }
                }
            }
            else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) ||
                     Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
            {
                if (EntityManager.MinionsAndMonsters.GetLaneMinions().Any(x => x.NetworkId == args.Target.NetworkId))
                {
                    if (useQLC)
                    {
                        if (myHero.IsManaPercentOkay(manaLC))
                        {
                            if (AxeCount < 2)
                            {
                                if (Q.IsReady())
                                {
                                    Q.Cast();
                                }
                            }
                        }
                    }
                }

                if (
                    EntityManager.MinionsAndMonsters.GetJungleMonsters()
                    .Any(x => x.NetworkId == args.Target.NetworkId))
                {
                    if (useQJG)
                    {
                        if (myHero.IsManaPercentOkay(manaJG))
                        {
                            if (AxeCount < 2)
                            {
                                if (Q.IsReady())
                                {
                                    Q.Cast();
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #33
0
        static Urgot()
        {
            Q = new Spell.Skillshot(SpellSlot.Q, 900, SkillShotType.Linear, 150, 1600, 60)
            {
                AllowedCollisionCount = 0
            };
            W = new Spell.Active(SpellSlot.W);
            E = new Spell.Skillshot(SpellSlot.E, 900, SkillShotType.Circular, 250, 1500, 250)
            {
                AllowedCollisionCount = int.MaxValue
            };
            R = new Spell.Targeted(SpellSlot.R, 500);

            CorrosiveDebufTargets = new List <Obj_AI_Base>();

            ColorPicker = new ColorPicker[4];

            CachedHasBuff = StaticCacheProvider.Cache.Resolve <Cache.Modules.CustomCache <int, bool> >(200);

            ColorPicker[0] = new ColorPicker("UrgotQ", new ColorBGRA(10, 106, 138, 255));
            ColorPicker[1] = new ColorPicker("UrgotE", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[2] = new ColorPicker("UrgotR", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[3] = new ColorPicker("UrgotHpBar", new ColorBGRA(255, 134, 0, 255));

            DamageIndicator.Initalize(ColorPicker[3].Color);
            DamageIndicator.DamageDelegate = HandleDamageIndicator;

            ColorPicker[3].OnColorChange += (a, b) => DamageIndicator.Color = b.Color;

            TearStacker.Initializer(new Dictionary <SpellSlot, float> {
                { SpellSlot.Q, 2150 }
            },
                                    () =>
                                    (Player.Instance.CountEnemiesInRangeCached(1500) == 0) &&
                                    (Player.Instance.CountEnemyMinionsInRangeCached(1500) == 0) && !HasAnyOrbwalkerFlags);

            ChampionTracker.Initialize(ChampionTrackerFlags.VisibilityTracker);
            ChampionTracker.OnLoseVisibility += ChampionTracker_OnLoseVisibility;

            Game.OnPreTick += args =>
            {
                if (Core.GameTickCount - _lastScanTick < 100)
                {
                    return;
                }

                CorrosiveDebufTargets.Clear();
            };

            Game.OnTick += Game_OnTick;

            GameObject.OnCreate += (sender, args) =>
            {
                if (!Settings.Combo.UseW || !HasAnyOrbwalkerFlags)
                {
                    return;
                }

                var missileClient = sender as MissileClient;

                if ((missileClient != null) && missileClient.SpellCaster.IsMe && W.IsReady() &&
                    ((missileClient.IsAutoAttack() && (missileClient.Target?.Type == GameObjectType.AIHeroClient)) || StaticCacheProvider.GetChampions(CachedEntityType.EnemyHero,
                                                                                                                                                       x =>
                                                                                                                                                       x.IsValidTarget() &&
                                                                                                                                                       missileClient.EndPosition.IsInRange(x, missileClient.SData.LineWidth)).Any()))
                {
                    W.Cast();
                }
            };
        }
コード例 #34
0
ファイル: Program.cs プロジェクト: poru141/Elobuddy
        private static void Combo()
        {
            var target = TargetSelector.GetTarget(E.Range, DamageType.Magical);

            if (E.IsReady() && Q.IsReady() && W.IsReady() && comboNum == 0)
            {
                if (!HasRBuff() || (HasRBuff() && target.Health < QDamage(target) + WDamage(target) + EDamage(target) + (2f * SpinDamage(target))))
                {
                    comboNum = 1;
                }
            }

            else if (E.IsReady() && Q.IsReady() && comboNum == 0)
            {
                if (!HasRBuff() || (HasRBuff() && target.Health < QDamage(target) + EDamage(target) + SpinDamage(target)))
                {
                    comboNum = 2;
                }
            }

            else if (W.IsReady() && E.IsReady() && comboNum == 0)
            {
                if (!HasRBuff() || (HasRBuff() && target.Health < EDamage(target) + SpinDamage(target)))
                {
                    comboNum = 3;
                }
            }

            else if (E.IsReady() && comboNum == 0)
            {
                if (!HasRBuff() || (HasRBuff() && target.Health < EDamage(target)))
                {
                    comboNum = 4;
                }
            }

            else if (Q.IsReady() && comboNum == 0)
            {
                if (!HasRBuff() || (HasRBuff() && target.Health < QDamage(target)))
                {
                    comboNum = 5;
                }
            }

            else if (W.IsReady() && comboNum == 0 && User.Distance(target) <= 300)
            {
                if (!HasRBuff())
                {
                    comboNum = 6;
                }
            }

            else if (R.IsReady() && comboNum == 0 && User.Distance(target) <= 400)
            {
                comboNum = 7;
            }

            //combo 1, Q W and E
            if (comboNum == 1)
            {
                castQ(target);
                Core.DelayAction(() => CastE(User.Position.Extend(target.Position, User.Distance(target) + 140).To3D()), 0);
                Core.DelayAction(() => CastW(), 50);

                if (Q.IsOnCooldown && W.IsOnCooldown && E.IsOnCooldown)
                {
                    comboNum = 0;
                }
            }

            //combo 2, Q and E
            if (comboNum == 2)
            {
                castQ(target);
                Core.DelayAction(() => CastE(User.Position.Extend(target.Position, User.Distance(target) + 140).To3D()), 0);

                if (Q.IsOnCooldown && E.IsOnCooldown)
                {
                    comboNum = 0;
                }
            }

            //combo 3, W and E
            if (comboNum == 3)
            {
                Core.DelayAction(() => CastE(User.Position.Extend(target.Position, User.Distance(target) + 140).To3D()), 0);
                Core.DelayAction(() => CastW(), 50);


                if (W.IsOnCooldown && E.IsOnCooldown)
                {
                    comboNum = 0;
                }
            }

            //combo 4, E
            if (comboNum == 4)
            {
                CastE(target.Position);
                comboNum = 0;
            }

            //combo 5, Q
            if (comboNum == 5)
            {
                castQ(target);
                comboNum = 0;
            }

            //combo 6, W
            if (comboNum == 6)
            {
                CastW();
                comboNum = 0;
            }

            //combo 7, R
            if (comboNum == 7)
            {
                R.Cast();
                comboNum = 0;
            }
        }