コード例 #1
0
ファイル: ActionManager.cs プロジェクト: mrarticuno/EBHQ
        public bool ExecuteNextAction(ActionQueueList list)
        {
            var rnd = new Random();
            if (list.Count > 0)
            {
                if (Game.Time > list[0].Time + 2F)
                {
                    list.Remove(list[0]);
                    return true;
                }

                if (list[0].PreConditionFunc.Invoke())
                {
                    if (!MenuManager.IDDQD)
                        Core.DelayAction(list[0].ComboAction.Invoke, rnd.Next(50, 125));
                    else
                        list[0].ComboAction.Invoke();

                }

                if (list[0].ConditionToRemoveFunc.Invoke() || Game.Time > list[0].Time + 1.5F)
                {
                    list.Remove(list[0]);
                    if (list.Count > 0)
                    {
                        var nextItem = list[0];
                        nextItem.Time = Game.Time;
                        list[0] = nextItem;
                    }
                }
                return true;
            }
            return false;
        }
コード例 #2
0
ファイル: ActionQueue.cs プロジェクト: himrengod/Elobuddy-1
        public bool ExecuteNextAction(ActionQueueList list)
        {
            if (list.Count > 0)
            {
                if (Game.Time > list[0].Time + 2F)
                {
                    list.Remove(list[0]);
                    return true;
                }

                if (list[0].PreConditionFunc.Invoke())
                {
                    list[0].ComboAction.Invoke();
                }

                if (list[0].ConditionToRemoveFunc.Invoke() || Game.Time > list[0].Time + 1.5F)
                {
                    list.Remove(list[0]);
                    if (list.Count > 0)
                    {
                        var nextItem = list[0];
                        nextItem.Time = Game.Time;
                        list[0] = nextItem;
                    }
                }
                return true;
            }
            else
            {
                return false;
            }
        }
コード例 #3
0
ファイル: Brain.cs プロジェクト: mrarticuno/EBHQ
 public Brain()
 {
     actionManager = new ActionManager();
     comboQueue = new ActionQueueList();
     lastHitQueue = new ActionQueueList();
     harassQueue = new ActionQueueList();
     laneQueue = new ActionQueueList();
     jungleQueue = new ActionQueueList();
 }
コード例 #4
0
ファイル: ActionQueue.cs プロジェクト: himrengod/Elobuddy-1
 public void EnqueueAction(ActionQueueList list, Func<bool> preCondition, Action comboAction, Func<bool> conditionToRemove)
 {
     list.Add(new ActionQueueItem()
     {
         Time = Game.Time,
         PreConditionFunc = preCondition,
         ComboAction = comboAction,
         ConditionToRemoveFunc = conditionToRemove
     });
 }
コード例 #5
0
ファイル: Champion.cs プロジェクト: himrengod/Elobuddy-1
        public override void InitVariables()
        {
            Selector.Init();

            Q = new Spell.Skillshot(SpellSlot.Q, 900, SkillShotType.Circular, 250, int.MaxValue);
            W = new Spell.Skillshot(SpellSlot.W, 550, SkillShotType.Linear, 500, int.MaxValue);
            E = new Spell.Active(SpellSlot.E, 290);
            R = new Spell.Targeted(SpellSlot.R, 625);

            ActionQueue = new ActionQueue();
            ComboQueue = new ActionQueueList();

            InitMenu();
        }
コード例 #6
0
        public ZedAntiGapCloser(ZedMenu menu, ZedSpells spells, ZedShadows shadows)
        {
            zedMenu = menu;
            w = spells.W;
            e = spells.E;
            this.shadows = shadows;
            player = ObjectManager.Player;

            actionQueue = new ActionQueue();
            antiGapCloserList = new ActionQueueList();

            AntiGapcloser.OnEnemyGapcloser += AntiGapcloser_OnEnemyGapcloser;
            
        }
コード例 #7
0
ファイル: ZedCore.cs プロジェクト: jayblah/PastelComCoca
        public ZedCore(ZedSpells zedSpells, Orbwalking.Orbwalker zedOrbwalker, ZedMenu zedMenu, ZedShadows zedShadows)
        {
            q = zedSpells.Q;
            w = zedSpells.W;
            e = zedSpells.E;
            r = zedSpells.R;

            player = ObjectManager.Player;
            ZedOrbwalker = zedOrbwalker;
            this.zedMenu = zedMenu;

            actionQueue = new ActionQueue();
            harasQueue = new ActionQueueList();
            comboQueue = new ActionQueueList();
            zedItems = new ZedOffensiveItems(zedMenu);
            energy = new ZedEnergyChecker(zedMenu);
            shadows = zedShadows;

            Game.OnUpdate += Game_OnUpdate;
        }
