示例#1
0
文件: Misc.cs 项目: Enochen/AIBot
 public static void OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
 {
     if (sender.IsEnemy && !sender.IsMinion && args.EndTime > Soraka.E.CastDelay)
     {
         Soraka.E.Cast(sender);
     }
 }
        public static void Execute(InterruptableSpellEventArgs args)
        {
            if (!HasStun)
            {
                return;
            }

            if (!Interrupter.IsEnabled(args.SpellName))
            {
                return;
            }

            if (R.Ready && RBool.Enabled)
            {
                R.Cast(args.Sender);
                return;
            }

            if (W.Ready && WBool.Enabled)
            {
                W.Cast(args.Sender);
                return;
            }

            if (Q.Ready && QBool.Enabled)
            {
                Q.Cast(args.Sender);
            }
        }
        public override IT4InfoCollectorState GetNextState(IT4TreeNode element)
        {
            switch (element)
            {
            case IT4FeatureBlock:
                return(new T4InfoCollectorStateSeenFeature(Interrupter));

            case IT4ExpressionBlock:
                return(new T4InfoCollectorStateSeenFeatureAndExpressionBlock(Interrupter));

            default:
                if (element.NodeType == T4TokenNodeTypes.NEW_LINE)
                {
                    return(this);
                }
                else if (element.NodeType == T4TokenNodeTypes.RAW_TEXT)
                {
                    return(new T4InfoCollectorStateSeenFeatureAndText(Builder, Interrupter, element));
                }

                var data = T4FailureRawData.FromElement(element, "Unexpected element after feature");
                Interrupter.InterruptAfterProblem(data);
                return(this);
            }
        }
示例#4
0
 private static void OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
 {
     if (sender.IsEnemy && args.DangerLevel == DangerLevel.High && Config.Modes.Misc.UseWint && SpellManager.W.IsReady() && SpellManager.W.IsInRange(sender))
     {
         SpellManager.W.Cast(Player.Instance);
     }
 }
示例#5
0
 private void OnInterruptableSpell(Obj_AI_Base target, Interrupter.InterruptableSpellEventArgs spell)
 {
     if (MiscMenu["Interrupt"].Cast<CheckBox>().CurrentValue && target.IsEnemy)
     {
         // code
     }
 }
		public void ProcessBeforeInterior(ITreeNode element)
		{
			AppendRemainingMessage(element);
			if (!(element is IT4IncludeDirective include)) return;
			var file = (IT4File) element.GetContainingFile().NotNull();
			Results.Push(new T4CSharpCodeGenerationIntermediateResult(file, Interrupter));
			var sourceFile = IncludeResolver.Resolve(include.ResolvedPath);
			if (sourceFile == null)
			{
				var target = include.GetFirstAttribute(T4DirectiveInfoManager.Include.FileAttribute)?.Value ?? element;
				var data = T4FailureRawData.FromElement(target, $"Unresolved include: {target.GetText()}");
				Interrupter.InterruptAfterProblem(data);
				Guard.StartProcessing(file.LogicalPsiSourceFile.GetLocation());
				return;
			}

			if (include.Once && Guard.HasSeenFile(sourceFile.GetLocation())) return;
			if (!Guard.CanProcess(sourceFile.GetLocation()))
			{
				var target = include.GetFirstAttribute(T4DirectiveInfoManager.Include.FileAttribute)?.Value ?? element;
				var data = T4FailureRawData.FromElement(target, "Recursion in includes");
				Interrupter.InterruptAfterProblem(data);
				Guard.StartProcessing(sourceFile.GetLocation());
				return;
			}

			var resolved = include.IncludedFile;
			Guard.StartProcessing(sourceFile.GetLocation());
			resolved?.ProcessDescendants(this);
		}
示例#7
0
 private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
 {
     if (Settings.interruptE && !sender.IsDead && !sender.IsInvulnerable && !sender.IsZombie && sender.IsEnemy && e.DangerLevel >= DangerLevel.Medium && sender.IsInRange(Player.Instance, SpellManager.E.Range) && SpellManager.E.IsReady())
     {
         SpellManager.E.Cast(sender);
     }
 }
示例#8
0
 private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
 {
     if (Settings.useEInterrupt && sender.IsValidTarget() && sender.IsEnemy && e.DangerLevel >= Settings.interruptDangerLvl)
     {
         SpellManager.E.Cast(sender.Position);
     }
 }
示例#9
0
            static Settings()
            {
                Menu0 = Config.Menu.AddSubMenu("Draw");
                Draw.Initialize();

                Menu1 = Config.Menu.AddSubMenu("Anti-Gapcloser");
                AntiGapcloser.Initialize();

                Menu2 = Config.Menu.AddSubMenu("Interrupter");
                Interrupter.Initialize();

                Menu3 = Config.Menu.AddSubMenu("Items");
                Items.Initialize();

                Menu4 = Config.Menu.AddSubMenu("Auto-Shield");
                AutoShield.Initialize();

                Menu5 = Config.Menu.AddSubMenu("Combo");
                Combo.Initialize();

                Menu6 = Config.Menu.AddSubMenu("Flee");
                Flee.Initialize();

                Menu7 = Config.Menu.AddSubMenu("Harass");
                Harass.Initialize();

                Menu8 = Config.Menu.AddSubMenu("Humanizer");
                Humanizer.Initialize();

                Menu9 = Config.Menu.AddSubMenu("Skin Hack");
                SkinHack.Initialize();
            }
