Exemple #1
0
        public override void GameOnUpdate(EventArgs args)
        {
            if (!Orbwalking.CanMove(100))
            {
                return;
            }

            var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H"));

            if (ComboActive || HarassActive)
            {
                if (Q.IsReady() && useQ)
                {
                    var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                    if (t != null)
                    {
                        Q.Cast(t, false, true);
                    }
                }
            }
        }
Exemple #2
0
        public override void ExecuteJungle()
        {
            if (!Orbwalking.CanMove(1))
            {
                return;
            }

            var jungleMobs = Utils.Utils.GetMobs(Q.Range, Utils.Utils.MobTypes.BigBoys);

            if (jungleMobs != null)
            {
                if (Q.CanCast(jungleMobs) && GetValue <StringList>("Jungle.Q").SelectedIndex != 0)
                {
                    Q.Cast(jungleMobs);
                }

                if (E.CanCast(jungleMobs) && GetValue <StringList>("Jungle.E").SelectedIndex != 0)
                {
                    E.Cast(jungleMobs);
                }
            }
        }
Exemple #3
0
        public override void GameOnUpdate(EventArgs args)
        {
            if (GetValue <bool>("PingCH"))
            {
                foreach (var enemy in
                         HeroManager.Enemies.Where(
                             enemy =>
                             R.IsReady() && enemy.IsValidTarget() && R.GetDamage(enemy) > enemy.Health))
                {
                    //Marksman.Utils.Utils.MPing.Ping(enemy.Position.To2D());
                }
            }

            if (Q.IsReady() && GetValue <bool>("SwapDistance") && Program.ChampionClass.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                var nKillableEnemy = HeroManager.Enemies.Find(e => e.Health <= Q.GetDamage(e) * 2 && e.Health >= ObjectManager.Player.TotalAttackDamage * 4);

                var activeQ = ObjectManager.Player.Spellbook.GetSpell(SpellSlot.Q).Level * 25 + 650;
                var t       = TargetSelector.GetTarget(activeQ, TargetSelector.DamageType.Physical);

                if (t.IsValidTarget() && !t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65))
                {
                    if (!FishBoneActive)
                    {
                        Q.Cast();
                        Orbwalker.ForceTarget(t);
                        return;
                    }
                }
            }

            if (GetValue <bool>("PingCH"))
            {
                foreach (var enemy in
                         HeroManager.Enemies.Where(
                             t =>
                             R.IsReady() && t.IsValidTarget() && R.GetDamage(t) > t.Health &&
                             t.Distance(ObjectManager.Player) > Orbwalking.GetRealAutoAttackRange(null) + 65 + QExtraRange))
                {
                    Utils.Utils.MPing.Ping(enemy.Position.To2D(), 2, PingCategory.Normal);
                }
            }



            if (GetValue <bool>("SwapQ") && FishBoneActive && !ComboActive)
            {
                Q.Cast();
            }

            if ((!ComboActive && !HarassActive) || !Orbwalking.CanMove(100))
            {
                return;
            }

            var useR = GetValue <bool>("UseRC");

            foreach (var t in
                     ObjectManager.Get <AIHeroClient>()
                     .Where(t => t.IsValidTarget(GetRealPowPowRange(t) + QExtraRange + 20f)))
            {
                var swapDistance = GetValue <bool>("SwapDistance");
                var swapAoe      = GetValue <bool>("SwapAOE");
                var distance     = GetRealDistance(t);
                var powPowRange  = GetRealPowPowRange(t);

                if (swapDistance && Q.IsReady())
                {
                    if (distance > powPowRange && !FishBoneActive)
                    {
                        if (Q.Cast())
                        {
                            return;
                        }
                    }
                    else if (distance < powPowRange && FishBoneActive)
                    {
                        if (Q.Cast())
                        {
                            return;
                        }
                    }
                }

                if (swapAoe && Q.IsReady())
                {
                    if (distance > powPowRange && PowPowStacks > 2 && !FishBoneActive && CountEnemies(t, 150) > 1)
                    {
                        if (Q.Cast())
                        {
                            return;
                        }
                    }
                }
            }


            //if (useR && R.IsReady())
            //{
            //    var checkRok = GetValue<bool>("ROverKill");
            //    var minR = GetValue<Slider>("MinRRange").Value;
            //    var maxR = GetValue<Slider>("MaxRRange").Value;
            //    var t = TargetSelector.GetTarget(maxR, TargetSelector.DamageType.Physical);

            //    if (t.IsValidTarget() && !t.HasKindredUltiBuff())
            //    {
            //        var distance = GetRealDistance(t);

            //        if (!checkRok)
            //        {
            //            if (ObjectManager.Player.GetSpellDamage(t, SpellSlot.R, 1) > t.Health && !t.IsZombie)
            //            {
            //                R.CastIfHitchanceGreaterOrEqual(t);
            //                //R.CastIfHitchanceEquals(t, HitChance.High, false);
            //                //if (R.Cast(t) == Spell.CastStates.SuccessfullyCasted) { }
            //            }
            //        }
            //        else if (distance > minR)
            //        {
            //            var aDamage = ObjectManager.Player.GetAutoAttackDamage(t);
            //            var wDamage = ObjectManager.Player.GetSpellDamage(t, SpellSlot.W);
            //            var rDamage = ObjectManager.Player.GetSpellDamage(t, SpellSlot.R);
            //            var powPowRange = GetRealPowPowRange(t);

            //            if (distance < (powPowRange + QExtraRange) && !(aDamage * 3.5 > t.Health))
            //            {
            //                if (!W.IsReady() || !(wDamage > t.Health) || W.GetPrediction(t).CollisionObjects.Count > 0)
            //                {
            //                    if (CountAlliesNearTarget(t, 500) <= 3)
            //                    {
            //                        if (rDamage > t.Health && !t.IsZombie /*&& !ObjectManager.Player.IsAutoAttacking &&
            //                            !ObjectManager.Player.IsChanneling*/)
            //                        {
            //                            R.CastIfHitchanceGreaterOrEqual(t);
            //                            //R.CastIfHitchanceEquals(t, HitChance.High, false);
            //                            //if (R.Cast(t) == Spell.CastStates.SuccessfullyCasted) { }
            //                        }
            //                    }
            //                }
            //            }
            //            else if (distance > (powPowRange + QExtraRange))
            //            {
            //                if (!W.IsReady() || !(wDamage > t.Health) || distance > W.Range
            //                    || W.GetPrediction(t).CollisionObjects.Count > 0)
            //                {
            //                    if (CountAlliesNearTarget(t, 500) <= 3)
            //                    {
            //                        if (rDamage > t.Health && !t.IsZombie /*&& !ObjectManager.Player.IsAutoAttacking &&
            //                            !ObjectManager.Player.IsChanneling*/)
            //                        {
            //                            R.CastIfHitchanceGreaterOrEqual(t);
            //                            //R.CastIfHitchanceEquals(t, HitChance.High, false);
            //                            //if (R.Cast(t) == Spell.CastStates.SuccessfullyCasted) { }
            //                        }
            //                    }
            //                }
            //            }
            //        }
            //    }
            //}
        }
