コード例 #1
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            Ulti();
            if (getKeyBindItem(menuC, "useeflash") &&
                player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerFlash")) == SpellState.Ready)
            {
                FlashCombo();
            }

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

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

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

            var bladeObj =
                ObjectManager.Get <Obj_AI_Base>()
                .Where(
                    o => (o.Name == "ShenSpiritUnit" || o.Name == "ShenArrowVfxHostMinion") && o.Team == player.Team)
                .OrderBy(o => o.LSDistance(bladeOnCast))
                .FirstOrDefault();

            if (bladeObj != null)
            {
                blade = bladeObj.Position;
            }
            if (W.IsReady() && blade.IsValid())
            {
                foreach (var ally in HeroManager.Allies.Where(a => a.LSDistance(blade) < bladeRadius))
                {
                    var data = IncDamages.GetAllyData(ally.NetworkId);
                    if (getSliderItem(menuU, "autowAgg") <= data.AADamageCount)
                    {
                        W.Cast();
                    }
                    if (data.AADamageTaken >= ally.Health * 0.2f && getCheckBoxItem(menuU, "autow"))
                    {
                        W.Cast();
                    }
                }
            }
        }
コード例 #2
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            if (Q.IsCharging || activatedR)
            {
                Orbwalker.DisableAttacking = true;
                Orbwalker.DisableMovement  = true;
            }
            else
            {
                Orbwalker.DisableAttacking = false;
                Orbwalker.DisableMovement  = false;
            }

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

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

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

            var data = IncDamages.GetAllyData(player.NetworkId);

            if (data != null && !activatedW && getCheckBoxItem(menuM, "AshieldB") &&
                data.DamageCount >= getSliderItem(menuM, "wMinAggro") &&
                player.ManaPercent > getSliderItem(menuM, "minmanaAgg"))
            {
                W.Cast(getCheckBoxItem(config, "packets"));
            }
            if (data != null && !activatedW && getCheckBoxItem(menuM, "AshieldB") && W.IsReady() &&
                (data.DamageTaken > player.Health ||
                 data.DamageTaken > getWShield() / 100f * getSliderItem(menuM, "AshieldDmg")))
            {
                W.Cast(getCheckBoxItem(config, "packets"));
            }
            if (data != null && activatedW && data.DamageTaken > player.GetBuff("sionwshieldstacks").Count&&
                data.DamageTaken < player.Health)
            {
                W.Cast(getCheckBoxItem(config, "packets"));
            }
        }
コード例 #3
0
ファイル: Olaf.cs プロジェクト: soulcrash/PortAIO
        private static void Combo()
        {
            AIHeroClient target = TargetSelector.GetTarget(Q.Range, DamageType.Physical);

            if (player.Spellbook.IsAutoAttacking || target == null)
            {
                return;
            }
            if (getCheckBoxItem(comboMenu, "useq") && Q.CanCast(target))
            {
                CastQ(target);
            }
            if (getCheckBoxItem(comboMenu, "usee") && E.CanCast(target) &&
                (((E.GetDamage(target) > target.Health) || player.HealthPercent > 25) ||
                 IncDamages.GetAllyData(player.NetworkId).IsAboutToDie))
            {
                E.Cast(target);
            }
            if (getCheckBoxItem(comboMenu, "usew") && W.IsReady() &&
                player.LSDistance(target) < Orbwalking.GetRealAutoAttackRange(target) + 50)
            {
                W.Cast();
            }
            if (getCheckBoxItem(comboMenu, "userCCed") && R.IsReady() && CombatHelper.IsCCed(player))
            {
                R.Cast();
            }
            if (getCheckBoxItem(comboMenu, "userbeforeCCed") && R.IsReady() &&
                IncDamages.GetAllyData(player.NetworkId).AnyCC)
            {
                R.Cast();
            }
            if (getCheckBoxItem(comboMenu, "gotoAxe"))
            {
                GotoAxe(target.Position);
            }

            var  ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);
            bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready;

            if (getCheckBoxItem(comboMenu, "useIgnite") &&
                ignitedmg > HealthPrediction.GetHealthPrediction(target, 1000) && hasIgnite &&
                !CombatHelper.CheckCriticalBuffs(target) &&
                target.LSDistance(player) > Orbwalking.GetRealAutoAttackRange(target) + 25)
            {
                player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target);
            }
        }