示例#10
0
 public static void Interrupter_OnInterruptableSpell(Obj_AI_Base unit, Interrupter.InterruptableSpellEventArgs spell)
 {
     float getDist = EloBuddy.SDK.Extensions.Distance(_Player, unit) / 2.0f; // formula of swag
     if (Program.MiscMenu["interrupt"].Cast<CheckBox>().CurrentValue && Program.W.IsReady() && Program.Q.IsReady() && unit.IsValidTarget(Program.W.Range))
     {
         if (unit.IsValidTarget(220))
         {
             Program.W.Cast(unit);
             Program.Q.Cast();
         }
         else
         {
             Program.W.Cast(unit);
             EloBuddy.SDK.Core.DelayAction(() => { Program.Q.Cast(); }, (int)getDist);
         }
     }
     if (Program.MiscMenu["interrupt"].Cast<CheckBox>().CurrentValue && Program.Q.IsReady())
     {
         if (unit.Distance(_Player.ServerPosition, true) <= Program.Q.Range)
         {
             Program.Q.Cast(unit);
         }
     }
     if (Program.MiscMenu["interrupt"].Cast<CheckBox>().CurrentValue && Program.W.IsReady())
     {
         if (unit.Distance(_Player.ServerPosition, true) <= Program.W.Range)
         {
             Program.W.Cast(unit);
         }
     }
 }
示例#11
0
 private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
 {
     if (sender.IsEnemy && SpellManager.E.IsReady() && e.DangerLevel >= DangerLevel.High && sender.HealthPercent > 0 && Config.ESettings.interruptE && sender.IsInRange(Player.Instance, SpellManager.E.Range))
     {
         SpellManager.E.Cast(sender);
     }
 }
        public override string ProduceBeforeEof()
        {
            var data = T4FailureRawData.FromElement(FirstElement, "Unexpected element after feature");

            Interrupter.InterruptAfterProblem(data);
            return(Builder.ToString());
        }
示例#13
0
        public override IT4InfoCollectorState GetNextState(IT4TreeNode element)
        {
            switch (element)
            {
            case IT4FeatureBlock _:
                return(new T4InfoCollectorStateSeenFeature(Interrupter));

            case IT4ExpressionBlock _:
                return(this);

            default:
                if (element.NodeType == T4TokenNodeTypes.NEW_LINE)
                {
                    var builder = new StringBuilder(StringLiteralConverter.EscapeToRegular(Environment.NewLine));
                    return(new T4InfoCollectorStateSeenFeatureAndText(builder, Interrupter, element));
                }
                else if (element.NodeType == T4TokenNodeTypes.RAW_TEXT)
                {
                    var builder = new StringBuilder(Convert(LastToken));
                    return(new T4InfoCollectorStateSeenFeatureAndText(builder, Interrupter, element));
                }

                var data = T4FailureRawData.FromElement(element, "Unexpected element after feature");
                Interrupter.InterruptAfterProblem(data);
                return(this);
            }
        }
            static Settings()
            {
                Menu = Config.Menu.AddSubMenu("Settings");

                Draw.Initialize();
                Menu.AddSeparator(13);

                AntiGapcloser.Initialize();
                Menu.AddSeparator(13);

                Interrupter.Initialize();
                Menu.AddSeparator(13);

                Items.Initialize();
                Menu.AddSeparator(13);

                AutoShield.Initialize();
                Menu.AddSeparator(13);

                Combo.Initialize();
                Menu.AddSeparator(13);

                Flee.Initialize();
                Menu.AddSeparator(13);

                Harass.Initialize();
                Menu.AddSeparator(13);
            }
示例#15
0
 private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
 {
     if (UltimateMenu["ultimateinterruptt"].Cast<CheckBox>().CurrentValue)
     if (sender.IsValidTarget(Program.R.Range))
         if (Program.R.IsReady())
             Program.R.Cast(sender);
 }
示例#16
0
 private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
 {
     if (MenuManager.MiscMenu.GetCheckBoxValue("Interrupter"))
     {
         SpellManager.CastE(sender);
     }
 }
示例#17
0
        private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender,
            Interrupter.InterruptableSpellEventArgs e)
        {
            if (!Menu.Misc.InterruptR || !Spells.R.IsReady() || !sender.IsEnemy || sender.HasBuff("xenzhaointimidate"))
            {
                return;
            }

            if (sender.IsValidTarget(Spells.R.Range))
            {
                Utility.Debug(string.Format("Used R on {0} (OnInterruptableSpell).",
                    ((AIHeroClient) sender).ChampionName));
                Spells.R.Cast(sender.Position);
            }
            else
            {
                var erManaCost = Spells.E.Handle.SData.Mana + Spells.R.Handle.SData.Mana;
                if (Spells.E.IsReady() && sender.IsValidTarget(Spells.E.Range) && Player.Instance.Mana >= erManaCost)
                {
                    Utility.Debug(string.Format("Used E on {0} (OnInterruptableSpell).",
                        ((AIHeroClient) sender).ChampionName));
                    Spells.E.Cast(sender);
                }
            }
        }
示例#18
0
 private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender,
     Interrupter.InterruptableSpellEventArgs e)
 {
     if (sender.IsValidTarget() && sender.IsEnemy)
     {
     }
 }
示例#19
0
        private static void OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
        {
            if (!sender.IsEnemy)
            { return; }

            if (e.DangerLevel == DangerLevel.High)
            {
                if (Settings3.RInterruptDangerous && SpellManager.R.IsReady() && SpellManager.R.IsInRange(sender) && Player.Instance.Mana >= 100)
                {
                    SpellManager.R.Cast();
                }
                else
                {
                    if (Settings3.QInterruptDangerous && SpellManager.Q.IsReady() && SpellManager.Q.IsInRange(sender))
                    {
                        SpellManager.Q.Cast(sender.Position);
                    }
                }
            }
            else
            {
                if (Settings3.QInterrupt && SpellManager.Q.IsReady() && SpellManager.Q.IsInRange(sender))
                {
                    SpellManager.Q.Cast(sender.Position);
                }
            }
        }
