Ejemplo n.º 1
0
        public static void Load()
        {
            Events.OnLoad += (obj, loadArgs) =>
            {
                Shop.Main.Init();
                _autoLevel = new AutoLevel(AutoLevel.GetSequenceFromDb());
                _autoLevel.Enable();
                Obj_AI_Base.OnIssueOrder += (sender, issueOrderArgs) =>
                {
                    if (SessionBasedData.Loaded && sender.IsMe)
                    {
                        if (issueOrderArgs.Order == GameObjectOrder.MoveTo && ObjectManager.Player.Distance(issueOrderArgs.TargetPosition) < 1000)
                        {
                            if (ObjectManager.Player.IsRecalling() ||
                                (ObjectManager.Player.InFountain() && ObjectManager.Player.HealthPercent < 95))
                            {
                                Logging.Log("bot is recalling");
                                issueOrderArgs.Process = false;
                                return;
                            }
                            if (issueOrderArgs.TargetPosition.IsDangerousPosition())
                            {
                                Logging.Log("target position is dangerous");
                                issueOrderArgs.Process = false;
                                return;
                            }
                            if (Environment.TickCount - _lastMovementCommand > Utility.Random.GetRandomInteger(300, 1100))
                            {
                                Logging.Log("humanizing");
                                _lastMovementCommand = Environment.TickCount;
                                return;
                            }
                            issueOrderArgs.Process = false;
                        }
                        if (issueOrderArgs.Target != null)
                        {
                            if (issueOrderArgs.Target is Obj_AI_Hero)
                            {
                                Logging.Log("anti outtraded");
                                if (ObjectManager.Player.IsUnderEnemyTurret() || (ObjectManager.Get<Obj_AI_Minion>().Count(m => m.IsEnemy && !m.IsDead && m.Distance(ObjectManager.Player) < 600) > 4 && Variables.Orbwalker.ActiveMode != OrbwalkingMode.Combo))
                                {
                                    issueOrderArgs.Process = false;
                                    return;
                                }
                            }
                            if (issueOrderArgs.Target is Obj_AI_Minion && (issueOrderArgs.Target as Obj_AI_Minion).Team == GameObjectTeam.Neutral)
                            {
                                Logging.Log("skipped hitting jg camp");
                                issueOrderArgs.Process = false;
                                return;
                            }
                        }
                    }
                };
                Spellbook.OnCastSpell += (sender, castSpellArgs) =>
                {
                    if (castSpellArgs.Slot == SpellSlot.Recall)
                    {
                        Variables.Orbwalker.ActiveMode = OrbwalkingMode.None;
                    }
                };
                Obj_AI_Base.OnProcessSpellCast += (sender, spellCastArgs) =>
                {
                    if (Variables.Orbwalker.ActiveMode != OrbwalkingMode.Combo && spellCastArgs.Target != null && spellCastArgs.Target.IsMe)
                    {
                        if (sender is Obj_AI_Minion)
                        {
                            AttackedByMinionsFlag = true;
                            DelayAction.Add(350, () => AttackedByMinionsFlag = false);
                        }
                        if (sender is Obj_AI_Turret)
                        {
                            AttackedByTurretFlag = true;
                            DelayAction.Add(500, () => AttackedByTurretFlag = false);
                        }
                    }
                };
                Game.OnUpdate += args =>
                {
                    if (ObjectManager.Player.IsRecalling() ||
                           (ObjectManager.Player.InFountain() && ObjectManager.Player.HealthPercent < 95))
                    {
                        Variables.Orbwalker.ActiveMode = OrbwalkingMode.None;
                        return;
                    }
                    if (ObjectManager.Player.Position.IsDangerousPosition())
                    {
                        AttackedByMinionsFlag = true;
                        DelayAction.Add(350, () => AttackedByMinionsFlag = false);
                    }

                };
                Variables.Orbwalker.OnAction += (sender, args) =>
                {
                    if (ObjectManager.Player.IsRecalling())
                    {
                        args.Process = false;
                        Variables.Orbwalker.ActiveMode = OrbwalkingMode.None;
                    }
                    if (Environment.TickCount - _lastAfkCheckTime > 30000)
                    {
                        _lastAfkCheckTime = Environment.TickCount;
                        if (_lastAfkCheckPosition.Distance(ObjectManager.Player.ServerPosition) < 400)
                        {
                            var pos = new Utility.Geometry.Circle(ObjectManager.Player.Position.ToVector2(), 500).ToPolygon().GetRandomPointInPolygon();
                            pos.WalkToPoint(OrbwalkingMode.None, true);
                        }
                        _lastAfkCheckPosition = ObjectManager.Player.ServerPosition;
                    }
                };
            };
        }