Exemple #4
0
        public override void GameOnUpdate(EventArgs args)
        {
            R.Range = 500 * (R.Level == 0 ? 1 : R.Level) + 1500;

            AIHeroClient t;

            if (GetValue <StringList>("AutoWI").SelectedIndex != 0 && W.IsReady())
            {
                foreach (
                    var hero in
                    HeroManager.Enemies.Where(h => h.IsValidTarget(W.Range) && h.HasBuffOfType(BuffType.Stun)))
                {
                    CastW(hero.Position, false);
                }
            }

            if (W.IsReady() &&
                (GetValue <StringList>("AutoWI").SelectedIndex == 1 ||
                 (GetValue <StringList>("AutoWI").SelectedIndex == 2 && ComboActive)))
            {
                t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);
                if (t.IsValidTarget(W.Range))
                {
                    if (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) ||
                        t.HasBuffOfType(BuffType.Taunt) || t.HasBuffOfType(BuffType.Knockup) ||
                        t.HasBuff("zhonyasringshield") || t.HasBuff("Recall"))
                    {
                        CastW(t.Position);
                    }

                    if (t.HasBuffOfType(BuffType.Slow) && t.IsValidTarget(E.Range - 200))
                    {
                        //W.Cast(t.Position.Extend(ObjectManager.Player.Position, +200));
                        //W.Cast(t.Position.Extend(ObjectManager.Player.Position, -200));

                        var hit = t.IsFacing(ObjectManager.Player)
                            ? t.Position.Extend(ObjectManager.Player.Position, +200)
                            : t.Position.Extend(ObjectManager.Player.Position, -200);
                        CastW(hit);
                    }
                }
            }

            if (Q.IsReady() &&
                (GetValue <StringList>("AutoQI").SelectedIndex == 1 ||
                 (GetValue <StringList>("AutoQI").SelectedIndex == 2 && ComboActive)))
            {
                t = TargetSelector.GetTarget(Q.Range - 30, TargetSelector.DamageType.Physical);
                if (t.IsValidTarget(Q.Range)
                    &&
                    (t.HasBuffOfType(BuffType.Stun) ||
                     t.HasBuffOfType(BuffType.Snare) ||
                     t.HasBuffOfType(BuffType.Taunt) ||
                     (t.Health <= ObjectManager.Player.GetSpellDamage(t, SpellSlot.Q) &&
                      !t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65))))
                {
                    CastQ(t);
                }
            }

            if (GetValue <KeyBind>("UseQMC").Active)
            {
                t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                CastQ(t);
            }

            //if (GetValue<KeyBind>("UseEMC").Active)
            //{
            //    t = TargetSelector.GetTarget(E.Range - 50, TargetSelector.DamageType.Physical);
            //    E.Cast(t);
            //}

            if (GetValue <KeyBind>("UseRMC").Active&& R.IsReady())
            {
                foreach (
                    var e in
                    HeroManager.Enemies.Where(
                        e =>
                        e.IsValidTarget(R.Range) &&
                        ObjectManager.Player.CountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(null) + 65) <=
                        1).OrderBy(e => e.Health))
                {
                    //Utils.MPing.Ping(enemy.Position.To2D());
                    R.CastOnUnit(e);
                }
            }

            //for (int i = 1; i < HeroManager.Enemies.Count(e => e.Health < R.GetDamage(e)); i++)
            //{

            //    Common.CommonGeometry.DrawBox(new Vector2(Drawing.Width * 0.45f, Drawing.Height * 0.80f), 125, 18, Color.Transparent, 1, System.Drawing.Color.Black);
            //    Common.CommonGeometry.DrawText(CommonGeometry.Text, HeroManager.Enemies[i].ChampionName + " Killable", Drawing.Width * 0.455f, Drawing.Height * (0.803f + i * 50), SharpDX.Color.Wheat);
            //}

            if (GetValue <KeyBind>("UseEQC").Active&& E.IsReady() && Q.IsReady())
            {
                t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                if (t.IsValidTarget(E.Range) &&
                    t.Health
                    < ObjectManager.Player.GetSpellDamage(t, SpellSlot.Q)
                    + ObjectManager.Player.GetSpellDamage(t, SpellSlot.E) + 20 && E.CanCast(t))
                {
                    CastE();
                    //if (E.Cast(t) == Spell.CastStates.SuccessfullyCasted)
                    //    return;
                    //                    E.Cast(t);
                    CastQ(t);
                }
            }

            if ((!ComboActive && !HarassActive) || !Orbwalking.CanMove(100))
            {
                return;
            }

            //var useQ = GetValue<bool>("UseQ" + (ComboActive ? "C" : "H"));
            var useW = GetValue <bool>("UseWC");
            var useE = GetValue <bool>("UseEC");
            var useR = GetValue <bool>("UseRC");

            //if (Q.IsReady() && useQ)
            //{
            //    t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
            //    if (t != null)
            //    {
            //        CastQ(t);
            //    }
            //}

            if (useE && E.IsReady())
            {
                //var enemies = HeroManager.Enemies.Where(e => e.IsValidTarget(E.Range));
                //var objAiHeroes = enemies as AIHeroClient[] ?? enemies.ToArray();
                //IEnumerable<AIHeroClient> nResult =
                //    (from e in objAiHeroes join d in dangerousEnemies on e.ChampionName equals d select e)
                //        .Distinct();

                //foreach (var n in nResult.Where(n => n.IsFacing(ObjectManager.Player)))
                //{
                //    if (n.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65 - 300) && E.GetPrediction(n).CollisionObjects.Count == 0)
                //    {
                //        E.Cast(n.Position);
                //        if (W.IsReady())
                //            W.Cast(n.Position);
                //    }
                //}
                //if (GetValue<bool>("E.ProtectDistance"))
                //{
                //    foreach (var n in HeroManager.Enemies)
                //    {
                //        if (GetValue<bool>("E." + n.ChampionName + ".ProtectDistance") &&
                //            n.Distance(ObjectManager.Player) < E.Range - 100)
                //        {
                //            E.Cast(n.Position);
                //        }

                //    }
                //}
                foreach (
                    var enemy in
                    HeroManager.Enemies.Where(
                        e =>
                        e.IsValidTarget(E.Range) && e.Health >= ObjectManager.Player.TotalAttackDamage * 2 &&
                        e.IsFacing(ObjectManager.Player) && e.IsValidTarget(E.Range - 300) &&
                        E.GetPrediction(e).CollisionObjects.Count == 0))
                {
                    E.Cast(enemy.Position);
                    var targetBehind = enemy.Position.To2D().Extend(ObjectManager.Player.Position.To2D(), -140);
                    if (W.IsReady() && ObjectManager.Player.Distance(targetBehind) <= W.Range)
                    {
                        W.Cast(enemy.Position);
                    }
                    if (Q.IsReady())
                    {
                        Q.Cast(enemy.Position);
                    }
                }
            }

            if (useW && W.IsReady())
            {
                var nResult = HeroManager.Enemies.Where(e => e.IsValidTarget(W.Range));
                foreach (var n in nResult)
                {
                    if (ObjectManager.Player.Distance(n) < 450 && n.IsFacing(ObjectManager.Player))
                    {
                        CastW(CommonGeometry.CenterOfVectors(new[] { ObjectManager.Player.Position, n.Position }));
                    }
                }
            }

            if (R.IsReady() && useR)
            {
                foreach (
                    var e in
                    HeroManager.Enemies.Where(
                        e =>
                        e.IsValidTarget(R.Range) && e.Health <= R.GetDamage(e) &&
                        ObjectManager.Player.CountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(null) + 350) ==
                        0 &&
                        !Orbwalking.InAutoAttackRange(e) && canCastR))
                {
                    R.CastOnUnit(e);
                }
            }
        }
