예제 #1
0
        private static void UseW()
        {
            if (Player.HealthPercent <= Misc.GetSlider("Healing.MinHPME") || Misc.Active("onlywincdmg"))
            {
                return;
            }

            if (Spells[SpellSlot.W].IsReady())
            {
                var alliesinneed =
                    HeroManager.Allies.Where(
                        hero => !hero.IsMe && !hero.IsDead && (!Misc.Active("Misc.Nohealshop") || !hero.InShop()) && !hero.IsZombie && hero.Distance(Player) <= Spells[SpellSlot.W].Range &&
                        Misc.Active("w" + hero.ChampionName) &&
                        hero.HealthPercent <= Misc.GetSlider("wpct" + hero.ChampionName) && hero.HealthPercent >= Misc.GetSlider("Healing.MinHP"))
                    .ToList();

                if (Misc.Active("wonlyadc") && alliesinneed.Any(x => x.NetworkId == myADC.NetworkId))
                {
                    Spells[SpellSlot.W].CastOnUnit(myADC);
                }

                else if (!Misc.Active("wonlyadc"))
                {
                    AIHeroClient allytoheal = null;

                    allytoheal = SorakaMenu.PriorityType() == SorakaMenu.HealPriority.PriorityList ? alliesinneed.MaxOrDefault(h => h.GetSetPriority()) : alliesinneed.MinOrDefault(x => x.HealthPercent);

                    if (allytoheal != null)
                    {
                        Spells[SpellSlot.W].CastOnUnit(allytoheal);
                    }
                }
            }
        }
예제 #2
0
        private static void UseW()
        {
            if (Spells[SpellSlot.W].IsReady())
            {
                var alliesinneed =
                    HeroManager.Allies.Where(
                        hero => !hero.IsMe &&
                        !hero.IsDead && (!Misc.Active("Misc.Nohealshop") || !hero.InShop()) && !hero.IsZombie && hero.Distance(Player) <= Spells[SpellSlot.W].Range &&
                        Misc.Active("w" + hero.ChampionName) &&
                        hero.HealthPercent <= Misc.GetSlider("wpct" + hero.ChampionName))
                    .ToList();

                if (Misc.Active("wonlyadc") && alliesinneed.Contains(myADC) && Player.Distance(myADC) <= Spells[SpellSlot.W].Range)
                {
                    Spells[SpellSlot.W].CastOnUnit(myADC);
                }

                else if (!Misc.Active("wonlyadc"))
                {
                    Obj_AI_Hero allytoheal = null;

                    allytoheal = SorakaMenu.PriorityType() == SorakaMenu.HealPriority.PriorityList ? alliesinneed.MaxOrDefault(h => h.GetSetPriority()) : alliesinneed.MinOrDefault(x => x.HealthPercent);

                    if (allytoheal != null)
                    {
                        Spells[SpellSlot.W].CastOnUnit(allytoheal);
                    }
                }
            }
        }
예제 #3
0
        private static void AutoUltIgniteADC()
        {
            var sethealth = Misc.GetSlider("adcignitedhealth");

            if (Spells[SpellSlot.R].IsReady() && myADC.HasBuff("summonerdot") && myADC.HealthPercent <= sethealth)
            {
                Spells[SpellSlot.R].Cast();
            }
        }
예제 #4
0
        static void DangerDetector(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            var ally = args.Target as Obj_AI_Hero;

            if (sender.IsChampion() && sender.Team != Player.Team && ally != null && ally.IsAlly && (!Misc.Active("Misc.Nohealshop") || !ally.InShop()))
            {
                if (Misc.Active("Healing.UseW"))
                {
                    if (Misc.Active("w" + ally.ChampionName) && !ally.IsMe && !ally.IsZombie &&
                        ally.Distance(Player) <= Spells[SpellSlot.W].Range)
                    {
                        var damage   = sender.GetSpellDamage(ally, args.SData.Name);
                        var afterdmg = ((ally.Health - damage) / (ally.MaxHealth)) * 100f;
                        if (ally.HealthPercent < Misc.GetSlider("wpct" + ally.ChampionName) ||
                            Misc.Active("wcheckdmgafter") && afterdmg < Misc.GetSlider("wpct" + ally.ChampionName))
                        {
                            if (Misc.Active("wonlyadc") &&
                                (ally == myADC || myADC.HealthPercent <= Misc.GetSlider("wpct" + myADC.ChampionName)))
                            {
                                Spells[SpellSlot.W].CastOnUnit(myADC);
                            }
                            else if (!Misc.Active("wonlyadc"))
                            {
                                Spells[SpellSlot.W].CastOnUnit(ally);
                            }
                        }
                    }
                }
                if (Misc.Active("Healing.UseR") && Misc.Active("r" + ally.ChampionName) && !ally.IsZombie)
                {
                    var damage   = sender.GetSpellDamage(ally, args.SData.Name);
                    var afterdmg = ((ally.Health - damage) / (ally.MaxHealth)) * 100f;
                    if (ally.HealthPercent < Misc.GetSlider("rpct" + ally.ChampionName) || (Misc.Active("rcheckdmgafter") && afterdmg < Misc.GetSlider("rpct" + ally.ChampionName)))
                    {
                        var otherallies = HeroManager.Allies.Where(x => x != ally && Misc.Active("r" + x.ChampionName) && Misc.GetSlider("rpct" + x.ChampionName) > x.HealthPercent);

                        var count = otherallies.Count() + 1;

                        if (count >= Misc.GetSlider("minallies"))
                        {
                            if (Misc.Active("ultonlyadc") && (ally == myADC || myADC.HealthPercent <= Misc.GetSlider("rpct" + myADC.ChampionName)))
                            {
                                Spells[SpellSlot.R].Cast();
                            }

                            else if (!Misc.Active("ultonlyadc"))
                            {
                                Spells[SpellSlot.R].Cast();
                            }
                        }
                    }
                }
            }
        }
