Example #1
0
        public override void Combo()
        {
            var Target = TargetSelector.GetTarget(Q.Range, DamageType.Physical);

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

            if (R.IsReady() && R.IsInRange(Target) && combo.IsActive("r") && damageManager.SpellDamage(Target, SpellSlot.R) >= Target.Health)
            {
                R.HitChanceCast(Target, 70);
            }

            if (W.IsReady() && (W.IsInRange(Target) || (Q.IsReady() && Q.IsInRange(Target))) && combo.IsActive("w"))
            {
                var WPos = Prediction.Position.PredictUnitPosition(Target, 1000).To3D();
                W.Cast(Vectors.CorrectSpellRange(WPos, W.Range));
            }

            else if (Orbwalker.ValidAzirSoldiers.Any())
            {
                if (Q.IsReady() && combo.IsActive("q") && Q.IsInRange(Target))
                {
                    Q.HitChanceCast(Target, combo.Value("q.hitchance%"));
                }
                if (E.IsReady() && combo.IsActive("e"))
                {
                    CastE(Target);
                }
            }

            return;
        }
Example #2
0
        public override void Harass()
        {
            var Target = TargetSelector.GetTarget(900, DamageType.Physical);

            if (Target == null || !Target.IsValidTarget() || Player.ManaPercent < harass.Value("mana%"))
            {
                return;
            }

            if (W.IsReady() && (W.IsInRange(Target) || (Q.IsReady() && Q.IsInRange(Target))) && combo.IsActive("w"))
            {
                var WPos = Prediction.Position.PredictUnitPosition(Target, 1000).To3D();
                W.Cast(Vectors.CorrectSpellRange(WPos, W.Range));
            }

            else if (Orbwalker.ValidAzirSoldiers.Any())
            {
                if (Q.IsReady() && combo.IsActive("q") && Q.IsInRange(Target))
                {
                    Q.HitChanceCast(Target, combo.Value("q.hitchance%"));
                }
                if (E.IsReady() && combo.IsActive("e"))
                {
                    CastE(Target);
                }
            }

            return;
        }
Example #3
0
        public override void Harass()
        {
            if (Target == null || !Target.IsValidTarget())
            {
                return;
            }

            if (E.IsReady() && W.IsReady() && harass.IsActive("e") && harass.IsActive("w"))
            {
                if (Player.IsInRange(Target, E.Range + W.Range - 60))
                {
                    _order = new List <ComboSpell>()
                    {
                        ComboSpell.E, ComboSpell.W
                    };
                    PCombo(Target);
                }
            }
            else
            {
                if (E.IsReady() && harass.IsActive("e"))
                {
                    E.Cast(Vectors.CorrectSpellRange(Target.ServerPosition, E.Range));
                }

                if (W.IsReady() && harass.IsActive("w") && W.IsInRange(Target))
                {
                    W.Cast();
                }
            }

            return;
        }
Example #4
0
        public override void PermaActive()
        {
            base.PermaActive();

            Target = TargetSelector.GetTarget(W.Range + E.Range - 30, DamageType.Physical);

            if (W.Range == 250 && Player.HasBuff("RivenFengShuiEngine"))
            {
                W.Range += 65;
            }
            else if (!Player.HasBuff("RivenFengShuiEngine") && W.Range == 315)
            {
                W.Range -= 65;
            }

            if (misc.IsActive("burst"))
            {
                Target = TargetSelector.GetTarget((flash != null && flash.IsReady() ? flash.Range : 0) + W.Range + E.Range - 70, DamageType.Physical);
                Burst(Target);
            }

            if (Target == null)
            {
                ResetCombo();
            }

            if (!Player.HasBuff("recall") && misc.IsActive("q.keepalive") && Q.IsReady() && Game.Time - lastq > 3.55f - ((Game.Ping + 100) / 1000) && Game.Time - lastq < 3.8f - ((Game.Ping + 100) / 1000))
            {
                Q.Cast(Vectors.CorrectSpellRange(Game.CursorPos, Q.Range));
            }
            //Vectors.CorrectSpellRange(Game.CursorPos, Q.Range)
        }