コード例 #4
0
ファイル: Fiora.cs プロジェクト: chienhao10/PortAIO
        private static void Game_OnGameUpdate(EventArgs args)
        {
            Orbwalker.DisableMovement = false;

            ClearList();

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

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

            var data = IncDamages.GetAllyData(player.NetworkId);

            if (data != null && W.IsReady())
            {
                var enemy = TargetSelector.GetTarget(W.Range, DamageType.Physical);
                if ((getCheckBoxItem(comboMenu, "usew") &&
                     Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && enemy != null &&
                     data.DamageTaken >= enemy.GetAutoAttackDamage(player) - 5) ||
                    (getCheckBoxItem(comboMenu, "usewDangerous") && data.DamageTaken > player.Health * 0.1f))
                {
                    var bestPositionW =
                        W.GetLineFarmLocation(MinionManager.GetMinions(ObjectManager.Player.ServerPosition, W.Range,
                                                                       MinionTypes.All, MinionTeam.NotAlly));
                    if (enemy != null)
                    {
                        W.Cast(enemy, getCheckBoxItem(config, "packets"));
                    }
                    else if (bestPositionW.MinionsHit > 0)
                    {
                        W.Cast(bestPositionW.Position, getCheckBoxItem(config, "packets"));
                    }
                }
            }
        }
コード例 #5
0
ファイル: TahmKench.cs プロジェクト: commonsharp/PortAIO
        private void UseShield()
        {
            var playerData = IncDamages.GetAllyData(player.NetworkId);

            if (playerData == null)
            {
                return;
            }

            if (getSliderItem(Shield, "ShieldUnderHealthP") > player.HealthPercent && playerData.DamageTaken > 50 &&
                player.AttackShield >= playerData.DamageTaken ||
                playerData.DamageTaken > player.Health)
            {
                E.Cast();
            }

            if (playerData.DamageTaken >
                player.Health * getSliderItem(Shield, "ShieldDamage") / 100)
            {
                E.Cast();
            }
        }
コード例 #6
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                Combo();
            }

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

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

            var data = IncDamages.GetAllyData(player.NetworkId);

            if (data != null && W.IsReady() && getCheckBoxItem(menuM, "usew") &&
                (preventSilence(W) || (!getCheckBoxItem(menuM, "blockW") && !preventSilence(W))) &&
                (data.DamageTaken > getShield() * getSliderItem(menuM, "shieldPercent") / 100 ||
                 getSliderItem(menuM, "Aggro") <= data.DamageCount))
            {
                W.Cast();
            }
            if (getKeyBindItem(menuC, "castR"))
            {
                var target = TargetSelector.GetTarget(1700, DamageType.Magical);
                if (target != null)
                {
                    HandleR(target, true);
                }
            }
        }
コード例 #7
0
        private void Combo()
        {
            AIHeroClient target = TargetSelector.GetTarget(1500, DamageType.Physical);

            if (target == null)
            {
                return;
            }
            var combodmg = ComboDamage(target);

            var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready;

            if (getCheckBoxItem(menuC, "usew") && W.CanCast(target))
            {
                W.Cast(target.Position, getCheckBoxItem(config, "packets"));
            }

            if (getCheckBoxItem(menuC, "usee") && E.CanCast(target))
            {
                E.CastOnUnit(target, getCheckBoxItem(config, "packets"));
            }

            var ally =
                HeroManager.Allies.Where(
                    i =>
                    !i.IsDead &&
                    ((i.Health * 100 / i.MaxHealth) <= menuC["atpercenty"].Cast <Slider>().CurrentValue ||
                     IncDamages.GetAllyData(i.NetworkId).IsAboutToDie) && player.LSDistance(i) < R.Range &&
                    !menuM["ulty" + i.NetworkId].Cast <CheckBox>().CurrentValue&& i.CountEnemiesInRange(750) > 0)
                .OrderByDescending(i => Environment.Hero.GetAdOverTime(player, i, 5))
                .FirstOrDefault();

            if (!Yorickghost && ally != null && getCheckBoxItem(menuC, "user") && R.IsInRange(ally) && R.IsReady())
            {
                R.Cast(ally, getCheckBoxItem(config, "packets"));
            }
            if (getCheckBoxItem(menuC, "useIgnite") && combodmg > target.Health && hasIgnite)
            {
                player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target);
            }

            if (R.IsReady() && Yorickghost && !GhostDelay && getCheckBoxItem(menuC, "moveGhost") &&
                !getCheckBoxItem(menuM, "autoMoveGhost"))
            {
                moveGhost();
            }
        }