예제 #5
0
 static void UseMikaels()
 {
     if (mikaels.IsReady())
     {
         foreach (
             var ally in
             HeroManager.Allies.Where(
                 x =>
                 !x.IsMe && x.Distance(Player) <= 750 &&
                 x.GetSetPriority() == Misc.GetSlider("Priorities.Mikaels")))
         {
             if (ally.HasBuffOfType(BuffType.Fear) || ally.HasBuffOfType(BuffType.Stun) ||
                 ally.HasBuffOfType(BuffType.Taunt) ||
                 (ally.HasBuffOfType(BuffType.Blind) && ally.NetworkId == myADC.NetworkId) ||
                 ally.HasBuffOfType(BuffType.Polymorph) || ally.HasBuffOfType(BuffType.Snare))
             {
                 mikaels.Cast(ally);
             }
         }
     }
 }
예제 #6
0
        private static void UltDefault()
        {
            List <AIHeroClient> alliesinneed = HeroManager.Allies.Where(
                hero =>
                !hero.IsDead && !hero.IsZombie && (!Misc.Active("Misc.Nohealshop") || !hero.InShop()) && hero.Distance(Player) <= Spells[SpellSlot.W].Range &&
                hero.HealthPercent <= Misc.GetSlider("rpct" + hero.ChampionName) && hero.HealthPercent >= Misc.GetSlider("Healing.MinHP"))
                                               .ToList();

            if (alliesinneed.Count >= Misc.GetSlider("minallies"))
            {
                if (Misc.Active("ultonlyadc") && alliesinneed.Any(x => x.NetworkId == myADC.NetworkId))
                {
                    Spells[SpellSlot.R].Cast();
                }

                else if (!Misc.Active("ultonlyadc"))
                {
                    Spells[SpellSlot.R].Cast();
                }
            }
        }
예제 #7
0
        private static void UltDefault()
        {
            List <Obj_AI_Hero> alliesinneed = HeroManager.Allies.Where(
                hero =>
                !hero.IsDead && !hero.IsZombie && hero.Distance(Player) <= Spells[SpellSlot.W].Range &&
                hero.HealthPercent <= Misc.GetSlider("rpct" + hero.ChampionName))
                                              .ToList();

            if (alliesinneed.Count >= Misc.GetSlider("minallies"))
            {
                if (Misc.Active("ultonlyadc") && alliesinneed.Contains(myADC))
                {
                    Spells[SpellSlot.R].Cast();
                }

                else if (!Misc.Active("ultonlyadc"))
                {
                    Spells[SpellSlot.R].Cast();
                }
            }
        }
예제 #8
0
        private static void UltAdvanced()
        {
            List <Obj_AI_Hero> alliesinneed = HeroManager.Allies.Where(
                hero =>
                !hero.IsDead && !hero.IsZombie && (!Misc.Active("Misc.Nohealshop") || !hero.InShop()) && hero.Distance(Player) <= Spells[SpellSlot.W].Range && Misc.Active("r" + hero.ChampionName) &&
                hero.HealthPercent <= Misc.GetSlider("rpct" + hero.HealthPercent))
                                              .ToList();

            var indanger = alliesinneed.Count(x => x.CountEnemiesInRange(600) > 0);

            if (alliesinneed.Count >= Misc.GetSlider("minallies") && indanger >= 1)
            {
                if (Misc.Active("ultonlyadc") && alliesinneed.Contains(myADC))
                {
                    Spells[SpellSlot.R].Cast();
                }

                else if (!Misc.Active("ultonlyadc"))
                {
                    Spells[SpellSlot.R].Cast();
                }
            }
        }