示例#20
0
 private static void OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
 {
     if (sender.IsValidTarget() && args.DangerLevel > DangerLevel.Medium && Settings.UseQOnInterruptable)
     {
         SpellManager.Q.Cast(sender);
     }
 }
示例#21
0
        public override IT4InfoCollectorState GetNextState(IT4TreeNode element)
        {
            switch (element)
            {
            case IT4FeatureBlock _: return(this);

            case IT4ExpressionBlock _:
                return(new T4InfoCollectorStateSeenFeatureAndExpressionBlock(Interrupter));

            default:
                if (element.NodeType == T4TokenNodeTypes.NEW_LINE)
                {
                    return(new T4InfoCollectorStateSeenFeatureAndNewLine(Interrupter));
                }
                else if (element.NodeType == T4TokenNodeTypes.RAW_TEXT)
                {
                    // At this point, LastToken is initialized through ConsumeTokenSafe call
                    var builder = new StringBuilder(Convert(LastToken));
                    return(new T4InfoCollectorStateSeenFeatureAndText(builder, Interrupter, element));
                }

                var data = T4FailureRawData.FromElement(element, "Unexpected element after feature");
                Interrupter.InterruptAfterProblem(data);
                return(this);
            }
        }
示例#22
0
 public static void InterruptMode(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
 {
     if (!MenuManager.SettingMenu["Interruptmode"].Cast<CheckBox>().CurrentValue) return;
     if (sender != null && !sender.IsUnderEnemyturret())
     {
         if (MenuManager.SettingMenu["EQinterrupt"].Cast<CheckBox>().CurrentValue
             && args.DangerLevel < DangerLevel.High)
         {
             var target = TargetManager.GetChampionTarget(SpellManager.E.Range, DamageType.Magical);
             if (target != null)
             {
                 SpellManager.CastE(target);
                 if (Orbwalker.CanAutoAttack)
                     Orbwalker.ForcedTarget = target;
                 if (!target.HasBuff("leonazenithbladeroot")
                     && Champion.IsInAutoAttackRange(target))
                 {
                     SpellManager.CastQ(target);
                     Orbwalker.ResetAutoAttack();
                     if (Orbwalker.CanAutoAttack)
                         Player.IssueOrder(GameObjectOrder.AttackTo, target);
                 }
             }
         }
         if (MenuManager.SettingMenu["Rinterrupt"].Cast<CheckBox>().CurrentValue
             && args.DangerLevel >= DangerLevel.High)
         {
             var target = TargetManager.GetChampionTarget(SpellManager.E.Range, DamageType.Magical);
             if (target != null)
             {
                 SpellManager.CastR(target);
             }
         }
     }
 }
示例#23
0
 static void Main(string[] args)
 {
     Console.WriteLine("Azir Injected Succesfully");
     Bootstrap.Init(null);
     Interrupter.Initialize();
     Loading.OnLoadingComplete += Loading_OnLoadingComplete;
 }
示例#24
0
 private static void InterrupterOnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs interruptableSpellEventArgs)
 {
     if (SettingsMisc.InterruptR && SpellManager.R.IsReady() && sender.IsEnemy && sender.IsValidTarget(SpellManager.R.Range))
     {
         SpellManager.R.Cast(sender);
         Debug.WriteChat("Interrupting spell from {0}", ((AIHeroClient)sender).ChampionName);
     }
 }