コード例 #8
0
 private static void CastW(bool combo)
 {
     foreach (
         var h in
         HeroManager.Allies.Where(i => i.IsValid && i.LSDistance(player) < W.Range)
         .OrderByDescending(TargetSelector.GetPriority))
     {
         var incDamage = IncDamages.GetAllyData(h.NetworkId);
         if (incDamage != null &&
             (incDamage.DamageCount >= getSliderItem(miscMenu, "Wmin") ||
              CheckDamageToW(incDamage)) && (combo || (!combo && CheckAutoW())))
         {
             W.Cast(incDamage.Hero, getCheckBoxItem(config, "packets"));
             return;
         }
     }
 }
コード例 #9
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            var target = TargetSelector.GetTarget(Q.Range + player.MoveSpeed * 3, DamageType.Physical);

            if (ShacoStealth && target != null && target.Health > ComboDamage(target) &&
                CombatHelper.IsFacing(target, player.Position) &&
                Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                Orbwalker.DisableAttacking = true;
            }
            else
            {
                Orbwalker.DisableAttacking = false;
            }

            if (!ShacoClone)
            {
                cloneTime = Environment.TickCount;
            }

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

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

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

            if (E.IsReady())
            {
                var ksTarget =
                    HeroManager.Enemies.FirstOrDefault(
                        h => h.LSIsValidTarget() && !CombatHelper.IsInvulnerable2(h) && h.Health < E.GetDamage(h));
                if (ksTarget != null)
                {
                    if ((getCheckBoxItem(menuM, "ks") || getCheckBoxItem(menuM, "ksq")) &&
                        E.CanCast(ksTarget))
                    {
                        E.Cast(ksTarget);
                    }
                    if (Q.IsReady() && getCheckBoxItem(menuM, "ks") &&
                        ksTarget.LSDistance(player) < Q.Range + E.Range && ksTarget.LSDistance(player) > E.Range &&
                        !player.Position.LSExtend(ksTarget.Position, Q.Range).IsWall() &&
                        player.Mana > Q.Instance.SData.Mana + E.Instance.SData.Mana)
                    {
                        Q.Cast(player.Position.LSExtend(ksTarget.Position, Q.Range));
                    }
                }
            }

            if (getKeyBindItem(menuM, "stackBox") && W.IsReady())
            {
                var box =
                    ObjectManager.Get <Obj_AI_Minion>()
                    .Where(m => m.LSDistance(player) < W.Range && m.Name == "Jack In The Box" && !m.IsDead)
                    .OrderBy(m => m.LSDistance(Game.CursorPos))
                    .FirstOrDefault();

                if (box != null)
                {
                    W.Cast(box.Position);
                }
                else
                {
                    if (player.LSDistance(Game.CursorPos) < W.Range)
                    {
                        W.Cast(Game.CursorPos);
                    }
                    else
                    {
                        W.Cast(player.Position.LSExtend(Game.CursorPos, W.Range));
                    }
                }
            }

            if (ShacoClone && !GhostDelay && getCheckBoxItem(menuM, "autoMoveClone"))
            {
                moveClone();
            }
            var data = IncDamages.GetAllyData(player.NetworkId);

            if (getCheckBoxItem(menuC, "userCC") && R.IsReady() && target != null && player.LSDistance(target) < Q.Range &&
                data.AnyCC)
            {
                R.Cast();
            }
        }
