Exemple #1
0
 public static void Load(CommonChampion lucian)
 {
     if (KoreanUtils.GetParamKeyBind(lucian.MainMenu, "toggleextendedq"))
     {
         Game.OnUpdate += AutoExtendedQ;
     }
 }
Exemple #2
0
        private void DrawRanges(EventArgs args)
        {
            if (!KoreanUtils.GetParamBool(champion.MainMenu, "drawskillranges"))
            {
                return;
            }

            if (KoreanUtils.GetParamKeyBind(champion.MainMenu, "flashult") && (spells.R.IsReady()) &&
                (FlashSpell.Flash(champion.Player).IsReady))
            {
                Render.Circle.DrawCircle(champion.Player.Position, champion.Spells.RFlash.Range, Color.DarkGreen, 5);
            }
            else if (spells.Q.IsReady() && spells.Q.CanCast())
            {
                Render.Circle.DrawCircle(champion.Player.Position, spells.Q.Range, Color.DarkGreen, 5);
            }
            else if (spells.W.IsReady() && spells.W.CanCast())
            {
                Render.Circle.DrawCircle(champion.Player.Position, spells.W.Range, Color.DarkGreen, 5);
            }
            else if (spells.R.IsReady() && spells.R.CanCast())
            {
                Render.Circle.DrawCircle(champion.Player.Position, spells.R.Range, Color.DarkGreen, 5);
            }
        }
Exemple #3
0
 private void LoadLambdaExpressions()
 {
     ParamName       = s => KoreanUtils.ParamName(MainMenu, s);
     GetParamBool    = s => KoreanUtils.GetParamBool(MainMenu, s);
     SetValueBool    = (s, b) => KoreanUtils.SetValueBool(MainMenu, s, b);
     GetParamSlider  = s => KoreanUtils.GetParamSlider(MainMenu, s);
     GetParamKeyBind = s => KoreanUtils.GetParamKeyBind(MainMenu, s);
     CanFarm         =
         () =>
         (!GetParamBool("supportmode")) ||
         ((GetParamBool("supportmode")) && (Player.CountAlliesInRange(1500f) == 1));
     CheckStun = () => Player.HasBuff("pyromania_particle");
     SaveStun  = () => (CheckStun() && (GetParamBool("savestunforcombo")));
 }
Exemple #4
0
        private void Game_OnUpdate(EventArgs args)
        {
            if (choGath.Spells.R.IsReady() && flash.IsReady && KoreanUtils.GetParamKeyBind(choGath.MainMenu, "flashult"))
            {
                AIHeroClient target =
                    HeroManager.Enemies.FirstOrDefault(
                        champ =>
                        choGath.Spells.RFlash.Range - 20f >= choGath.Player.Distance(champ) &&
                        choGath.Spells.R.GetDamage(champ) > champ.Health + 20f);

                if (target != null)
                {
                    choGath.Player.Spellbook.CastSpell(flash.Slot, target.Position);
                    Utility.DelayAction.Add(50, () => choGath.Spells.R.Cast(target.Position));
                }

                if (KoreanUtils.GetParamBool(choGath.MainMenu, "orbwalktoflashult"))
                {
                    choGath.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPosRaw);
                }
                choGath.ChoGathOrbwalker.ComboMode();
            }
        }
Exemple #5
0
        public override void HarasMode()
        {
            lock (lockObject)
            {
                AIHeroClient target;

                if (Q.UseOnHaras && Q.IsReady() && Q.CanCast() && HaveManaToHaras())
                {
                    if (!KoreanUtils.GetParamKeyBind(champion.MainMenu, "toggleextendedq"))
                    {
                        if (champion.CastExtendedQ(true))
                        {
                            ProcessSpell();
                        }
                    }

                    if (!CheckPassive())
                    {
                        target = TargetSelector.GetTarget(champion.Player, Q.Range, TargetSelector.DamageType.Physical);

                        if (!CheckHaras(target))
                        {
                            return;
                        }

                        if (target != null && Q.IsReadyToCastOn(target) && Q.CanCast(target))
                        {
                            if (Q.CastOnUnit(target))
                            {
                                ProcessSpell();
                            }
                        }
                    }
                }

                if (W.UseOnHaras && !CheckPassive() && HaveManaToHaras() && W.IsReady() && W.CanCast())
                {
                    target = TargetSelector.GetTarget(champion.Player, W.Range, TargetSelector.DamageType.Physical);

                    if (!CheckHaras(target))
                    {
                        return;
                    }

                    if (target != null &&
                        target.Distance(champion.Player) <= Orbwalking.GetRealAutoAttackRange(champion.Player))
                    {
                        if (W.Cast(target.Position))
                        {
                            ProcessSpell();
                        }
                    }
                    else
                    {
                        PredictionOutput wPrediction = W.GetPrediction(target);

                        if (wPrediction != null && wPrediction.Hitchance >= HitChance.High &&
                            wPrediction.CastPosition != Vector3.Zero)
                        {
                            if (W.Cast(wPrediction.CastPosition))
                            {
                                ProcessSpell();
                            }
                        }
                    }
                }

                if (E.UseOnHaras && lucian.semiAutomaticE.Holding && E.IsReady() && E.CanCast() && !CheckPassive() &&
                    ((E.Instance.SData.Mana > 0 && HaveManaToHaras()) || E.Instance.SData.Mana.Equals(0f)))
                {
                    target = TargetSelector.GetTarget(
                        champion.Player,
                        E.Range + Orbwalking.GetRealAutoAttackRange(champion.Player),
                        TargetSelector.DamageType.Physical);

                    if (!CheckHaras(target))
                    {
                        return;
                    }

                    if (target != null && lucian.semiAutomaticE.Cast(target))
                    {
                        ProcessSpell();
                    }
                }
            }
        }