示例#25
0
 public static void Interupt(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
 {
     if (!sender.IsEnemy) return;
     if (e.DangerLevel == DangerLevel.High && FiddleTheTrollMeNu.InterupteQ())
     {
         Q.Cast(sender);
     }
 }
示例#26
0
 private static void OnInterruptibleSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
 {
     if (args.DangerLevel > DangerLevel.Medium && sender.IsEnemy && sender.IsValidTarget(SpellManager.W.Range)
         && SpellManager.W.IsReady())
     {
         SpellManager.W.Cast(sender);
     }
 }
示例#27
0
     public void Interrupter_OnInterruptableSpell(Obj_AI_Base sender,
 Interrupter.InterruptableSpellEventArgs e)
     {
         if (ShouldGetExecuted() && Extensions.IsValidTarget(e.Sender) && e.DangerLevel == EloBuddy.SDK.Enumerations.DangerLevel.High)
         {
             Manager.SpellManager.E.Cast(e.Sender);
         }
     }
示例#28
0
        private static void OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
        {
            if (!sender.IsEnemy || e.DangerLevel != DangerLevel.High ||
                !MenuDesigner.MiscUi.Get<CheckBox>("InterW").CurrentValue || !W.IsReady() || !E.IsInRange(sender))
                return;

            W.Cast(sender);
        }
示例#29
0
        private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
        {
            if (!SpellManager.Q.IsReady() || !Config.Misc.Menu.GetCheckBoxValue("Config.Misc.Another.Interrupter") || !sender.IsValidTarget(Player.Instance.GetAutoAttackRange())) return;

            SpellManager.Q.Cast();
            Orbwalker.ResetAutoAttack();
            Core.DelayAction(() => Player.IssueOrder(GameObjectOrder.AttackTo, sender), Config.Misc.Menu.GetSliderValue("Config.Misc.Another.Delay"));
        }
示例#30
0
 static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
 {
     if (Checker.AntiGapCloser && sender.IsEnemy && Spells.W.IsReady()
         && sender.Distance(Ryze.ServerPosition) < Spells.W.Range)
     {
         Spells.W.Cast(sender);
     }
 }
示例#31
0
 public static void Interrupt(Obj_AI_Base sender,
     Interrupter.InterruptableSpellEventArgs e)
 {
     if (e != null && Program.Q3.IsReady() && Variables.Q3READY(Variables._Player) && sender.IsValidTarget(Program.Q3.Range) && MenuManager.MiscMenu["InterruptQ"].Cast<CheckBox>().CurrentValue)
     {
         Program.Q3.Cast(sender);
     }
 }
示例#32
0
 public static void Interrupt(Obj_AI_Base sender,
     Interrupter.InterruptableSpellEventArgs e)
 {
     if (e != null && Program.Q2.IsReady() && Variables.HaveQ3 && sender.IsValidTarget(Program.Q2.Range) && MenuManager.MiscMenu["InterruptQ"].Cast<CheckBox>().CurrentValue)
     {
         Program.Q2.Cast(sender.ServerPosition);
     }
 }
示例#33
0
 internal static void OnInterruptable(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
 {
     Obj_AI_Base target = sender;
     if (target == null) return;
     if (!SpellManager.Q.IsReady() && !SpellManager.W.IsReady()) return;
     if (Settings.UseQ && SpellManager.Q.IsInRange(target) && SpellManager.Q.IsReady()) { SpellManager.Q.Cast(); return; }
     if (Settings.UseW && SpellManager.W.IsInRange(target) && SpellManager.W.IsReady()) { SpellManager.W.Cast(target); return; }
     return;
 }
示例#34
0
 private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender,
     Interrupter.InterruptableSpellEventArgs args)
 {
     var intTarget = TargetSelector.GetTarget(Player.Instance.GetAutoAttackRange(), DamageType.Physical);
     {
         if (W.IsReady() && sender.IsValidTarget(W.Range) && MiscMenu["intw"].Cast<CheckBox>().CurrentValue)
             W.Cast(intTarget);
     }
 }
示例#35
0
 private static void OnInterruptableSpell(Obj_AI_Base enemy, Interrupter.InterruptableSpellEventArgs e)
 {
     if(Config.Skills.NinjaInteruption)
         if (e.Sender.IsEnemy && SpellManager.R.IsInRange(e.Sender) && e.Sender.IsFacing(Player.Instance) && e.DangerLevel == EloBuddy.SDK.Enumerations.DangerLevel.High)
         {
             Random rnd = new Random();
             Core.DelayAction(() => SpellManager.R.Cast(e.Sender), rnd.Next(0, 367));
         }
 }
示例#36
0
        private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
        {
            if (!sender.IsEnemy) return;

            if (e.DangerLevel == DangerLevel.High && sender.IsValidTarget(SpellManager.QE.Range) && Player.Instance.ManaPercent >= Settings.MiscMana && Settings.InterruptSpell)
            {
                Functions.QE(sender.Position);
            }
        }
示例#37
0
 private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
 {
     if (!sender.IsValidTarget()) return;
     if (MenuManager.MiscMenu.GetCheckBoxValue("Interrupter"))
     {
         SpellManager.Pull(sender);
         SpellManager.CastQ(sender);
     }
 }
示例#38
0
        private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
        {
            if (!sender.IsEnemy) return;

            if (e.DangerLevel == DangerLevel.High)
            {
                SpellManager.E.Cast(sender);
            }
        }
示例#39
0
        private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
        {
            if (!sender.IsEnemy || !Settings.InterruptSpell || e.DangerLevel != DangerLevel.High) return;

            if (sender.IsValidTarget(SpellManager.Q.Range) && Player.Instance.ManaPercent >= Settings.MiscMana)
            {
                SpellManager.Q.Cast(sender);
            }
        }
        protected virtual void OnAlgorithmStarted(object sender, EventArgs e)
        {
            interrupter = new Interrupter(DelayTime);
            string message = $"Algorithm {AlgorithmKey} was started. ";

            message += $"Start vertex: {endPoints.Source.GetInforamtion()};";
            message += $"End vertex: {endPoints.Target.GetInforamtion()}";
            log.Info(message);
            timer.Reset();
            timer.Start();
        }
示例#41
0
 //limitation methods
 public virtual void CountSendAttempt(SignalDispatch <TKey> dispatch,
                                      ProcessingResult result, DispatcherAvailability availability)
 {
     if (result == ProcessingResult.Success)
     {
         AvailableLimitCapacity--;
         LimitCounter.InsertTime();
         Interrupter.Success(dispatch);
     }
     else if (result == ProcessingResult.Fail)
     {
         AvailableLimitCapacity--;
         LimitCounter.InsertTime();
         Interrupter.Fail(dispatch, availability);
     }
 }
示例#42
0
        //IDisposable
        public virtual void Dispose()
        {
            if (Dispatcher != null)
            {
                Dispatcher.Dispose();
            }

            if (LimitCounter != null)
            {
                LimitCounter.Dispose();
            }

            if (Interrupter != null)
            {
                Interrupter.Dispose();
            }
        }
        public override IT4InfoCollectorState GetNextState(IT4TreeNode element)
        {
            switch (element)
            {
            case IT4FeatureBlock _:
                return(new T4InfoCollectorStateSeenFeature(Interrupter));

            case IT4ExpressionBlock _:
                return(new T4InfoCollectorStateSeenFeatureAndExpressionBlock(Interrupter));

            case IT4Token _: return(this);

            default:
                var data = T4FailureRawData.FromElement(FirstElement, "Unexpected element after feature");
                Interrupter.InterruptAfterProblem(data);
                return(this);
            }
        }
示例#44
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }
            if (isEnemyInRange()) // If an enemy is in range and im ultimating - dont cancel the ult before their dead
            {
                if (Interrupter.IsChannelingImportantSpell(ObjectManager.Player))
                {
                    return;
                }
            }
            if (!isEnemyInRange() && Interrupter.IsChannelingImportantSpell(ObjectManager.Player)) // If the ult isnt hitting anyone
            {
                ObjectManager.Player.IssueOrder(GameObjectOrder.MoveTo, ObjectManager.Player);     // Cancels ult
            }
            Orbwalker.SetAttacks(true);
            Orbwalker.SetMovement(true);
            var useQKS = Config.Item("KillstealQ").GetValue <bool>() && Q.IsReady();

            if (Config.Item("ComboActive").GetValue <KeyBind>().Active)
            {
                Combo();
            }
            if (useQKS)
            {
                Killsteal();
            }
            if (Config.Item("FreezeActive").GetValue <KeyBind>().Active)
            {
                Farm();
            }
            if (Config.Item("Waveclear").GetValue <KeyBind>().Active)
            {
                WaveClear();
            }
            escape();
        }
