Пример #1
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseQ && Q.Ready)
                {
                    var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Q.Range) && x.IsMob()).ToArray();

                    if (mobs.Any())
                    {
                        var qFarm = Q.GetSpellFarmPosition(mobs);

                        if (qFarm.HitCount >= 2 || mobs.Any(x => MobsName.Contains(x.UnitSkinName.ToLower())) && qFarm.HitCount >= 1)
                        {
                            Q.Cast(qFarm.CastPosition);
                        }
                    }
                }

                if (JungleClearOption.UseW && W.Ready)
                {
                    var Mob = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius + 80) && x.IsMob()).ToArray();

                    if (Mob.Length > 0)
                    {
                        if (Me.Mana >= W.GetBasicSpell().Cost * 2 + Q.GetBasicSpell().Cost * 2)
                        {
                            HumanizerCardSelect.StartSelecting(Mob.Length >= 2
                                ? HumanizerCards.Red
                                : HumanizerCards.Blue);
                        }
                    }
                }
            }
        }
Пример #2
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseW && !Me.HasBuff("AsheQAttack"))
                {
                    var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(W.Range) && x.IsMob()).ToArray();

                    if (mobs.Any())
                    {
                        var wFarm = W.GetSpellFarmPosition(mobs);

                        if (wFarm.HitCount >= 2 || mobs.Any(x => MobsName.Contains(x.UnitSkinName.ToLower())) && wFarm.HitCount >= 1)
                        {
                            W.Cast(wFarm.CastPosition);
                        }
                    }
                }
            }
        }
Пример #3
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseQ && Q.Ready)
                {
                    var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Q.Range) && x.IsMob()).ToArray();

                    if (mobs.Any())
                    {
                        var qFarm = Q.GetSpellFarmPosition(mobs);

                        if (qFarm.HitCount >= 2 || mobs.Any(x => MobsName.Contains(x.UnitSkinName.ToLower())) && qFarm.HitCount >= 1)
                        {
                            Q.Cast(qFarm.CastPosition);
                        }
                    }
                }
            }
        }
Пример #4
0
        private static void PreAttack(object sender, PreAttackEventArgs Args)
        {
            if (Args.Target == null || Me.IsDead || Args.Target.IsDead || !Args.Target.IsValidTarget())
            {
                return;
            }

            switch (Args.Target.Type)
            {
            case GameObjectType.obj_AI_Hero:
            {
                if (Orbwalker.Mode == OrbwalkingMode.Combo)
                {
                    if (ComboOption.UseQ && Q.Ready)
                    {
                        var target = (Obj_AI_Hero)Args.Target;

                        if (!target.IsDead && target.IsValidAutoRange())
                        {
                            if (Me.HasBuff("asheqcastready"))
                            {
                                Q.Cast();
                            }
                        }
                    }
                }
            }
            break;

            case GameObjectType.obj_AI_Minion:
            {
                if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
                {
                    if (Args.Target.IsMob())
                    {
                        if (JungleClearOption.HasEnouguMana() && JungleClearOption.UseQ && Q.Ready)
                        {
                            var mob = (Obj_AI_Minion)Args.Target;

                            if (!mob.IsValidAutoRange() ||
                                !(mob.Health > Me.GetAutoAttackDamage(mob) * 2) ||
                                !MobsName.Contains(mob.UnitSkinName.ToLower()))
                            {
                                return;
                            }

                            if (Me.HasBuff("asheqcastready"))
                            {
                                Q.Cast();
                            }
                        }
                    }
                }
            }
            break;

            case GameObjectType.obj_AI_Turret:
            case GameObjectType.obj_HQ:
            case GameObjectType.obj_Barracks:
            case GameObjectType.obj_BarracksDampener:
            case GameObjectType.obj_Building:
            {
                if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
                {
                    if (LaneClearOption.HasEnouguMana(true) && LaneClearOption.UseQ)
                    {
                        if (Me.CountEnemyHeroesInRange(850) == 0)
                        {
                            if (Me.HasBuff("asheqcastready"))
                            {
                                Q.Cast();
                            }
                        }
                    }
                }
            }
            break;
            }
        }
Пример #5
0
        private static void PostAttack(object sender, PostAttackEventArgs Args)
        {
            if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() ||
                Args.Target.Health <= 0 || Orbwalker.Mode == OrbwalkingMode.None)
            {
                return;
            }

            switch (Args.Target.Type)
            {
            case GameObjectType.obj_AI_Hero:
            {
                if (Orbwalker.Mode == OrbwalkingMode.Combo)
                {
                    if (ComboOption.UseW && W.Ready)
                    {
                        var target = (Obj_AI_Hero)Args.Target;

                        if (!target.IsDead && target.IsValidAutoRange())
                        {
                            W.Cast();
                        }
                    }
                }
            }
            break;

            case GameObjectType.obj_AI_Minion:
            {
                if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
                {
                    if (Args.Target.IsMinion())
                    {
                        if (LaneClearOption.HasEnouguMana() && LaneClearOption.UseW && W.Ready)
                        {
                            var minions =
                                GameObjects.EnemyMinions.Count(
                                    x =>
                                    x.IsValidTarget(Me.AttackRange + Me.BoundingRadius + 200) &&
                                    x.IsMinion());

                            if (minions >= 3)
                            {
                                W.Cast();
                            }
                        }
                    }
                    else if (Args.Target.IsMob())
                    {
                        if (JungleClearOption.HasEnouguMana() && JungleClearOption.UseW && W.Ready)
                        {
                            var mob = (Obj_AI_Minion)Args.Target;

                            if (!mob.IsValidAutoRange() ||
                                !(mob.Health > Me.GetAutoAttackDamage(mob) * 2) ||
                                !MobsName.Contains(mob.UnitSkinName.ToLower()))
                            {
                                return;
                            }

                            W.Cast();
                        }
                    }
                }
            }
            break;

            case GameObjectType.obj_AI_Turret:
            case GameObjectType.obj_HQ:
            case GameObjectType.obj_Barracks:
            case GameObjectType.obj_BarracksDampener:
            case GameObjectType.obj_Building:
            {
                if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
                {
                    if (LaneClearOption.HasEnouguMana(true) && LaneClearOption.UseW && W.Ready)
                    {
                        if (Me.CountEnemyHeroesInRange(850) == 0)
                        {
                            W.Cast();
                        }
                    }
                }
            }
            break;
            }
        }