示例#1
0
        static void Interrupter_OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell)
        {
            if (!Menu.Item("interrupt").GetValue <bool>())
            {
                return;
            }

            if (spell.BuffName == "Destiny" && unit.BaseSkinName != "TwistedFate")
            {
                return;
            }

            if (unit.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Player) + 400))
            {
                CardSelector.StartSelecting(Cards.Yellow);

                Render.Circle.DrawCircle(unit.Position, unit.BoundingRadius, Color.Gold, 5);

                var targetpos = Drawing.WorldToScreen(unit.Position);

                Drawing.DrawText(targetpos[0] - 40, targetpos[1] + 20, Color.Gold, "Interrupt");
            }

            if (Player.HasBuff("goldcardpreattack", true) && unit.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Player) + 10) && unit.IsTargetable)
            {
                Player.IssueOrder(GameObjectOrder.AttackUnit, unit);
            }
        }
示例#2
0
        static void JungleClear()
        {
            var mobs = MinionManager.GetMinions(Player.ServerPosition, Orbwalking.GetRealAutoAttackRange(Player) + 100, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth);

            if (mobs.Count <= 0)
            {
                return;
            }

            if (Q.IsReady() && Menu.Item("jungleclearUseQ").GetValue <bool>() && Utility.ManaPercentage(Player) > Menu.Item("jungleclearQmana").GetValue <Slider>().Value)
            {
                Q.Cast(mobs[0].Position, Menu.Item("usepacket").GetValue <bool>());
            }

            if (W.IsReady() && Menu.Item("jungleclearUseW").GetValue <bool>())
            {
                if (Utility.ManaPercentage(Player) > Menu.Item("jungleclearbluemana").GetValue <Slider>().Value)
                {
                    if (mobs.Count >= 2)
                    {
                        CardSelector.StartSelecting(Cards.Red);
                    }
                    else
                    {
                        CardSelector.StartSelecting(Cards.Yellow);
                    }
                }
                else
                {
                    CardSelector.StartSelecting(Cards.Blue);
                }
            }
        }
示例#3
0
文件: Program.cs 项目: bino1/bino
 static void Obj_AI_Hero_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
 {
     if (sender.IsMe && args.SData.Name == "gate" && Menu.Item("goldR").GetValue <bool>())
     {
         CardSelector.StartSelecting(Cards.Yellow);
     }
 }
示例#4
0
        static void Obj_AI_Hero_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (sender.IsMe && args.SData.Name == "gate" && Menu.Item("goldR").GetValue <bool>())
            {
                CardSelector.StartSelecting(Cards.Yellow);
            }

            if (sender.IsEnemy && args.SData.Name == "YasuoWMovingWall")
            {
                _yasuoWallCastedPos = sender.ServerPosition.To2D();
            }
        }
示例#5
0
        static void Combo()
        {
            Obj_AI_Hero target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical, Menu.Item("ignoreshield").GetValue <bool>());

            if (W.IsReady() && Menu.Item("useW").GetValue <bool>())
            {
                if (target.IsValidTarget(W.Range))
                {
                    if (Menu.Item("useblue").GetValue <bool>())
                    {
                        if (Utility.ManaPercentage(Player) < 20)
                        {
                            CardSelector.StartSelecting(Cards.Blue);
                        }
                        else
                        {
                            CardSelector.StartSelecting(Cards.Yellow);
                        }
                    }
                    else
                    {
                        CardSelector.StartSelecting(Cards.Yellow);
                    }
                }
            }

            if (Q.IsReady() && Menu.Item("useQ").GetValue <bool>())
            {
                if (target.IsValidTarget(Menu.Item("qrange").GetValue <Slider>().Value))
                {
                    var pred = Q.GetPrediction(target);

                    if (Menu.Item("cconly").GetValue <bool>())
                    {
                        if (pred.Hitchance >= HitChance.High && DetectCollision(target))
                        {
                            foreach (var buff in target.Buffs)
                            {
                                if (buff.Type == BuffType.Stun || buff.Type == BuffType.Taunt || buff.Type == BuffType.Snare || buff.Type == BuffType.Suppression || buff.Type == BuffType.Charm || buff.Type == BuffType.Fear || buff.Type == BuffType.Flee || buff.Type == BuffType.Slow)
                                {
                                    Q.Cast(target, Menu.Item("usepacket").GetValue <bool>());
                                }
                            }
                        }
                    }
                    else if (pred.Hitchance >= HitChance.VeryHigh && DetectCollision(target))
                    {
                        Q.Cast(target, Menu.Item("usepacket").GetValue <bool>());
                    }
                }
            }
        }