コード例 #8
0
ファイル: OlafCore.cs プロジェクト: 47110572/LeagueSharp-9
        public OlafCore(OlafSpells olafSpells, Orbwalking.Orbwalker olafOrbwalker, OlafMenu olafMenu)
        {
            q = olafSpells.Q;
            w = olafSpells.W;
            e = olafSpells.E;
            r = olafSpells.R;

            player = ObjectManager.Player;
            this.olafOrbwalker = olafOrbwalker;
            this.olafMenu = olafMenu;

            actionQueue = new ActionQueue();
            harasQueue = new ActionQueueList();
            comboQueue = new ActionQueueList();
            laneClearQueue = new ActionQueueList();
            autoAttackCheck = new ActionQueueCheckAutoAttack();
            olafItems = new OlafOffensiveItems(olafMenu);

            Game.OnUpdate += Game_OnUpdate;
        }  
コード例 #9
0
ファイル: ActionQueue.cs プロジェクト: jayblah/PastelComCoca
        public bool ExecuteNextAction(ActionQueueList list)
        {
            if (list.Count > 0)
            {
                if (list[0].PreConditionFunc.Invoke())
                {
                    list[0].ComboAction.Invoke();
                }

                if (list[0].ConditionToRemoveFunc.Invoke() || Game.Time > list[0].Time + 0.75F)
                {
                    list.Remove(list[0]);
                }
                return true;
            }
            else
            {
                return false;
            }
        }
コード例 #10
0
ファイル: ZedCore.cs プロジェクト: 47110572/LeagueSharp-9
        public ZedCore(ZedSpells zedSpells, Orbwalking.Orbwalker zedOrbwalker, ZedMenu zedMenu, ZedShadows zedShadows, ZedEnergyChecker zedEnergy)
        {
            q = zedSpells.Q;
            w = zedSpells.W;
            e = zedSpells.E;
            r = zedSpells.R;

            player = ObjectManager.Player;
            ZedOrbwalker = zedOrbwalker;
            this.zedMenu = zedMenu;
            energy = zedEnergy;

            actionQueue = new ActionQueue();
            harasQueue = new ActionQueueList();
            comboQueue = new ActionQueueList();
            laneClearQueue = new ActionQueueList();
            lastHitQueue = new ActionQueueList();
            checkAutoAttack = new ActionQueueCheckAutoAttack();
            zedItems = new ZedOffensiveItems(zedMenu);
            shadows = zedShadows;
            zedComboSelector = new ZedComboSelector(zedMenu);

            Game.OnUpdate += Game_OnUpdate;
        }
コード例 #11
0
        public ZedCore(ZedSpells zedSpells, Orbwalking.Orbwalker zedOrbwalker, ZedMenu zedMenu, ZedShadows zedShadows, ZedEnergyChecker zedEnergy)
        {
            q = zedSpells.Q;
            w = zedSpells.W;
            e = zedSpells.E;
            r = zedSpells.R;

            player       = ObjectManager.Player;
            ZedOrbwalker = zedOrbwalker;
            this.zedMenu = zedMenu;
            energy       = zedEnergy;

            actionQueue      = new ActionQueue();
            harasQueue       = new ActionQueueList();
            comboQueue       = new ActionQueueList();
            laneClearQueue   = new ActionQueueList();
            lastHitQueue     = new ActionQueueList();
            checkAutoAttack  = new ActionQueueCheckAutoAttack();
            zedItems         = new ZedOffensiveItems(zedMenu);
            shadows          = zedShadows;
            zedComboSelector = new ZedComboSelector(zedMenu);

            Game.OnUpdate += Game_OnUpdate;
        }