Example #5
0
        //------------------------------------|| Methods ||--------------------------------------

        //---------------------------------------Insec()-------------------------------------------------------

        void Insec(Obj_AI_Base target)
        {
            //Back distance = 300

            EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, target);

            //Normal Insec

            if (Player.Distance(target) <= W.Range + Q.Range - 300)
            {
                EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, target);

                if (Player.Distance(target) < 220)
                {
                    var tower = EntityManager.Turrets.Allies.FirstOrDefault(it => it.IsValidTarget(1000));

                    if (tower != null)
                    {
                        if (EloBuddy.Player.CastSpell(SpellSlot.R, Vectors.CorrectSpellRange(tower.Position, R.Range)))
                        {
                            return;
                        }
                    }

                    if (EloBuddy.Player.CastSpell(SpellSlot.R, Vectors.CorrectSpellRange(Game.CursorPos, R.Range)))
                    {
                        return;
                    }
                }

                else if (E.IsReady())
                {
                    if (Orbwalker.ValidAzirSoldiers.Any(it => it.Distance(Player) <= 900))
                    {
                        var ESoldier = Orbwalker.ValidAzirSoldiers.FirstOrDefault(it => it.Distance(target) <= 200);

                        if (ESoldier != null)
                        {
                            E.Cast(Vectors.CorrectSpellRange(ESoldier.Position, E.Range));
                        }

                        else if (Q.IsReady())
                        {
                            Q.HitChanceCast(target, 60);
                        }
                    }

                    else if (W.IsReady())
                    {
                        var WPos = Prediction.Position.PredictUnitPosition(target, 1000).To3D();
                        W.Cast(Vectors.CorrectSpellRange(WPos, W.Range));
                        return;
                    }
                }
            }

            return;
        }
Example #6
0
        private void PCombo(Obj_AI_Base target)
        {
            if (_i == _order.Count())
            {
                ResetCombo(); return;
            }

            switch (_order[_i])
            {
            case ComboSpell.Q:
                if (Q.IsReady() && Player.IsInRange(target, 200))
                {
                    if (Q.Cast(Vectors.CorrectSpellRange(target.ServerPosition, 200))) /*Chat.Print("q");*/ NextStep{
                            (); return;
                    }
                }
                else
                {
                    EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, target);
                }

                break;

            case ComboSpell.W:
                if (W.IsReady() && W.IsInRange(target))
                {
                    if (W.Cast()) /*Chat.Print("w");*/ NextStep{
                            (); return;
                    }
                }
                else
                {
                    EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, target);
                }

                break;

            case ComboSpell.E:
                if (E.IsReady())
                {
                    if (E.Cast(Vectors.CorrectSpellRange(target.ServerPosition, E.Range))) /*Chat.Print("e");*/ NextStep{
                            (); return;
                    }
                }
                else
                {
                    EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, target);
                }

                break;

            case ComboSpell.R:
                if (R.IsReady())
                {
                    if (r2Actived && R.IsInRange(target) && R.HitChanceCast(target, HitChance.Low)) /*Chat.Print("r2");*/ rstate {
                            = 1; NextStep(); return;
                    }
Example #7
0
        public override void KS()
        {
            if (!misc.IsActive("ks") || !EntityManager.Heroes.Enemies.Any(it => R.IsInRange(it)))
            {
                return;
            }

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

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

                else if (Q.IsReady())
                {
                    bye = EntityManager.Heroes.Enemies.FirstOrDefault(it => it.IsValidTarget(W.Range) && damageManager.SpellDamage(it, SpellSlot.W) + damageManager.SpellDamage(it, SpellSlot.Q) >= it.Health);
                    if (bye != null)
                    {
                        EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, bye);
                        Core.DelayAction(() => Q.Cast(Vectors.CorrectSpellRange(bye.ServerPosition, Q.Range)), 100);
                        Core.DelayAction(() => W.Cast(), 200);
                    }
                }

                else if (E.IsReady())
                {
                    bye = EntityManager.Heroes.Enemies.FirstOrDefault(it => it.IsValidTarget(W.Range + E.Range) && damageManager.SpellDamage(it, SpellSlot.W) >= it.Health);
                    if (bye != null)
                    {
                        E.Cast(bye);
                        Core.DelayAction(() => W.Cast(), 200);
                    }
                }
            }

            if (R.IsReady() && r2Actived)
            {
                var bye = EntityManager.Heroes.Enemies.FirstOrDefault(it => it.IsValidTarget(R.Range) && TargetSelector.GetPriority(it) >= 3 && GetRDamage(it) >= it.Health);
                if (bye != null)
                {
                    if (misc.IsActive("ks.r.noprediction"))
                    {
                        R.Cast(Target.ServerPosition);
                    }
                    else
                    {
                        R.HitChanceCast(Target, HitChance.Low);
                    }
                }
            }
        }