示例#6
0
        static void Game_OnGameUpdate(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                Combo();
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
            {
                harass();
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LastHit)
            {
                Lasthit();
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
            {
                LaneClear();
                JungleClear();
            }

            if (Menu.Item("selectgold").GetValue <KeyBind>().Active)
            {
                CardSelector.StartSelecting(Cards.Yellow);
            }

            if (Menu.Item("selectblue").GetValue <KeyBind>().Active)
            {
                CardSelector.StartSelecting(Cards.Blue);
            }

            if (Menu.Item("selectred").GetValue <KeyBind>().Active)
            {
                CardSelector.StartSelecting(Cards.Red);
            }

            killsteal();
            autoignite();
        }
示例#7
0
        static void Lasthit()
        {
            if (W.IsReady())
            {
                if (Menu.Item("lasthitUseW").GetValue <bool>())
                {
                    if (Utility.ManaPercentage(Player) < Menu.Item("lasthitbluemana").GetValue <Slider>().Value)
                    {
                        var xMinions = MinionManager.GetMinions(Player.Position, 700, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.MaxHealth);

                        foreach (var xMinion in xMinions)
                        {
                            if (Player.GetAutoAttackDamage(xMinion, false) * 3 >= xMinion.Health)
                            {
                                CardSelector.StartSelecting(Cards.Blue);
                            }
                        }
                    }
                }
            }
        }
示例#8
0
        static void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser)
        {
            if (!Menu.Item("gapcloser").GetValue <bool>())
            {
                return;
            }

            if (gapcloser.Sender.IsValidTarget(W.Range))
            {
                CardSelector.StartSelecting(Cards.Yellow);

                Render.Circle.DrawCircle(gapcloser.Sender.Position, gapcloser.Sender.BoundingRadius, Color.Gold, 5);

                var targetpos = Drawing.WorldToScreen(gapcloser.Sender.Position);

                Drawing.DrawText(targetpos[0] - 40, targetpos[1] + 20, Color.Gold, "Gapcloser");
            }

            if (Player.HasBuff("goldcardpreattack", true) && gapcloser.Sender.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Player) + 10) && gapcloser.Sender.IsTargetable)
            {
                Player.IssueOrder(GameObjectOrder.AttackUnit, gapcloser.Sender);
            }
        }
示例#9
0
        static void LaneClear()
        {
            if (Q.IsReady() && Menu.Item("laneclearUseQ").GetValue <bool>() && Utility.ManaPercentage(Player) > Menu.Item("laneclearQmana").GetValue <Slider>().Value)
            {
                var allMinionsQ = MinionManager.GetMinions(Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.Enemy);
                var locQ        = Q.GetLineFarmLocation(allMinionsQ);

                if (locQ.MinionsHit >= Menu.Item("laneclearQmc").GetValue <Slider>().Value)
                {
                    Q.Cast(locQ.Position, Menu.Item("usepacket").GetValue <bool>());
                }
            }

            if (W.IsReady() && Menu.Item("laneclearUseW").GetValue <bool>())
            {
                var minioncount = MinionManager.GetMinions(Player.Position, 1500).Count;

                if (minioncount > 0)
                {
                    if (Utility.ManaPercentage(Player) > Menu.Item("laneclearbluemana").GetValue <Slider>().Value)
                    {
                        if (minioncount >= Menu.Item("laneclearredmc").GetValue <Slider>().Value)
                        {
                            CardSelector.StartSelecting(Cards.Red);
                        }
                        else
                        {
                            CardSelector.StartSelecting(Cards.Blue);
                        }
                    }
                    else
                    {
                        CardSelector.StartSelecting(Cards.Blue);
                    }
                }
            }
        }