Exemple #5
0
        public override void GameOnUpdate(EventArgs args)
        {
            if (Orbwalking.CanMove(100) && (ComboActive || HarassActive))
            {
                var useW = GetValue <bool>("UseW" + (ComboActive ? "C" : "H"));
                var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H"));

                var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                if (!t.IsValidTarget() || t.HasKindredUltiBuff())
                {
                    return;
                }

                if (useW && W.IsReady() && t.IsValidTarget(W.Range))
                {
                    W.Cast(t, false, true);
                }

                if (ObjectManager.Get <AIHeroClient>().Find(e1 => e1.IsValidTarget(E.Range) && E.IsKillable(e1)) != null)
                {
                    E.Cast();
                }

                var nShouldCastE = (t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65) && E.IsKillable(t)) ||
                                   (!t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65) &&
                                    t.GetBuffCount("TwitchDeadlyVenom") == 6);

                if (E.IsReady() && nShouldCastE)
                {
                    E.Cast();
                }
                //if (useE && E.IsReady() && t.GetBuffCount("TwitchDeadlyVenom") == 6)
                //{
                //    E.Cast();
                //}
            }

            if (ComboActive)
            {
                var useR = GetValue <StringList>("Combo.UseR").SelectedIndex;

                if (useR != 0 && R.IsReady() && ObjectManager.Player.CountEnemiesInRange(R.Range - 100) >= useR)
                {
                    R.Cast();
                }
            }

            if (GetValue <bool>("UseEM") && E.IsReady())
            {
                foreach (
                    var hero in
                    ObjectManager.Get <AIHeroClient>()
                    .Where(
                        hero =>
                        hero.IsValidTarget(E.Range) &&
                        (ObjectManager.Player.GetSpellDamage(hero, SpellSlot.E) - 10 > hero.Health)))
                {
                    E.Cast();
                }
            }
        }