Example #8
0
        public override void Combo()
        {
            if (Target == null || !Target.IsValidTarget())
            {
                return;
            }

            if (E.IsReady() && W.IsReady() && combo.IsActive("e") && combo.IsActive("w"))
            {
                if (Player.IsInRange(Target, E.Range + W.Range - 60))
                {
                    _order = new List <ComboSpell>()
                    {
                        ComboSpell.E, ComboSpell.W
                    };
                    PCombo(Target);
                }
            }
            else
            {
                if (E.IsReady() && combo.IsActive("e"))
                {
                    E.Cast(Vectors.CorrectSpellRange(Target.ServerPosition, E.Range));
                }

                if (W.IsReady() && combo.IsActive("w") && W.IsInRange(Target))
                {
                    W.Cast();
                }
            }

            if (R.IsReady() && combo.IsActive("r"))
            {
                if (!r2Actived && combo.Value("r.minenemies") >= Player.CountEnemiesInRange(600) && Player.IsInRange(Target, E.Range))
                {
                    R1.Cast();
                }

                else if (r2Actived && R.IsInRange(Target) && GetRDamage(Target) >= Target.Health)
                {
                    if (combo.IsActive("r.noprediction"))
                    {
                        R.Cast(Target.ServerPosition);
                    }
                    else
                    {
                        R.HitChanceCast(Target, HitChance.Low);
                    }
                }
            }

            return;
        }
Example #9
0
        public override void Orbwalker_OnUnkillableMinion(Obj_AI_Base target, Orbwalker.UnkillableMinionArgs args)
        {
            if (Player.IsDead || !Q.IsReady() || !target.IsValidTarget(Q.Range) || damageManager.SpellDamage(target, SpellSlot.Q) < target.Health)
            {
                return;
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit))
            {
                EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, target);
                Core.DelayAction(() => Q.Cast(Vectors.CorrectSpellRange(target.Position, Q.Range)), 100);
                //Vectors.CorrectSpellRange(target.Position, Q.Range)
            }
        }
Example #10
0
        public override void Flee()
        {
            if (W.IsReady() && Q.IsReady() && E.IsReady())
            {
                var WPos = Vectors.CorrectSpellRange(Game.CursorPos, W.Range);

                if (W.Cast(WPos))
                {
                    Core.DelayAction(delegate
                    {
                        if (E.Cast(Vectors.CorrectSpellRange(Game.CursorPos, E.Range)))
                        {
                            Core.DelayAction(delegate
                            {
                                Q.Cast(Vectors.CorrectSpellRange(Game.CursorPos, Q.Range));
                            }, 100);
                        }

                        //int EDelay = (int)((Player.Distance(WPos) - 150) / 8 * 5);
                    }, 150);
                }

                return;
            }

            else if (W.IsReady())
            {
                if (W.Cast(Vectors.CorrectSpellRange(Game.CursorPos, W.Range)))
                {
                    Core.DelayAction(() => E.Cast(Vectors.CorrectSpellRange(Game.CursorPos, E.Range)), 250);
                }
            }

            else if (Orbwalker.ValidAzirSoldiers.Any(it => it.Distance(Game.CursorPos) <= 150))
            {
                E.Cast(Vectors.CorrectSpellRange(Game.CursorPos, E.Range));
            }

            else if (Orbwalker.ValidAzirSoldiers.Any() && Q.IsReady())
            {
                if (Q.Cast(Vectors.CorrectSpellRange(Game.CursorPos, Q.Range)))
                {
                    Core.DelayAction(() => E.Cast(Vectors.CorrectSpellRange(Game.CursorPos, (E.Range))), 100);
                }
            }

            return;
        }