コード例 #12
0
        public void LaneClear(ActionQueue actionQueue, ActionQueueList laneClearQueue)
        {
            Obj_AI_Base shadow = GetShadows().FirstOrDefault();

            if (!energy.ReadyToLaneClear || shadow == null)
            {
                return;
            }

            if (e.UseOnLaneClear && e.IsReady())
            {
                int extendedWillHit = MinionManager.GetMinions(shadow.Position, e.Range).Count();
                int shortenWillHit  = MinionManager.GetMinions(e.Range).Count;
                int param           = zedMenu.GetParamSlider("koreanzed.laneclearmenu.useeif");

                if (extendedWillHit >= param || shortenWillHit >= param)
                {
                    actionQueue.EnqueueAction(
                        laneClearQueue,
                        () => true,
                        () => e.Cast(),
                        () => !e.IsReady());
                    //Console.WriteLine("shadow lc e 1");
                    return;
                }
            }

            if (q.UseOnLaneClear && q.IsReady())
            {
                int     extendedWillHit      = 0;
                Vector3 extendedFarmLocation = Vector3.Zero;
                foreach (Obj_AI_Base objAiBase in MinionManager.GetMinions(shadow.Position, q.Range))
                {
                    var colisionList = q.GetCollision(
                        shadow.Position.To2D(),
                        new List <Vector2>()
                    {
                        objAiBase.Position.To2D()
                    },
                        w.Delay);

                    if (colisionList.Count > extendedWillHit)
                    {
                        extendedFarmLocation =
                            colisionList.OrderByDescending(c => c.Distance(shadow.Position)).FirstOrDefault().Position;
                        extendedWillHit = colisionList.Count;
                    }
                }

                var shortenFarmLocation = q.GetLineFarmLocation(MinionManager.GetMinions(q.Range));

                int shortenWillHit = shortenFarmLocation.MinionsHit;
                int param          = zedMenu.GetParamSlider("koreanzed.laneclearmenu.useqif");

                if (CanCast && shadow.Position != Vector3.Zero && extendedWillHit >= param)
                {
                    actionQueue.EnqueueAction(
                        laneClearQueue,
                        () => CanCast,
                        () => Cast(shadow.Position),
                        () => !CanCast);
                    //Console.WriteLine("shadow lc w 2");
                    actionQueue.EnqueueAction(
                        laneClearQueue,
                        () => w.Instance.ToggleState != 0,
                        () => q.Cast(extendedFarmLocation),
                        () => !q.IsReady());
                    //Console.WriteLine("shadow lc q 3");
                    return;
                }
                else if (shortenWillHit >= param)
                {
                    actionQueue.EnqueueAction(
                        laneClearQueue,
                        () => q.IsReady(),
                        () => q.Cast(shortenFarmLocation.Position),
                        () => !q.IsReady());
                    //Console.WriteLine("shadow lc q 4");
                    return;
                }
            }
        }
コード例 #13
0
ファイル: ZedShadows.cs プロジェクト: 47110572/LeagueSharp-9
        public void LaneClear(ActionQueue actionQueue, ActionQueueList laneClearQueue)
        {
            Obj_AI_Base shadow = GetShadows().FirstOrDefault();

            if (!energy.ReadyToLaneClear || shadow == null)
            {
                return;
            }

            if (e.UseOnLaneClear && e.IsReady())
            {
                int extendedWillHit = MinionManager.GetMinions(shadow.Position, e.Range).Count();
                int shortenWillHit = MinionManager.GetMinions(e.Range).Count;
                int param = zedMenu.GetParamSlider("koreanzed.laneclearmenu.useeif");

                if (extendedWillHit >= param || shortenWillHit >= param)
                {
                    actionQueue.EnqueueAction(
                        laneClearQueue,
                        () => true,
                        () => e.Cast(),
                        () => !e.IsReady());
                    return;
                }
            }

            if (q.UseOnLaneClear && q.IsReady())
            {
                int extendedWillHit = 0;
                Vector3 extendedFarmLocation = Vector3.Zero;
                foreach (Obj_AI_Base objAiBase in MinionManager.GetMinions(shadow.Position, q.Range))
                {
                    var colisionList = q.GetCollision(
                        shadow.Position.To2D(),
                        new List<Vector2>() { objAiBase.Position.To2D() },
                        w.Delay);

                    if (colisionList.Count > extendedWillHit)
                    {
                        extendedFarmLocation =
                            colisionList.OrderByDescending(c => c.Distance(shadow.Position)).FirstOrDefault().Position;
                        extendedWillHit = colisionList.Count;
                    }
                }

                var shortenFarmLocation = q.GetLineFarmLocation(MinionManager.GetMinions(q.Range));

                int shortenWillHit = shortenFarmLocation.MinionsHit;
                int param = zedMenu.GetParamSlider("koreanzed.laneclearmenu.useqif");

                if (CanCast && shadow.Position != Vector3.Zero && extendedWillHit >= param)
                {
                    actionQueue.EnqueueAction(
                        laneClearQueue,
                        () => CanCast,
                        () => Cast(shadow.Position),
                        () => !CanCast);
                    actionQueue.EnqueueAction(
                        laneClearQueue,
                        () => w.Instance.ToggleState != 0,
                        () => q.Cast(extendedFarmLocation),
                        () => !q.IsReady());
                    return;
                }
                else if (shortenWillHit >= param)
                {
                    actionQueue.EnqueueAction(
                        laneClearQueue,
                        () => q.IsReady(),
                        () => q.Cast(shortenFarmLocation.Position),
                        () => !q.IsReady());
                    return;
                }
            }
        }