示例#45
0
            static Settings()
            {
                Menu0 = Menu.AddSubMenu("Draw");
                Draw.Initialize();

                Menu1 = Menu.AddSubMenu("Anti-Gapcloser");
                AntiGapcloser.Initialize();

                Menu2 = Menu.AddSubMenu("Interrupter");
                Interrupter.Initialize();

                Menu3 = Menu.AddSubMenu("Items");
                Items.Initialize();

                Menu4 = Menu.AddSubMenu("Auto-Shield");
                AutoShield.Initialize();

                Menu5 = Menu.AddSubMenu("Combo");
                Combo.Initialize();

                Menu6 = Menu.AddSubMenu("Flee");
                Flee.Initialize();

                Menu7 = Menu.AddSubMenu("Harass");
                Harass.Initialize();

                Menu10 = Menu.AddSubMenu("Lane Clear");
                LaneClear.Initialize();

                Menu11 = Menu.AddSubMenu("Jungle Clear");
                JungleClear.Initialize();

                Menu8 = Menu.AddSubMenu("Humanizer");
                Humanizer.Initialize();

                Menu9 = Menu.AddSubMenu("Skin Hack");
                SkinHack.Initialize();
            }
示例#46
0
        public static void CallMenu()
        {
            Cassop = MainMenu.AddMenu("Cassiopeia", "cass");
            Cassop.AddGroupLabel("Cassiopeia by mztikk");

            Combo = Cassop.AddSubMenu("Combo", "combo");
            Combo.AddGroupLabel("Options for Combo");
            Combo.Add("useQInCombo", new CheckBox("Use Q"));
            Combo.Add("useWInCombo", new CheckBox("Use W"));
            Combo.Add("useEInCombo", new CheckBox("Use E"));
            Combo.Add("useRInCombo", new CheckBox("Use R"));
            Combo.Add("comboEonP", new CheckBox("E only on poisoned"));
            Combo.Add("humanEInCombo", new CheckBox("Humanize E casts"));
            Combo.Add("comboWonlyCD", new CheckBox("W only on Q CD and no Poison"));
            Combo.Add("comboMinR", new Slider("Min enemis to hit for R", 3, 1, 5));
            Combo.Add("comboNoAA", new CheckBox("Disable AA on Heroes in Combo", false));
            Combo.AddGroupLabel("Options for Flash R Combo");
            Combo.Add("comboFlashR", new CheckBox("Flash R Combo on killable", false));
            Combo.Add("maxEnFlash", new Slider("Max enemies around target to Flash R", 2, 0, 4));

            Harass = Cassop.AddSubMenu("Harass", "harass");
            Harass.AddGroupLabel("Options for Harass");
            Harass.Add("useQInHarass", new CheckBox("Use Q"));
            Harass.Add("useWInHarass", new CheckBox("Use W", false));
            Harass.Add("useEInHarass", new CheckBox("Use E"));
            Harass.Add("harassEonP", new CheckBox("E only on poisoned"));
            Harass.Add("humanEInHarass", new CheckBox("Humanize E casts"));
            Harass.Add("harassWonlyCD", new CheckBox("W only on Q CD and no Poison"));
            Harass.Add("manaToHarass", new Slider("Min Mana % to Harass", 40));
            Harass.AddSeparator();
            Harass.AddGroupLabel("Options for Auto Harass");
            Harass.Add("autoQHarass", new CheckBox("Auto Q"));
            Harass.Add("autoWHarass", new CheckBox("Auto W", false));
            Harass.Add("autoEHarass", new CheckBox("Auto E", false));
            Harass.Add("autoHarassEonP", new CheckBox("E only on poisoned"));
            Harass.Add("humanEInAutoHarass", new CheckBox("Humanize E casts"));
            Harass.Add("dontAutoHarassInBush", new CheckBox("Dont Auto Harass in Bush"));
            Harass.Add("dontAutoHarassTower", new CheckBox("Dont Auto Harass under Tower"));
            Harass.Add("manaToAutoHarass", new Slider("Min Mana % to Auto Harass", 60));

            LaneClear = Cassop.AddSubMenu("LaneClear", "laneclear");
            LaneClear.AddGroupLabel("Options for LaneClear");
            LaneClear.Add("useQInLC", new CheckBox("Use Q", false));
            LaneClear.Add("useWInLC", new CheckBox("Use W"));
            LaneClear.Add("useEInLC", new CheckBox("Use E"));
            LaneClear.Add("laneEonP", new CheckBox("E only on poisoned"));
            LaneClear.Add("minQInLC", new Slider("Min Enemies to Hit for Q", 3, 1, 9));
            LaneClear.Add("minWInLC", new Slider("Min Enemies to Hit for W", 3, 1, 9));
            LaneClear.Add("useManaEInLC", new CheckBox("Use Mana Threshhold", false));
            LaneClear.Add("manaEInLC", new Slider("If Mana below this ignore poison for E LastHit", 30, 1));
            LaneClear.Add("manaToLC", new Slider("Min Mana % to LaneClear", 20));

            JungleClear = Cassop.AddSubMenu("JungleClear", "jungleclear");
            JungleClear.AddGroupLabel("Options for JungleClear");
            JungleClear.Add("useQInJC", new CheckBox("Use Q"));
            JungleClear.Add("useWInJC", new CheckBox("Use W"));
            JungleClear.Add("useEInJC", new CheckBox("Use E"));
            JungleClear.Add("jungEonP", new CheckBox("E only on poisoned"));
            JungleClear.Add("manaToJC", new Slider("Min Mana % to JungleClear", 10));

            LastHit = Cassop.AddSubMenu("LastHit", "lasthit");
            LastHit.AddGroupLabel("Options for LastHit");
            LastHit.Add("useEInLH", new CheckBox("Use E"));
            LastHit.Add("lastEonP", new CheckBox("E only on poisoned", false));

            Interrupter = Cassop.AddSubMenu("Interrupter", "Interrupter");
            Interrupter.AddGroupLabel("Options for Interrupter");
            Interrupter.Add("bInterrupt", new CheckBox("Interrupt spells with R"));
            Interrupter.Add("dangerL", new ComboBox("Min DangerLevel to interrupt", 2, "Low", "Medium", "High"));

            Gapclose = Cassop.AddSubMenu("Anti GapCloser", "AntiGapCloser");
            Gapclose.AddGroupLabel("Options for Anti GapClose");
            Gapclose.Add("qGapclose", new CheckBox("Anti GapClose with Q", false));

            // Gapclose.Add("wGapclose", new CheckBox("Anti GapClose with W"));
            Misc = Cassop.AddSubMenu("Misc", "misc");
            Misc.AddGroupLabel("Misc Options");
            Misc.Add("antiMissR", new CheckBox("Block R Casts if they miss/don't face"));
            Misc.Add("assistedR", new KeyBind("Assisted R", false, KeyBind.BindTypes.HoldActive, 'R'));
            Misc.Add(
                "eLastHit",
                new CheckBox("Use E to kill unkillable (AA)" + Environment.NewLine + "minions while LastHit"));
            Misc.Add("eKillSteal", new CheckBox("Use E to Killsteal"));
            Misc.Add("humanDelay", new Slider("Humanize", 30, 1, 500));
            Misc.AddSeparator(5);
            Misc.Add("clearE", new CheckBox("Automatically kill poisoned minions with E", false));
            Misc.Add("manaClearE", new Slider("Min Mana % to Auto E", 10));
            Misc.Add("tearStackQ", new CheckBox("Use Q to stack Tear passively", false));
            Misc.Add("manaTearStack", new Slider("Min Mana % to stack Tear", 50));
        }