Example #11
0
        public override void PermaActive()
        {
            base.PermaActive();

            if (!R.IsReady() || Player.CountEnemiesInRange(1100) == 0)
            {
                WhyIDidThatAddonInsec = false;
            }

            R.Width = 133 * (3 + R.Level);

            if (R.IsReady() && Game.Time - LastQTime > 0.1f && Game.Time - LastQTime < 1)
            {
                Player.Spellbook.CastSpell(SpellSlot.R, Vectors.CorrectSpellRange(Game.CursorPos, R.Range));
            }

            if (WhyIDidThatAddonInsec)
            {
                Orbwalker.DisableAttacking = true; Orbwalker.DisableMovement = true;
            }
            else
            {
                Orbwalker.DisableAttacking = false; Orbwalker.DisableMovement = false;
            }

            var Target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

            if (Target == null)
            {
                return;
            }

            if (R.IsReady() && Player.Mana >= GetFuckingInsecMana(Target))
            {
                if (misc.IsActive("insec.normal"))
                {
                    Insec(Target);
                }
                else if (misc.IsActive("insec.godlike"))
                {
                    WhyInsec(Target);
                }
            }
        }
Example #12
0
        public override void Flee()
        {
            if (W.IsReady() && flee.IsActive("w") && EntityManager.Heroes.Enemies.Any(it => it.IsValidTarget(W.Range)))
            {
                W.Cast();
            }

            if (E.IsReady() && flee.IsActive("e"))
            {
                E.Cast(Vectors.CorrectSpellRange(Game.CursorPos, E.Range));
            }

            if (Q.IsReady() && flee.IsActive("q"))
            {
                Q.Cast(Vectors.CorrectSpellRange(Game.CursorPos, Q.Range));
            }
            //Vectors.CorrectSpellRange(Game.CursorPos, Q.Range)

            return;
        }
Example #13
0
        public override void Orbwalker_OnPostAttack(AttackableUnit target, EventArgs args)
        {
            if (Player.IsDead || !target.IsEnemy)
            {
                return;
            }

            var pos = Vectors.CorrectSpellRange(target.Position, Q.Range);

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                if (Q.IsReady() && combo.IsActive("q"))
                {
                    Q.Cast(pos);
                }
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                if (Q.IsReady() && harass.IsActive("q"))
                {
                    Q.Cast(pos);
                }
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
            {
                if (Q.IsReady() && jungleclear.IsActive("q") && Player.GetAutoAttackDamage((Obj_AI_Base)target) < target.Health)
                {
                    Q.Cast(pos);
                }
            }

            if (_order != default(List <ComboSpell>) && _i != _order.Count() && _order[_i] == ComboSpell.AA)
            {
                aaFinished = true;
            }

            return;
        }