コード例 #10
0
        private static void Combo()
        {
            var target = TargetSelector.GetTarget(700, DamageType.Physical);

            if (target == null)
            {
                return;
            }

            var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready;
            var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);

            if (getCheckBoxItem(comboMenu, "useIgnite") && hasIgnite && ((R.IsReady() && ignitedmg + R.GetDamage(target) > target.Health) || ignitedmg > target.Health) && (target.LSDistance(player) > E.Range || player.HealthPercent < 20))
            {
                player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target);
            }

            if (getCheckBoxItem(comboMenu, "useq") && Q.IsReady() && player.LSDistance(target) > player.AttackRange && !GarenE && !GarenQ && player.LSDistance(target) > Orbwalking.GetRealAutoAttackRange(target) && CombatHelper.IsPossibleToReachHim(target, 0.30f, new float[5] {
                1.5f, 2f, 2.5f, 3f, 3.5f
            }[Q.Level - 1]))
            {
                Q.Cast(getCheckBoxItem(config, "packets"));
            }

            if (getCheckBoxItem(comboMenu, "useq") && Q.IsReady() && !GarenQ &&
                (!GarenE || (Q.IsReady() && player.LSGetSpellDamage(target, SpellSlot.Q) > target.Health)))
            {
                if (GarenE)
                {
                    E.Cast(getCheckBoxItem(config, "packets"));
                }
                Q.Cast(getCheckBoxItem(config, "packets"));
                Player.IssueOrder(GameObjectOrder.AutoAttack, target);
            }

            if (getCheckBoxItem(comboMenu, "usee") && E.IsReady() && !Q.IsReady() && !GarenQ && !GarenE &&
                player.CountEnemiesInRange(E.Range) > 0)
            {
                E.Cast(getCheckBoxItem(config, "packets"));
            }
            var targHP = target.Health + 20 - CombatHelper.IgniteDamage(target);
            var rLogic = getCheckBoxItem(comboMenu, "user") && R.IsReady() && target.LSIsValidTarget() &&
                         (!getCheckBoxItem(miscMenu, "ult" + target.BaseSkinName) ||
                          player.CountEnemiesInRange(1500) == 1) && getRDamage(target) > targHP && targHP > 0;

            if (rLogic && target.LSDistance(player) < R.Range)
            {
                R.Cast(target, getCheckBoxItem(config, "packets"));
            }
            var data = IncDamages.GetAllyData(player.NetworkId);

            if (getCheckBoxItem(comboMenu, "usew") && W.IsReady() && target.IsFacing(player) &&
                data.DamageTaken > 40)
            {
                W.Cast(getCheckBoxItem(config, "packets"));
            }
            var hasFlash = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerFlash")) == SpellState.Ready;

            if (getCheckBoxItem(comboMenu, "useFlash") && hasFlash && rLogic &&
                target.LSDistance(player) < R.Range + 425 && target.LSDistance(player) > R.Range + 250 && !Q.IsReady() &&
                !CombatHelper.IsFacing(target, player.Position) && !GarenQ)
            {
                if (target.LSDistance(player) < R.Range + 300 && player.MoveSpeed > target.MoveSpeed)
                {
                    return;
                }
                if (GarenE)
                {
                    E.Cast(getCheckBoxItem(config, "packets"));
                }
                else if (!player.Position.LSExtend(target.Position, 425f).IsWall())
                {
                }
                {
                    player.Spellbook.CastSpell(player.GetSpellSlot("SummonerFlash"),
                                               player.Position.LSExtend(target.Position, 425f));
                }
            }
        }
コード例 #11
0
        private void Combo()
        {
            var target = TargetSelector.GetTarget(GetTargetRange(), DamageType.Physical);

            if (target == null)
            {
                return;
            }
            var data = IncDamages.GetAllyData(player.NetworkId);

            if (getCheckBoxItem(menuC, "usew") && W.IsReady() && data.AnyCC)
            {
                W.Cast();
            }
            var eTarget = TargetSelector.GetTarget(E.Range, DamageType.Physical);
            var cmbdmg  = ComboDamage(target);
            var dist    = player.LSDistance(target);

            if (lastR > 4000f)
            {
                lastR = 0f;
            }
            if (getCheckBoxItem(menuC, "useq") && Q.CanCast(target) &&
                dist < getSliderItem(menuC, "useqMaxRange") && !player.IsDashing())
            {
                Q.CastIfHitchanceEquals(target, dist < 550 ? HitChance.Medium : HitChance.High,
                                        getCheckBoxItem(config, "packets"));
            }
            if (getCheckBoxItem(menuC, "usee") && E.CanCast(eTarget) &&
                dist < getSliderItem(menuC, "useeMaxRange"))
            {
                E.Cast(eTarget, getCheckBoxItem(config, "packets"));
            }
            if (getCheckBoxItem(menuC, "user") && R.IsReady())
            {
                R.Range = rRanges[R.Level - 1];
            }
            if (getCheckBoxItem(menuC, "user") && lastR.Equals(0) && !target.UnderTurret(true) &&
                R.CanCast(target) &&
                ((qTrailOnMe && eBuff(target) && target.MoveSpeed > player.MoveSpeed && dist > 360 &&
                  target.HealthPercent < 60) ||
                 (dist < rRanges[R.Level - 1] && dist > 900 &&
                  target.CountAlliesInRange(2000) >= target.CountEnemiesInRange(2000) &&
                  cmbdmg + Environment.Hero.GetAdOverTime(player, target, 5) > target.Health &&
                  (target.Health > Q.GetDamage(target) || !Q.IsReady())) ||
                 (player.HealthPercent < 40 && target.HealthPercent < 40 && target.CountAlliesInRange(1000) == 1 &&
                  target.CountEnemiesInRange(1000) == 1)))
            {
                R.Cast(target, getCheckBoxItem(config, "packets"));
                lastR = System.Environment.TickCount;
            }
            if (getCheckBoxItem(menuC, "user") && !lastR.Equals(0) && R.CanCast(target) &&
                (cmbdmg * 1.6 + Environment.Hero.GetAdOverTime(player, target, 5) > target.Health ||
                 R.GetDamage(target) > target.Health ||
                 (qTrailOnMe && eBuff(target) && target.MoveSpeed > player.MoveSpeed && dist > 360 &&
                  target.HealthPercent < 60)))
            {
                var time = System.Environment.TickCount - lastR;
                if (time > 3500f || player.LSDistance(target) > E.Range || cmbdmg > target.Health ||
                    (player.HealthPercent < 40 && target.HealthPercent < 40))
                {
                    R.Cast(target, getCheckBoxItem(config, "packets"));
                    lastR = 0f;
                }
            }
            var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);
            var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready;

            if (getCheckBoxItem(menuC, "useIgnite") && ignitedmg > target.Health && hasIgnite &&
                !E.CanCast(target))
            {
                player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target);
            }
        }