Exemple #6
0
        public override void GameOnUpdate(EventArgs args)
        {
            if (R1.IsReady() && GetValue <bool>("UseRM"))
            {
                bool bigRocket = HasBigRocket();
                foreach (
                    AIHeroClient hero in
                    ObjectManager.Get <AIHeroClient>()
                    .Where(
                        hero =>
                        hero.IsValidTarget(bigRocket ? R2.Range : R1.Range) &&
                        R1.GetDamage(hero) * (bigRocket ? 1.5f : 1f) > hero.Health))
                {
                    if (bigRocket)
                    {
                        R2.Cast(hero, false, true);
                    }
                    else
                    {
                        R1.Cast(hero, false, true);
                    }
                }
            }

            if ((!ComboActive && !HarassActive) || !Orbwalking.CanMove(100))
            {
                return;
            }

            var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H"));
            var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H"));
            var useR = GetValue <bool>("UseR" + (ComboActive ? "C" : "H"));
            var rLim = GetValue <Slider>("Rlim" + (ComboActive ? "C" : "H")).Value;

            if (useQ && Q.IsReady())
            {
                var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    if (Q.Cast(t, false, true) == Spell.CastStates.SuccessfullyCasted)
                    {
                        return;
                    }
                }
            }

            if (useE && E.IsReady())
            {
                var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (E.Cast(t, false, true) == Spell.CastStates.SuccessfullyCasted)
                    {
                        return;
                    }
                }
            }

            if (useR && R1.IsReady() && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo > rLim)
            {
                bool         bigRocket = HasBigRocket();
                AIHeroClient t         = TargetSelector.GetTarget(bigRocket ? R2.Range : R1.Range, TargetSelector.DamageType.Magical);

                if (t.IsValidTarget())
                {
                    if (bigRocket)
                    {
                        R2.Cast(t, false, true);
                    }
                    else
                    {
                        R1.Cast(t, false, true);
                    }
                }
            }
        }