Example #14
0
        //---------------------------------------WhyInsec()----------------------------------------------------

        void WhyInsec(Obj_AI_Base target)
        {
            //Back distance = 300

            //Why I did that

            EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, target);

            var targetpos = Prediction.Position.PredictUnitPosition(target, 500).To3D();

            if (!WhyIDidThatAddonInsec && Orbwalker.ValidAzirSoldiers.Any(it => it.Distance(target) >= E.Width + target.BoundingRadius && it.Distance(target) <= (R.Width / 2) - 20))
            {
                WhyIDidThatAddonInsec = true;

                Core.DelayAction(() => WhyIDidThatAddonInsec = false, 3000);

                if (E.IsReady())
                {
                    InsecSoldier = Orbwalker.ValidAzirSoldiers.Where(it => it.Distance(target) <= (R.Width / 2) - 20).OrderByDescending(it => it.Distance(target)).First();

                    var rectangle = new Geometry.Polygon.Rectangle(Player.Position, InsecSoldier.Position, E.Width + target.BoundingRadius);

                    if (!rectangle.IsInside(targetpos) && InsecSoldier.Distance(target) <= (R.Width / 2) - 50)
                    {
                        var EDelay = (int)((((Player.Distance(InsecSoldier) - 100) / 8) * 5));

                        if (E.Cast(Vectors.CorrectSpellRange(InsecSoldier.Position, E.Range)))
                        {
                            //Delayed insec

                            Core.DelayAction(delegate
                            {
                                if (Player.Spellbook.CastSpell(SpellSlot.Q, Vectors.CorrectSpellRange(Game.CursorPos, Q.Range)))
                                {
                                    LastQTime = Game.Time;
                                }

                                else
                                {
                                    WhyIDidThatAddonInsec = false;
                                }
                            }, EDelay);
                        }
                        else
                        {
                            WhyIDidThatAddonInsec = false;
                        }
                    }
                    else
                    {
                        WhyIDidThatAddonInsec = false;
                    }
                }
                else
                {
                    WhyIDidThatAddonInsec = false;
                }
            }

            else if (!WhyIDidThatAddonInsec && W.IsReady() && E.IsReady() && Q.IsReady() && W.IsInRange(target))
            {
                var rectangle = new Geometry.Polygon.Rectangle(Player.Position, targetpos, 2 * (target.BoundingRadius + E.Width + 20));
                //rectangle.Draw(System.Drawing.Color.Yellow);

                var circle = new Geometry.Polygon.Circle(targetpos, (R.Width - 20) / 2);
                //circle.Draw(System.Drawing.Color.Red);

                var point = circle.Points.Where(it => !NavMesh.GetCollisionFlags(it).HasFlag(CollisionFlags.Wall) && W.IsInRange(it.To3D()) && !rectangle.IsInside(it)).OrderByDescending(it => it.Distance(Player)).FirstOrDefault();

                if (point != null && W.Cast(point.To3D()))
                {
                    WhyIDidThatAddonInsec = true;

                    Core.DelayAction(() => WhyIDidThatAddonInsec = false, 3000);

                    Core.DelayAction(delegate
                    {
                        InsecSoldier = Orbwalker.ValidAzirSoldiers.Where(it => it.Distance(target) <= (R.Width / 2) - 20).OrderByDescending(it => it.Distance(target)).First();

                        var EDelay = (int)((((Player.Distance(InsecSoldier) - 100) / 8) * 5));

                        if (E.Cast(Vectors.CorrectSpellRange(InsecSoldier.Position, E.Range)))
                        {
                            //Delayed insec

                            Core.DelayAction(delegate
                            {
                                if (Player.Spellbook.CastSpell(SpellSlot.Q, Vectors.CorrectSpellRange(Game.CursorPos, Q.Range)))
                                {
                                    LastQTime = Game.Time;
                                }

                                else
                                {
                                    WhyIDidThatAddonInsec = false;
                                }
                            }, EDelay);
                        }
                        else
                        {
                            WhyIDidThatAddonInsec = false;
                        }
                    }, 350);
                }
            }

            return;
        }
Example #15
0
        public override void KS()
        {
            if (!misc.IsActive("ks") || !EntityManager.Heroes.Enemies.Any(it => Q.IsInRange(it)))
            {
                return;
            }

            if (Orbwalker.ValidAzirSoldiers.Any())
            {
                if (Q.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(it => it.IsValidTarget(Q.Range) && damageManager.SpellDamage(it, SpellSlot.Q) >= it.Health);
                    if (bye != null)
                    {
                        Q.HitChanceCast(bye, 70);
                    }
                }

                if (E.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(it => it.IsValidTarget(E.Range) && damageManager.SpellDamage(it, SpellSlot.E) >= it.Health);
                    if (bye != null)
                    {
                        CastE(bye); return;
                    }
                }
            }

            else if (W.IsReady())
            {
                if (Q.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(it => it.IsValidTarget(Q.Range - 150) && damageManager.SpellDamage(it, SpellSlot.Q) + damageManager.SpellDamage(it, SpellSlot.W, new int[] { 50, 55, 60, 65, 70, 75, 80, 85, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180 }[Player.Level]) >= it.Health);
                    if (bye != null)
                    {
                        if (W.Cast(Vectors.CorrectSpellRange(bye.ServerPosition, W.Range)))
                        {
                            Core.DelayAction(() => Q.HitChanceCast(bye, 70), 250);
                        }
                    }
                }
            }

            if (misc.IsActive("ks.r") && R.IsReady())
            {
                var bye = EntityManager.Heroes.Enemies.FirstOrDefault(it => it.IsValidTarget(R.Range) && damageManager.SpellDamage(it, SpellSlot.R) >= it.Health);
                if (bye != null)
                {
                    R.HitChanceCast(bye, 70); return;
                }
            }

            var WEnemy = EntityManager.Heroes.Enemies.FirstOrDefault(it => Orbwalker.ValidAzirSoldiers.Any(enemy => enemy.Distance(it) <= 275));

            if (WEnemy != null && damageManager.SpellDamage(WEnemy, SpellSlot.W, new int[] { 50, 55, 60, 65, 70, 75, 80, 85, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180 }[Player.Level]) >= WEnemy.Health)
            {
                EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, WEnemy);
            }

            return;
        }