示例#47
0
        public static void CallMenu()
        {
            Soraka = MainMenu.AddMenu("Soraka", "Soraka");
            Soraka.AddGroupLabel("HealBot");
            Soraka.AddLabel("by mztikk");

            Combo = Soraka.AddSubMenu("Combo", "Combo");
            Combo.AddGroupLabel("Options for Combo");
            Combo.Add("useQInCombo", new CheckBox("Use Q"));
            Combo.Add("useEInCombo", new CheckBox("Use E"));
            Combo.Add("eOnlyCC", new CheckBox("Use E only on immobile", false));
            Combo.Add("comboDisableAA", new CheckBox("Disable AA on heroes in combo mode", false));
            Combo.Add("bLvlDisableAA", new CheckBox("Disable AA after Level x", false));
            Combo.Add("lvlDisableAA", new Slider("Min Level to disable AA", 8, 1, 18));

            Harass = Soraka.AddSubMenu("Harass", "Harass");
            Harass.AddGroupLabel("Options for Harass");
            Harass.Add("useQInHarass", new CheckBox("Use Q"));
            Harass.Add("useEInHarass", new CheckBox("Use E", false));
            Harass.Add("disableAAH", new CheckBox("Disable AA on minions while Harass"));
            Harass.Add("eOnlyCCHarass", new CheckBox("Use E only on immobile"));
            Harass.Add("manaHarass", new Slider("Min Mana % to Harass", 40));
            Harass.Add(
                "allyRangeH",
                new Slider("Allies in range x to disable AA on Minions in Harass Mode", 1400, 0, 5000));
            Harass.AddSeparator();
            Harass.AddGroupLabel("Auto Harass");
            Harass.Add("autoQHarass", new CheckBox("Auto Q", false));
            Harass.Add("autoEHarass", new CheckBox("Auto E", false));
            Harass.Add("autoEHarassOnlyCC", new CheckBox("Use Auto E only on immobile"));
            Harass.Add("dontAutoHarassTower", new CheckBox("Dont Auto Harass under Tower"));
            Harass.Add("dontHarassInBush", new CheckBox("Dont Auto Harass when in Bush"));
            Harass.Add("manaAutoHarass", new Slider("Min Mana % to Auto Harass", 60));

            LaneClear = Soraka.AddSubMenu("LaneClear", "LaneClear");
            LaneClear.AddGroupLabel("Options for LaneClear");
            LaneClear.Add("useQInLC", new CheckBox("Use Q"));
            LaneClear.Add("qTargets", new Slider("Min Targets to hit for Q", 6, 1, 20));
            LaneClear.Add("manaLaneClear", new Slider("Min Mana % to LaneClear", 60));

            var allAllies = EntityManager.Heroes.Allies.Where(ally => !ally.IsMe).ToArray();

            AutoWMenu = Soraka.AddSubMenu("Auto W", "autow");
            AutoWMenu.AddGroupLabel("Auto W");
            AutoWMenu.Add("autoW", new CheckBox("Auto use W"));
            AutoWMenu.AddSeparator(5);
            AutoWMenu.Add(
                "wHealMode",
                new ComboBox(
                    "Priority Mode",
                    0,
                    "Lowest Health",
                    "Total AD",
                    "Total AP",
                    "AD+AP",
                    "Closest",
                    "Custom Priority"));
            AutoWMenu.Add("manaToW", new Slider("Min Mana % to Auto W", 10));
            AutoWMenu.Add("playerHpToW", new Slider("Min Player HP % to Auto W", 25, 6));
            AutoWMenu.AddGroupLabel("Auto W Teammate Settings");
            foreach (var ally in allAllies)
            {
                AutoWMenu.AddLabel(ally.BaseSkinName);
                AutoWMenu.Add("autoW_" + ally.BaseSkinName, new CheckBox("Auto Heal " + ally.BaseSkinName + " with W"));
                AutoWMenu.Add(
                    "autoW_HP_" + ally.BaseSkinName,
                    new Slider("HP % to heal " + ally.BaseSkinName + " with W", 50, 1));
                AutoWMenu.Add(
                    "autoWBuff_HP_" + ally.BaseSkinName,
                    new Slider("HP % to heal " + ally.BaseSkinName + " with W + Q Buff", 75, 1));
                AutoWMenu.Add("autoWPrio" + ally.BaseSkinName, new Slider("Custom Priority", 1, 1, 5));
                AutoWMenu.AddSeparator(6);
            }

            AutoRMenu = Soraka.AddSubMenu("Auto R", "autor");
            AutoRMenu.AddGroupLabel("Auto R");
            AutoRMenu.Add("autoR", new CheckBox("Auto use R"));
            AutoRMenu.Add("cancelBase", new CheckBox("Cancel Recall to Auto R"));
            AutoRMenu.AddSeparator(5);
            AutoRMenu.Add("autoRHP", new Slider("HP % to trigger R Logic", 15, 1));
            AutoRMenu.AddGroupLabel("Auto R Teammate Settings");
            foreach (var ally in allAllies)
            {
                AutoRMenu.Add("autoR_" + ally.BaseSkinName, new CheckBox("Auto Heal " + ally.BaseSkinName + " with R"));
                AutoRMenu.AddSeparator(2);
            }

            AssistKs = Soraka.AddSubMenu("AssistKS", "assistks");
            AssistKs.AddGroupLabel("Options for AssistKS");
            AssistKs.AddLabel("This tries to ult when an ally is about to get a kill, so you can get an assist");
            AssistKs.Add("autoAssistKS", new CheckBox("Use R to Auto AssistKS", false));
            AssistKs.Add("assCancelBase", new CheckBox("Cancel Recall to AssistKS", false));

            Interrupter = Soraka.AddSubMenu("Interrupter", "Interrupter");
            Interrupter.AddGroupLabel("Options for Interrupter");
            Interrupter.Add("bInterrupt", new CheckBox("Interrupt spells with E"));
            Interrupter.Add("dangerL", new ComboBox("Min DangerLevel to interrupt", 0, "Low", "Medium", "High"));

            Gapclose = Soraka.AddSubMenu("Anti Gapcloser", "AntiGapcloser");
            Gapclose.AddGroupLabel("Options for Anti Gapclose");
            Gapclose.Add("qGapclose", new CheckBox("Anti Gapclose with Q", false));
            Gapclose.Add("eGapclose", new CheckBox("Anti Gapclose with E", false));

            Draw = Soraka.AddSubMenu("Drawings", "drawings");
            Draw.AddGroupLabel("Options for Drawings");
            Draw.Add("wRangeDraw", new CheckBox("Draw W Range", false));
            Draw.Add("qRange", new CheckBox("Draw Q Range", false));
            Draw.Add("onlyReady", new CheckBox("Only when Spells are ready"));
        }
