예제 #1
0
파일: Sejuani.cs 프로젝트: yashine59fr/Port
        private static void Combo()
        {
            Ulti();
            float        perc   = (float)config.Item("minmana", true).GetValue <Slider>().Value / 100f;
            var          minHit = config.Item("useemin", true).GetValue <Slider>().Value;
            AIHeroClient target = LeagueSharp.Common.TargetSelector.GetTarget(R.Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);

            if (target == null)
            {
                return;
            }
            if (config.Item("useItems").GetValue <bool>())
            {
                ItemHandler.UseItems(target, config, ComboDamage(target));
            }

            var buffs = CombatHelper.SejuaniCountFrostHero(E.Range);

            if (E.IsReady() && me.Distance(target.Position) < E.Range && buffs > 0 &&
                ((buffs > minHit) || (Damage.GetSpellDamageLS(me, target, SpellSlot.E) >= target.Health) ||
                 (me.Distance(target) > config.Item("useEminr", true).GetValue <Slider>().Value&&
                  me.Distance(target) < E.Range && buffs == 1)))
            {
                if (!(Q.IsReady() && me.Mana - me.Spellbook.GetSpell(SpellSlot.Q).SData.Mana < me.MaxMana * perc) ||
                    !(W.IsReady() && me.Mana - me.Spellbook.GetSpell(SpellSlot.W).SData.Mana < me.MaxMana * perc))
                {
                    E.Cast();
                }
            }
            if (Q.IsReady() && config.Item("useq", true).GetValue <bool>() &&
                me.Distance(target.Position) > config.Item("useQminr", true).GetValue <Slider>().Value)
            {
                var hits = Q.GetHitCount(HitChance.High);
                if (target.CountEnemiesInRange(Q.Width) >= hits)
                {
                    if (Program.IsSPrediction)
                    {
                        Q.SPredictionCast(target, HitChance.High);
                    }
                    else
                    {
                        Q.CastIfHitchanceEquals(target, HitChance.High);
                    }
                }
            }
            bool hasIgnite = me.Spellbook.CanUseSpell(me.GetSpellSlot("SummonerDot")) == SpellState.Ready;
            var  ignitedmg = (float)me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);

            if (ignitedmg > target.Health && hasIgnite && !E.CanCast(target) && !W.CanCast(target) && !Q.CanCast(target))
            {
                me.Spellbook.CastSpell(me.GetSpellSlot("SummonerDot"), target);
            }
        }
예제 #2
0
파일: Program.cs 프로젝트: volder1/PortAIO
        private static void OnCombo()
        {
            var target = TargetSelector.GetTarget(W.Range, DamageType.Magical);

            if (target != null)
            {
                if (getCheckBoxItem(comboMenu, "w.combo") && W.IsReady())
                {
                    W.Cast(target);
                }
            }

            if (getCheckBoxItem(comboMenu, "q.combo"))
            {
                switch (getBoxItem(qsettings, "q.settings"))
                {
                case 0:
                    foreach (var enemy in EntityManager.Heroes.Enemies.Where(x => x.LSIsValidTarget(Q.Range)))
                    {
                        Q.CastIfHitchanceEquals(enemy, HikiChance("q.normal.hit.chance"));
                    }
                    break;

                case 1:
                    if (ObjectManager.Player.CountEnemiesInRange(Q.Range) >= getSliderItem(qsettings, "q.hit.count"))
                    {
                        foreach (var enemy in EntityManager.Heroes.Enemies.Where(x => x.LSIsValidTarget(Q.Range) && Q.GetHitCount() >= getSliderItem(qsettings, "q.hit.count")))
                        {
                            Q.CastIfWillHit(enemy, getSliderItem(qsettings, "q.hit.count"));
                        }
                    }
                    break;
                }
            }
        }
예제 #3
0
        private static void OnCombo()
        {
            if (getCheckBoxItem(comboMenu, "q.combo"))
            {
                switch (getBoxItem(qsettings, "q.settings"))
                {
                case 0:
                    foreach (var enemy in HeroManager.Enemies.Where(x => x.IsValidTarget(Q.Range)))
                    {
                        Q.CastIfHitchanceEquals(enemy, HikiChance("q.normal.hit.chance"));
                    }
                    break;

                case 1:
                    if (ObjectManager.Player.CountEnemiesInRange(Q.Range) >= getSliderItem(qsettings, "q.hit.count"))
                    {
                        foreach (var enemy in HeroManager.Enemies.Where(x => x.IsValidTarget(Q.Range) && Q.GetHitCount() >= getSliderItem(qsettings, "q.hit.count")))
                        {
                            Q.CastIfWillHit(enemy, getSliderItem(qsettings, "q.hit.count"));
                        }
                    }
                    break;
                }
            }
            if (getCheckBoxItem(comboMenu, "w.combo") && Q.IsReady())
            {
                foreach (var enemy in HeroManager.Enemies.Where(x => x.IsValidTarget(W.Range)))
                {
                    W.CastOnUnit(enemy);
                }
            }
        }