Exemple #7
0
        public override void GameOnUpdate(EventArgs args)
        {
            //Chat.Print(ObjectManager.Player.BaseAbilityDamage.ToString() + " : " + ObjectManager.Player.BaseAttackDamage.ToString());
            UltiBuffStacks = GetUltimateBuffStacks();

            W.Range = 110 + 20 * ObjectManager.Player.Spellbook.GetSpell(SpellSlot.W).Level;
            R.Range = 900 + 300 * ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Level;

            if (R.IsReady() && GetValue <bool>("UseRM"))
            {
                foreach (
                    var hero in
                    ObjectManager.Get <AIHeroClient>()
                    .Where(
                        hero => hero.IsValidTarget(R.Range) && R.GetDamage(hero) > hero.Health))
                {
                    CastR(hero);
                }
            }
            //R.Cast(hero, false, true);

            if ((!ComboActive && !HarassActive) || (!Orbwalking.CanMove(100) &&
                                                    !(ObjectManager.Player.BaseAbilityDamage + ObjectManager.Player.FlatMagicDamageMod > 100)))
            {
                return;
            }

            var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H"));
            var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H"));
            var useR = GetValue <bool>("UseR" + (ComboActive ? "C" : "H"));
            var rLim = GetValue <Slider>("Rlim" + (ComboActive ? "C" : "H")).Value;

            var t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);

            if (useQ && Q.IsReady() && t.IsValidTarget(Q.Range))
            {
                CastQ(t);
                //if (Q.Cast(t) == Spell.CastStates.SuccessfullyCasted)
                //    return;
            }

            if (useE && E.IsReady() && t.IsValidTarget(E.Range))
            {
                CastE(t);
                //if (Q.Cast(t) == Spell.CastStates.SuccessfullyCasted)
                //    return;
            }
            if (R.IsReady() && t.IsValidTarget(R.Range) && t.HealthPercent <= Program.Config.Item(t.ChampionName + "RHPPercent").GetValue <Slider>().Value)
            //if (GetValue<bool>("UseRSC") && R.IsReady() && t.IsValidTarget(R.Range))
            {
                if (t.IsValidTarget() &&
                    (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Slow) ||
                     t.HasBuffOfType(BuffType.Fear) ||
                     t.HasBuffOfType(BuffType.Taunt)))
                {
                    CastR(t);
                    //R.Cast(t, false, true);
                }
            }

            if (useR && R.IsReady() && UltiBuffStacks < rLim && t.IsValidTarget(R.Range) && t.HealthPercent <= Program.Config.Item(t.ChampionName + "RHPPercent").GetValue <Slider>().Value)
            {
                CastR(t);
                //R.Cast(t, false, true);
            }
        }