示例#48
0
 public virtual void SetRestrictionsDuration()
 {
     _nextLimitsEndUtc  = LimitCounter.GetLimitsEndTimeUtc();
     _nextTimeoutEndUtc = Interrupter.GetTimeoutEndUtc();
 }
示例#49
0
        public static Menu CreateMenu()
        {
            Config = MainMenu.AddMenu("SephCassio", "Cassiopeia");

            Combo = Config.AddSubMenu("Combo", "Combo");
            Combo.Add("Disableautoifspellsready", new CheckBox("Disable autos only when spells up"));
            Combo.Add("Combo.Useauto", new CheckBox("Use auto attacks"));
            Combo.Add("Combo.UseQ", new CheckBox("Use Q"));
            Combo.Add("Combo.UseW", new CheckBox("Use W"));
            Combo.Add("Combo.UseE", new CheckBox("Use E"));
            Combo.Add("Combo.useepoison", new CheckBox("Use E only if poison"));
            Combo.Add("Combo.edelay", new Slider("Edelay", 0, 0, 1000));
            Combo.Add("Combo.UseR", new CheckBox("Use R"));
            Combo.Add("Combo.Rcount", new Slider("Enemies count for Ult", 1, 0, 5));
            Combo.Add("Combo.UseRNF", new CheckBox("Use R even if targets not facing", false));
            Combo.Add("Combo.Rcountnf", new Slider("Enemies count if not facing", 3, 0, 5));


            KillSteal = Config.AddSubMenu("Killsteal", "Killsteal");
            KillSteal.Add("Killsteal", new CheckBox("KillSteal", true));
            KillSteal.Add("Killsteal.UseQ", new CheckBox("Use Q", true));
            KillSteal.Add("Killsteal.UseW", new CheckBox("Use W", true));
            KillSteal.Add("Killsteal.UseE", new CheckBox("Use E", true));
            KillSteal.Add("Killsteal.UseR", new CheckBox("Use R", false));
            KillSteal.Add("Killsteal.UseIgnite", new CheckBox("Use Ignite", true));

            Harass = Config.AddSubMenu("Harass", "Harass");
            Harass.Add("Keys.HarassT", new KeyBind("Harass Toggle", false, KeyBind.BindTypes.PressToggle, 'H'));
            Harass.Add("Harass.InMixed", new CheckBox("Harass in Mixed Mode", true));
            Harass.Add("Harass.UseQ", new CheckBox("Use Q", true));
            Harass.Add("Harass.UseW", new CheckBox("Use W", true));
            Harass.Add("Harass.UseE", new CheckBox("Use E", true));
            Harass.Add("Harass.Mana", new Slider("Min mana for harass (%)", 50, 0, 100));

            Farm = Config.AddSubMenu("Farm (LH)", "Farm");
            Farm.Add("Farm.Enable", new CheckBox("Enable abilities for farming", true));
            Farm.Add("Farm.Mana", new Slider("Min mana (%)", 50, 0, 100));
            Farm.Add("Farm.Useauto", new CheckBox("Enable auto attacks", true));
            Farm.Add("Farm.UseQ", new CheckBox("Use Q", true));
            Farm.Add("Farm.UseW", new CheckBox("Use W", true));
            Farm.Add("Farm.UseE", new CheckBox("Use E", true));
            Farm.Add("Farm.useepoison", new CheckBox("Use E only if poisoned", true));


            Waveclear = Config.AddSubMenu("Waveclear", "Waveclear");
            Waveclear.Add("Waveclear.Useauto", new CheckBox("Enable autos", true));
            Waveclear.Add("Waveclear.UseQ", new CheckBox("Use Q", true));
            Waveclear.Add("Waveclear.UseW", new CheckBox("Use W", true));
            Waveclear.Add("Waveclear.UseE", new CheckBox("Use E", true));
            Waveclear.Add("Waveclear.useepoison", new CheckBox("Use E only if poisoned", true));
            Waveclear.Add("Waveclear.useekillable", new CheckBox("Use E only if killable", true));
            Waveclear.Add("Waveclear.UseR", new CheckBox("Use R", false));
            Waveclear.Add("Waveclear.Rcount", new Slider("Minions for R", 10, 0, 20));


            Interrupter = Config.AddSubMenu("Interrupter", "Interrupter +");
            Interrupter.Add("Interrupter.UseR", new CheckBox("Interrupt with R", true));
            Interrupter.Add("Interrupter.AntiGapClose", new CheckBox("AntiGapClosers", true));
            Interrupter.Add("Interrupter.AG.UseR", new CheckBox("AntiGapClose with R", true));

            hc = Config.AddSubMenu("Hitchance Settings", "hc");
            hc.Add("Hitchance.Q", new ComboBox("Q Hit Chance", 2, HitChance.Low.ToString(), HitChance.Medium.ToString(), HitChance.High.ToString(), HitChance.VeryHigh.ToString(), HitChance.Immobile.ToString()));
            hc.Add("Hitchance.W", new ComboBox("W Hit Chance", 2, HitChance.Low.ToString(), HitChance.Medium.ToString(), HitChance.High.ToString(), HitChance.VeryHigh.ToString(), HitChance.Immobile.ToString()));
            hc.Add("Hitchance.R", new ComboBox("R Hit Chance", 3, HitChance.Low.ToString(), HitChance.Medium.ToString(), HitChance.High.ToString(), HitChance.VeryHigh.ToString(), HitChance.Immobile.ToString()));


            misc = Config.AddSubMenu("Misc", "Misc");
            misc.Add("Misc.autoe", new CheckBox("Auto use e when possible", false));

            Drawings = Config.AddSubMenu("Drawings", "Drawing");
            Drawings.Add("Drawing.Disable", new CheckBox("Disable all", false));
            Drawings.Add("Drawing.DrawQ", new CheckBox("Draw Q", true));
            Drawings.Add("Drawing.DrawW", new CheckBox("Draw W", true));
            Drawings.Add("Drawing.DrawE", new CheckBox("Draw E", true));
            Drawings.Add("Drawing.DrawR", new CheckBox("Draw R", true));


            return(Config);
        }
		public override void VisitUnknownDirectiveNode(IT4UnknownDirective unknownDirectiveParam)
		{
			var data = T4FailureRawData.FromElement(unknownDirectiveParam, "Custom directives are not supported");
			Interrupter.InterruptAfterProblem(data);
		}