예제 #1
0
파일: Program.cs 프로젝트: wade1990/PortAIO
 private static void Game_OnGameUpdate(EventArgs args)
 {
     ComboModeSwitch();
     //if (Helper.CanShield())
     //Chat.Print(Helper.CanShield().ToString());
     //Chat.Print(Helper.BonusMana.ToString());
     //Chat.Print(Helper.Qstack().ToString());
     //Chat.Print(Player.ManaPercent.ToString());
     if (_orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None && AutoTear && Player.ManaPercent >= AutoTearM &&
         Player.CountEnemiesInRange(1500) == 0)
     {
         if (ItemData.Tear_of_the_Goddess.GetItem().IsOwned() || ItemData.Archangels_Staff.GetItem().IsOwned() ||
             ItemData.Manamune.GetItem().IsOwned())
         {
             if (_q.IsReady())
             {
                 _q.Cast(Player.Position);
             }
         }
     }
     if (_orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
     {
         var target = _orbwalker.GetTarget();
         if ((_w.IsReady() || (Player.Mana >= _q.ManaCost + _e.ManaCost)) && BlockAA &&
             target.IsValidTarget() && (!target.IsValidTarget(350) || Player.CountEnemiesInRange(800) >= 2) ||
             !target.IsValidTarget())
         {
             _orbwalker.SetAttack(false);
         }
         else
         {
             _orbwalker.SetAttack(true);
         }
     }
     else
     {
         _orbwalker.SetAttack(true);
     }
     foreach (var hero in HeroManager.Enemies.Where(x => x.IsValidTarget(_q.Range) && !x.IsZombie))
     {
         if (_q.IsReady() && Helper.Qdamage(hero) >= hero.Health)
         {
             Helper.CastQTarget(hero);
         }
         if (_w.IsReady() && Helper.Wdamge(hero) >= hero.Health)
         {
             _w.Cast(hero);
         }
         if (_e.IsReady() && Helper.Edamge(hero) >= hero.Health)
         {
             _e.Cast(hero);
         }
     }
 }
예제 #2
0
파일: Combo.cs 프로젝트: volder1/PortAIO
        private static void Game_OnUpdate(EventArgs args)
        {
            if (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                return;
            }

            var target  = TargetSelector.GetTarget(600, DamageType.Magical);
            var target1 = TargetSelector.GetTarget(Program._q.Range, DamageType.Magical);

            if (Program.mode == 1 && Player.Level > 2)
            {
                var tarqs1 = ObjectManager.Get <Obj_AI_Minion>().Where(x => x.LSIsValidTarget() && x.IsMinion && x.LSDistance(Player.Position) <= Program._q.Range);
                var tars1  = tarqs1.Where(x => x.LSDistance(Player.Position) <= Program._e.Range);
                var heroes = HeroManager.Enemies.Where(x => x.LSIsValidTarget());
                var tarqs  = new List <Obj_AI_Base>();
                tarqs.AddRange(tarqs1);
                tarqs.AddRange(heroes.Where(x => x.LSIsValidTarget(Program._q.Range)));
                var tars = new List <Obj_AI_Base>();
                tars.AddRange(tars1);
                tars.AddRange(heroes.Where(x => x.LSIsValidTarget(Program._e.Range)));

                Obj_AI_Base MainTarget = null;

                // in investigation
                MainTarget = tarqs.Where(x => Helper.HasEBuff(x) && Program._q.GetPrediction(x).HitChance >= EloBuddy.SDK.Enumerations.HitChance.Low && Program._q.IsReady() &&
                                         Helper.GetchainedTarget(x).Count() >= 2 && Helper.GetchainedTarget(x).Count(y => y is AIHeroClient) >= 1)
                             .MaxOrDefault(x => Helper.GetchainedTarget(x).Count(y => y is AIHeroClient));
                if (MainTarget != null)
                {
                    Program._q.Cast(Program._q.GetPrediction(MainTarget).UnitPosition);
                }

                MainTarget = tars.Where(x => Helper.HasEBuff(x) && Program._e.IsReady() &&
                                        Helper.GetchainedTarget(x).Count(y => y is AIHeroClient) >= 1)
                             .MaxOrDefault(x => Helper.GetchainedTarget(x).Count(y => y is AIHeroClient));
                if (MainTarget != null)
                {
                    Program._e.Cast(MainTarget);
                }

                MainTarget = tars.Where(x => x.Health <= Helper.Edamge(x) && Program._e.IsReady() &&
                                        Helper.GetchainedTarget(x).Count(y => y is AIHeroClient) >= 1)
                             .MaxOrDefault(x => Helper.GetchainedTarget(x).Count(y => y is AIHeroClient));
                if (MainTarget != null)
                {
                    Program._e.Cast(MainTarget);
                }

                if (Helper.Qstack() == 2 && target1.LSIsValidTarget() && !target1.IsZombie)
                {
                    Program._q2.Cast(target1);
                }

                if (Helper.Qstack() != 2 && target.LSIsValidTarget() && !target.IsZombie)
                {
                    if (Program._e.IsReady())
                    {
                        Program._e.Cast(target);
                    }
                    if (Program._w.IsReady())
                    {
                        Program._w.Cast(target);
                    }
                }
            }
            if (Program.mode == 0 || Player.Level <= 2)
            {
                if (target.IsValidTarget() && !target.IsZombie)
                {
                    if (Program._q.IsReady())
                    {
                        Helper.CastQTarget(target, true);
                        return;
                    }
                    if (Program._w.IsReady())
                    {
                        Program._w.Cast(target);
                        return;
                    }
                    if (Program._e.IsReady())
                    {
                        Program._e.Cast(target);
                        return;
                    }
                }
                else
                {
                    if (target1.IsValidTarget() && !target1.IsZombie)
                    {
                        Helper.CastQTarget(target1);
                    }
                }
            }
        }