예제 #9
0
 static void Harass(AIHeroClient target)
 {
     if (SorakaMenu.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
     {
         return;
     }
     if (Spells[SpellSlot.Q].IsReady() && Misc.Active("Harass.UseQ") && Player.ManaPercent > Misc.GetSlider("Harass.Mana") && target.Distance(Player) < Spells[SpellSlot.Q].Range)
     {
         var pred = Spells[SpellSlot.Q].GetPrediction(target, true);
         if (pred.Hitchance >= Misc.GetHitChance("Hitchance.Q"))
         {
             Spells[SpellSlot.Q].Cast(pred.CastPosition);
         }
     }
     if (Spells[SpellSlot.E].IsReady() && Misc.Active("Harass.UseE") && target.Distance(Player) < Spells[SpellSlot.E].Range)
     {
         var pred = Spells[SpellSlot.E].GetPrediction(target, true);
         if (pred.Hitchance >= Misc.GetHitChance("Hitchance.E"))
         {
             Spells[SpellSlot.E].Cast(pred.CastPosition);
         }
     }
 }
예제 #10
0
 static void Harass(Obj_AI_Hero target)
 {
     if (Spells[SpellSlot.Q].IsReady() && Misc.Active("Harass.UseQ") && Player.ManaPercent > Misc.GetSlider("Harass.Mana"))
     {
         var pred = Spells[SpellSlot.Q].GetPrediction(target, true);
         if (pred.Hitchance > Misc.GetHitChance("Hitchance.Q"))
         {
             Spells[SpellSlot.Q].Cast(pred.CastPosition);
         }
     }
     if (Spells[SpellSlot.E].IsReady() && Misc.Active("Harass.UseE"))
     {
         var pred = Spells[SpellSlot.E].GetPrediction(target, true);
         if (pred.Hitchance >= Misc.GetHitChance("Hitchance.E"))
         {
             Spells[SpellSlot.E].Cast(pred.CastPosition);
         }
     }
 }
예제 #11
0
        static void Harass(Obj_AI_Hero target)
        {
            if (SorakaMenu.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                return;
            }
            if (Spells[SpellSlot.Q].IsReady() && Misc.Active("Harass.UseQ") && Player.ManaPercent > Misc.GetSlider("Harass.Mana") && target.Distance(Player) < Spells[SpellSlot.Q].Range)
            {
                Spells[SpellSlot.Q].SPredictionCast(target, Misc.GetHitChance("Hitchance.Q"));

                /*
                 * var pred = Spells[SpellSlot.Q].GetPrediction(target, true);
                 * if (pred.Hitchance >= Misc.GetHitChance("Hitchance.Q"))
                 * {
                 *      Spells[SpellSlot.Q].Cast(pred.CastPosition);
                 * }
                 */
            }
            if (Spells[SpellSlot.E].IsReady() && Misc.Active("Harass.UseE") && target.Distance(Player) < Spells[SpellSlot.E].Range)
            {
                Spells[SpellSlot.E].SPredictionCast(target, Misc.GetHitChance("Hitchance.E"), (byte)Misc.GetSlider("Harass.Eminhit"));

                /*
                 * var pred = Spells[SpellSlot.E].GetPrediction(target, true);
                 * if (pred.Hitchance >= Misc.GetHitChance("Hitchance.E"))
                 * {
                 *      Spells[SpellSlot.E].Cast(pred.CastPosition);
                 * }
                 */
            }
        }
예제 #12
0
파일: Soraka.cs 프로젝트: jayblah/Seph
        static void Harass(Obj_AI_Hero target)
        {
            if (Spells[SpellSlot.Q].IsReady() && Misc.Active("Harass.UseQ") && Player.ManaPercent > Misc.GetSlider("Harass.Mana"))
            {
                Spells[SpellSlot.Q].SPredictionCast(target, Misc.GetHitChance("Hitchance.Q"));

                /*
                 * var pred = Spells[SpellSlot.Q].GetPrediction(target, true);
                 * if (pred.Hitchance >= Misc.GetHitChance("Hitchance.Q"))
                 * {
                 *      Spells[SpellSlot.Q].Cast(pred.CastPosition);
                 * }
                 */
            }
            if (Spells[SpellSlot.E].IsReady() && Misc.Active("Harass.UseE"))
            {
                Spells[SpellSlot.E].SPredictionCast(target, Misc.GetHitChance("Hitchance.E"), (byte)Misc.GetSlider("Harass.Eminhit"));

                /*
                 * var pred = Spells[SpellSlot.E].GetPrediction(target, true);
                 * if (pred.Hitchance >= Misc.GetHitChance("Hitchance.E"))
                 * {
                 *      Spells[SpellSlot.E].Cast(pred.CastPosition);
                 * }
                 */
            }
        }