コード例 #12
0
        private static void Combo()
        {
            AIHeroClient target = TargetSelector.GetTarget(E.Range * 2, DamageType.Physical);

            if (target == null)
            {
                return;
            }
            bool hasIgnite   = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready;
            var  FuryQ       = Damage.LSGetSpellDamage(player, target, SpellSlot.Q) * 0.5;
            var  FuryW       = Damage.LSGetSpellDamage(player, target, SpellSlot.W) * 0.5;
            var  eDmg        = Damage.LSGetSpellDamage(player, target, SpellSlot.E);
            var  combodamage = ComboDamage(target);

            if (getCheckBoxItem(comboMenu, "useIgnite") && hasIgnite &&
                player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite) > target.Health)
            {
                player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target);
            }
            if (player.LSDistance(target) > E.Range && E.IsReady() && (W.IsReady() || Q.IsReady()) && lastE.Equals(0) &&
                getCheckBoxItem(comboMenu, "usee"))
            {
                var closeGapTarget =
                    MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.NotAlly)
                    .Where(i => i.LSDistance(target.ServerPosition) < Q.Range - 40)
                    .OrderByDescending(i => Environment.Minion.countMinionsInrange(i.Position, Q.Range))
                    .FirstOrDefault();
                if (closeGapTarget != null)
                {
                    if ((canBeOpWIthQ(closeGapTarget.Position) || fury) && !rene)
                    {
                        if (E.CanCast(closeGapTarget))
                        {
                            E.Cast(closeGapTarget.Position);
                            lastE = System.Environment.TickCount;
                            return;
                        }
                    }
                }
            }
            if (getCheckBoxItem(comboMenu, "useq") && Q.CanCast(target) && !renw && !player.LSIsDashing() &&
                checkFuryMode(SpellSlot.Q, target) &&
                (!W.IsReady() ||
                 ((W.IsReady() && !fury) || (player.Health < target.Health) ||
                  (Environment.Minion.countMinionsInrange(player.Position, Q.Range) +
                   player.CountEnemiesInRange(Q.Range) > 3 && fury))))
            {
                Q.Cast();
            }
            var distance = player.LSDistance(target.Position);

            if (getCheckBoxItem(comboMenu, "usee") && lastE.Equals(0) && E.CanCast(target) &&
                (eDmg > target.Health ||
                 (((W.IsReady() && canBeOpWIthQ(target.Position) && !rene) ||
                   (distance > target.LSDistance(player.Position.LSExtend(target.Position, E.Range)) - distance)))))
            {
                E.Cast(target.Position);
                lastE = System.Environment.TickCount;
                return;
            }
            if (getCheckBoxItem(comboMenu, "usee") && checkFuryMode(SpellSlot.E, target) && !lastE.Equals(0) &&
                (eDmg + player.GetAutoAttackDamage(target) > target.Health ||
                 (((W.IsReady() && canBeOpWIthQ(target.Position) && !rene) ||
                   (distance < target.Distance(player.Position.LSExtend(target.Position, E.Range)) - distance) ||
                   player.LSDistance(target) > E.Range - 100))))
            {
                var time = System.Environment.TickCount - lastE;
                if (time > 3600f || combodamage > target.Health || (player.LSDistance(target) > E.Range - 100))
                {
                    E.Cast(target.Position);
                    lastE = 0;
                }
            }
            var data = IncDamages.GetAllyData(player.NetworkId);

            if (((player.Health * 100 / player.MaxHealth) <= getSliderItem(comboMenu, "user") &&
                 data.DamageTaken > 30) ||
                getSliderItem(comboMenu, "userindanger") < player.CountEnemiesInRange(R.Range))
            {
                R.Cast();
            }
        }