Ejemplo n.º 2
0
 public static void Load()
 {
     Events.OnLoad += (obj, loadArgs) =>
     {
         Shop.Main.Init();
         _autoLevel = new AutoLevel(AutoLevel.GetSequenceFromDb());
         _autoLevel.Enable();
         Obj_AI_Base.OnIssueOrder += (sender, issueOrderArgs) =>
         {
             if (SessionBasedData.Loaded && sender.IsMe)
             {
                 if (issueOrderArgs.Order == GameObjectOrder.MoveTo && ObjectManager.Player.Distance(issueOrderArgs.TargetPosition) < 1000)
                 {
                     if (ObjectManager.Player.IsRecalling() ||
                         (ObjectManager.Player.InFountain() && ObjectManager.Player.HealthPercent < 95))
                     {
                         Logging.Log("bot is recalling");
                         issueOrderArgs.Process = false;
                         return;
                     }
                     if (issueOrderArgs.TargetPosition.IsDangerousPosition())
                     {
                         Logging.Log("target position is dangerous");
                         issueOrderArgs.Process = false;
                         return;
                     }
                     if (Environment.TickCount - _lastMovementCommand > Utility.Random.GetRandomInteger(300, 1100))
                     {
                         Logging.Log("humanizing");
                         _lastMovementCommand = Environment.TickCount;
                         return;
                     }
                     issueOrderArgs.Process = false;
                 }
                 if (issueOrderArgs.Target != null)
                 {
                     if (issueOrderArgs.Target is Obj_AI_Hero)
                     {
                         Logging.Log("anti outtraded");
                         if (ObjectManager.Player.IsUnderEnemyTurret() || (ObjectManager.Get <Obj_AI_Minion>().Count(m => m.IsEnemy && !m.IsDead && m.Distance(ObjectManager.Player) < 600) > 4 && Variables.Orbwalker.ActiveMode != OrbwalkingMode.Combo))
                         {
                             issueOrderArgs.Process = false;
                             return;
                         }
                     }
                     if (issueOrderArgs.Target is Obj_AI_Minion && (issueOrderArgs.Target as Obj_AI_Minion).Team == GameObjectTeam.Neutral)
                     {
                         Logging.Log("skipped hitting jg camp");
                         issueOrderArgs.Process = false;
                         return;
                     }
                 }
             }
         };
         Spellbook.OnCastSpell += (sender, castSpellArgs) =>
         {
             if (castSpellArgs.Slot == SpellSlot.Recall)
             {
                 Variables.Orbwalker.ActiveMode = OrbwalkingMode.None;
             }
         };
         Obj_AI_Base.OnProcessSpellCast += (sender, spellCastArgs) =>
         {
             if (Variables.Orbwalker.ActiveMode != OrbwalkingMode.Combo && spellCastArgs.Target != null && spellCastArgs.Target.IsMe)
             {
                 if (sender is Obj_AI_Minion)
                 {
                     AttackedByMinionsFlag = true;
                     DelayAction.Add(350, () => AttackedByMinionsFlag = false);
                 }
                 if (sender is Obj_AI_Turret)
                 {
                     AttackedByTurretFlag = true;
                     DelayAction.Add(500, () => AttackedByTurretFlag = false);
                 }
             }
         };
         Game.OnUpdate += args =>
         {
             if (ObjectManager.Player.IsRecalling() ||
                 (ObjectManager.Player.InFountain() && ObjectManager.Player.HealthPercent < 95))
             {
                 Variables.Orbwalker.ActiveMode = OrbwalkingMode.None;
                 return;
             }
             if (ObjectManager.Player.Position.IsDangerousPosition())
             {
                 AttackedByMinionsFlag = true;
                 DelayAction.Add(350, () => AttackedByMinionsFlag = false);
             }
         };
         Variables.Orbwalker.OnAction += (sender, args) =>
         {
             if (ObjectManager.Player.IsRecalling())
             {
                 args.Process = false;
                 Variables.Orbwalker.ActiveMode = OrbwalkingMode.None;
             }
             if (Environment.TickCount - _lastAfkCheckTime > 30000)
             {
                 _lastAfkCheckTime = Environment.TickCount;
                 if (_lastAfkCheckPosition.Distance(ObjectManager.Player.ServerPosition) < 400)
                 {
                     var pos = new Utility.Geometry.Circle(ObjectManager.Player.Position.ToVector2(), 500).ToPolygon().GetRandomPointInPolygon();
                     pos.WalkToPoint(OrbwalkingMode.None, true);
                 }
                 _lastAfkCheckPosition = ObjectManager.Player.ServerPosition;
             }
         };
     };
 }