Exemple #8
0
        public override void GameOnUpdate(EventArgs args)
        {
            var enemy =
                HeroManager.Enemies.Find(
                    e => e.Buffs.Any(b => b.Name.ToLower() == "quinnw_cosmetic" && e.IsValidTarget(E.Range)));

            if (enemy != null)
            {
                if (enemy.Distance(ObjectManager.Player.Position) > Orbwalking.GetRealAutoAttackRange(null) + 65)
                {
                    EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, enemy);
                }
                Orbwalker.ForceTarget(enemy);
            }

            if (Q.IsReady() && GetValue <KeyBind>("UseQTH").Active)
            {
                if (ObjectManager.Player.HasBuff("Recall"))
                {
                    return;
                }
                var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                if (t != null)
                {
                    Q.Cast(t, false, true);
                }
            }

            if (ComboActive || HarassActive)
            {
                var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H"));
                var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H"));

                if (Orbwalking.CanMove(100))
                {
                    if (E.IsReady() && useE)
                    {
                        var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                        if (t.IsValidTarget() && !t.IsZombie && !isHePantheon(t) && !t.HasBuff("QuinnW_Cosmetic"))
                        {
                            E.CastOnUnit(t);
                        }
                    }

                    if (Q.IsReady() && useQ)
                    {
                        var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                        if (t.IsValidTarget() && !t.IsZombie)
                        {
                            Q.Cast(t);
                        }
                    }

                    if (IsValorMode && !E.IsReady())
                    {
                        var vTarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical);
                        if (vTarget != null)
                        {
                            calculateValorDamage();
                            if (vTarget.Health >= ValorMinDamage && vTarget.Health <= ValorMaxDamage)
                            {
                                R.Cast();
                            }
                        }
                    }
                }
            }
        }