Ejemplo n.º 3
0
 public static void Load()
 {
     Events.OnLoad += (obj, loadArgs) =>
     {
         Shop.Main.Init();
         Obj_AI_Base.OnIssueOrder += (sender, issueOrderArgs) =>
         {
             if (SessionBasedData.Loaded && sender.IsMe)
             {
                 if (issueOrderArgs.Order == GameObjectOrder.MoveTo)
                 {
                     //no walking to fountain.
                     if (issueOrderArgs.TargetPosition == Vector3.Zero || issueOrderArgs.TargetPosition.X == 0)
                     {
                         issueOrderArgs.Process = false;
                         return;
                     }
                     //no walking to cursor pos
                     if (issueOrderArgs.TargetPosition.Distance(Game.CursorPos) < 50)
                     {
                         issueOrderArgs.Process = false;
                         return;
                     }
                     //force stay in fountain until 95% hp
                     if (ObjectManager.Player.InFountain() && ObjectManager.Player.HealthPercent < 95)
                     {
                         issueOrderArgs.Process = false;
                         return;
                     }
                     //no walking into turrets if no minions under it
                     if (!ObjectManager.Player.IsUnderEnemyTurret() && issueOrderArgs.TargetPosition.IsDangerousPosition())
                     {
                         issueOrderArgs.Process = false;
                         return;
                     }
                     //humanizer shit
                     if (Environment.TickCount - _lastMovementCommand > Utility.Random.GetRandomInteger(300, 1100))
                     {
                         _lastMovementCommand = Environment.TickCount;
                         return;
                     }
                 }
                 if (issueOrderArgs.Target != null)
                 {
                     if (issueOrderArgs.Target is Obj_BarracksDampener)
                     {
                         var target = (Obj_BarracksDampener)issueOrderArgs.Target;
                         if (!target.IsValidTarget() || target.Health < 1)
                         {
                             issueOrderArgs.Process = false;
                             return;
                         }
                     }
                     //no hitting heroes under enemy turrets
                     if (issueOrderArgs.Target is Obj_AI_Hero)
                     {
                         if (ObjectManager.Player.IsUnderEnemyTurret())
                         {
                             issueOrderArgs.Process = false;
                             return;
                         }
                     }
                     //no hitting jg camps
                     if (issueOrderArgs.Target is Obj_AI_Minion && (issueOrderArgs.Target as Obj_AI_Minion).Team == GameObjectTeam.Neutral)
                     {
                         Logging.Log("skipped hitting jg camp");
                         issueOrderArgs.Process = false;
                         return;
                     }
                 }
             }
         };
         Spellbook.OnCastSpell += (sender, castSpellArgs) =>
         {
             if (castSpellArgs.Slot == SpellSlot.Recall)
             {
                 Variables.Orbwalker.ActiveMode = OrbwalkingMode.Combo;
             }
         };
         Obj_AI_Base.OnProcessSpellCast += (sender, spellCastArgs) =>
         {
             if (Variables.Orbwalker.ActiveMode != OrbwalkingMode.Combo && spellCastArgs.Target != null && spellCastArgs.Target.IsMe)
             {
                 if (sender is Obj_AI_Minion)
                 {
                     AttackedByMinionsFlag = true;
                     DelayAction.Add(1350, () => AttackedByMinionsFlag = false);
                 }
                 if (sender is Obj_AI_Turret)
                 {
                     AttackedByTurretFlag = true;
                     DelayAction.Add(1500, () =>
                     {
                         if (!ObjectManager.Player.IsUnderEnemyTurret())
                         {
                             AttackedByTurretFlag = false;
                         }
                         else
                         {
                             DelayAction.Add(2250, () => AttackedByTurretFlag = false);
                         }
                     });
                 }
             }
         };
         Game.OnUpdate += args =>
         {
             if (ObjectManager.Player.IsRecalling() ||
                 (ObjectManager.Player.InFountain() && ObjectManager.Player.HealthPercent < 95))
             {
                 Variables.Orbwalker.ActiveMode = OrbwalkingMode.None;
                 return;
             }
             if (ObjectManager.Player.Position.IsDangerousPosition())
             {
                 AttackedByMinionsFlag = true;
                 DelayAction.Add(350, () => AttackedByMinionsFlag = false);
             }
         };
         Variables.Orbwalker.OnAction += (sender, args) =>
         {
             if (ObjectManager.Player.IsRecalling())
             {
                 args.Process = false;
                 Variables.Orbwalker.ActiveMode = OrbwalkingMode.None;
             }
             if (Environment.TickCount - _lastAfkCheckTime > 30000)
             {
                 _lastAfkCheckTime = Environment.TickCount;
                 if (_lastAfkCheckPosition.Distance(ObjectManager.Player.ServerPosition) < 400)
                 {
                     var pos = new Utility.Geometry.Circle(ObjectManager.Player.Position.ToVector2(), 500).ToPolygon().GetRandomPointInPolygon();
                     pos.WalkToPoint(OrbwalkingMode.None, true);
                 }
                 _lastAfkCheckPosition = ObjectManager.Player.ServerPosition;
             }
         };
     };
 }