コード例 #1
0
 private void OnEnemyGapcloser(ActiveGapcloser gapcloser)
 {
     if (Player.IsDead || !GetValue <bool>("AntiGap", "Q") || !GetValue <bool>("AntiGap", gapcloser.Sender.ChampionName + "_" + gapcloser.Slot.ToString()) || !Q.IsReady() || !Orbwalk.InAutoAttackRange(gapcloser.Sender))
     {
         return;
     }
     if (Q2.CastIfWillHit(gapcloser.Sender, -1, PacketCast))
     {
         return;
     }
 }
コード例 #2
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(700, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth);

            if (minionObj.Count == 0)
            {
                return;
            }
            if (GetValue <bool>("Clear", "E") && E.IsReady() && minionObj.Count(i => E.IsInRange(i)) > 0 && !Player.HasBuff("GarenE") && !Player.HasBuff("GarenQ") && E.Cast(PacketCast))
            {
                return;
            }
            if (GetValue <bool>("Clear", "Q"))
            {
                switch (GetValue <StringList>("Clear", "QMode").SelectedIndex)
                {
                case 0:
                    if (Q.IsReady() && minionObj.Count(i => Player.Distance(i, true) <= Math.Pow(Orbwalk.GetAutoAttackRange(Player, i) + 40, 2)) == 0 && Q.Cast(PacketCast))
                    {
                        return;
                    }
                    break;

                case 1:
                    if ((Q.IsReady() || Player.HasBuff("GarenQ")) && !Player.HasBuff("GarenE"))
                    {
                        var Obj = minionObj.Find(i => Orbwalk.InAutoAttackRange(i) && CanKill(i, Q));
                        if (Obj != null && Player.IssueOrder(GameObjectOrder.AttackUnit, Obj))
                        {
                            return;
                        }
                    }
                    break;
                }
            }
        }
コード例 #3
0
ファイル: Jax.cs プロジェクト: LeagueSharpArchive/BrianSharp
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth);

            if (minionObj.Count == 0)
            {
                return;
            }
            if (GetValue <bool>("Clear", "E") && E.IsReady() && !Player.HasBuff("JaxEvasion"))
            {
                if (GetValue <bool>("Clear", "Q") && Q.IsReady() && minionObj.Count(i => E.IsInRange(i)) == 0)
                {
                    foreach (var Obj in minionObj)
                    {
                        if (minionObj.Count(i => i.Distance(Obj, true) <= E.RangeSqr) > 1 && E.Cast(PacketCast) && Q.CastOnUnit(Obj, PacketCast))
                        {
                            return;
                        }
                    }
                }
                else if ((minionObj.Count(i => i.MaxHealth >= 1200 && E.IsInRange(i)) > 0 || minionObj.Count(i => E.IsInRange(i)) > 2) && E.Cast(PacketCast))
                {
                    return;
                }
            }
            if (GetValue <bool>("Clear", "W") && W.IsReady() && GetValue <bool>("Clear", "Q") && Q.IsReady() && Player.Mana >= W.Instance.ManaCost + Q.Instance.ManaCost)
            {
                var Obj = minionObj.Find(i => i.MaxHealth >= 1200 && CanKill(i, Q, Q.GetDamage(i) + GetBonusDmg(i)));
                if (Obj != null && W.Cast(PacketCast) && Q.CastOnUnit(Obj, PacketCast))
                {
                    return;
                }
            }
            if (GetValue <bool>("Clear", "Q") && Q.IsReady())
            {
                var Obj = minionObj.Find(i => i.MaxHealth >= 1200 && ((Player.HasBuff("JaxEmpowerTwo") && CanKill(i, Q, Q.GetDamage(i) + GetBonusDmg(i))) || CanKill(i, Q)));
                if (Obj == null && (minionObj.Count(i => Player.Distance(i, true) <= Math.Pow(Orbwalk.GetAutoAttackRange(Player, i) + 40, 2)) == 0 || (GetValue <bool>("Clear", "E") && E.IsReady() && Player.HasBuff("JaxEvasion") && minionObj.Count(i => E.IsInRange(i)) == 0)))
                {
                    Obj = minionObj.MinOrDefault(i => i.Health);
                }
                if (Obj != null && Q.CastOnUnit(Obj, PacketCast))
                {
                    return;
                }
            }
            if (GetValue <bool>("Clear", "Item"))
            {
                var Item = Hydra.IsReady() ? Hydra : Tiamat;
                if (Item.IsReady() && (minionObj.Count(i => Item.IsInRange(i)) > 2 || minionObj.Any(i => i.MaxHealth >= 1200 && i.Distance(Player, true) <= Math.Pow(Item.Range - 80, 2))) && Item.Cast())
                {
                    return;
                }
            }
            if (GetValue <bool>("SmiteMob", "Smite") && Smite.IsReady())
            {
                var Obj = minionObj.Find(i => i.Team == GameObjectTeam.Neutral && CanSmiteMob(i.Name));
                if (Obj != null && CastSmite(Obj))
                {
                    return;
                }
            }
        }
コード例 #4
0
ファイル: Maokai.cs プロジェクト: Sakamaki-Izayoi/Huabian
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth);

            if (minionObj.Count == 0)
            {
                return;
            }
            if (GetValue <bool>("Clear", "E") && E.IsReady() && (minionObj.Count > 2 || minionObj.Any(i => i.MaxHealth >= 1200)))
            {
                var Pos = E.GetCircularFarmLocation(minionObj);
                if (Pos.MinionsHit > 0 && Pos.Position.IsValid() && E.Cast(Pos.Position, PacketCast))
                {
                    return;
                }
            }
            if (GetValue <bool>("Clear", "Q") && Q.IsReady())
            {
                var Pos = Q.GetLineFarmLocation(minionObj.FindAll(i => Q.IsInRange(i)));
                if (Pos.MinionsHit > 0 && Pos.Position.IsValid() && Q.Cast(Pos.Position, PacketCast))
                {
                    return;
                }
            }
            if (GetValue <bool>("Clear", "W") && W.IsReady())
            {
                var Obj = minionObj.Find(i => W.IsInRange(i) && i.MaxHealth >= 1200);
                if (Obj == null && minionObj.Count(i => Player.Distance(i, true) <= Math.Pow(Orbwalk.GetAutoAttackRange(Player, i) + 40, 2)) == 0)
                {
                    Obj = minionObj.FindAll(i => W.IsInRange(i)).MinOrDefault(i => i.Health);
                }
                if (Obj != null && W.CastOnUnit(Obj, PacketCast))
                {
                    return;
                }
            }
            if (GetValue <bool>("SmiteMob", "Smite") && Smite.IsReady())
            {
                var Obj = minionObj.Find(i => i.Team == GameObjectTeam.Neutral && CanSmiteMob(i.Name));
                if (Obj != null && CastSmite(Obj))
                {
                    return;
                }
            }
        }
コード例 #5
0
ファイル: Jax.cs プロジェクト: LeagueSharpArchive/BrianSharp
 private void NormalCombo(string Mode)
 {
     if (GetValue <bool>(Mode, "E") && E.IsReady() && (Mode == "Combo" || (Mode == "Harass" && (!GetValue <bool>(Mode, "R") || (GetValue <bool>(Mode, "R") && (R.Level == 0 || (R.Level > 0 && !W.IsReady() && !Q.IsReady())))))))
     {
         if (!Player.HasBuff("JaxEvasion"))
         {
             if (GetValue <bool>(Mode, "Q") && Q.IsReady() && E.GetTarget() == null)
             {
                 var Target = Q.GetTarget();
                 if (Target != null && E.Cast(PacketCast) && Q.CastOnUnit(Target, PacketCast))
                 {
                     return;
                 }
             }
             else if (E.GetTarget() != null && E.Cast(PacketCast))
             {
                 return;
             }
         }
         else if ((Player.CountEnemiesInRange(E.Range) >= GetValue <Slider>(Mode, "ECountA").Value || (E.GetTarget() != null && Player.Distance(E.GetTarget(), true) >= Math.Pow(E.Range - 50, 2))) && E.Cast(PacketCast))
         {
             return;
         }
     }
     if (Mode == "Harass" && GetValue <bool>(Mode, "R") && R.Level > 0 && GetValue <bool>(Mode, "W") && GetValue <bool>(Mode, "Q") && Player.Mana >= W.Instance.ManaCost + Q.Instance.ManaCost)
     {
         if (RCount == 2 && W.IsReady() && Q.IsReady())
         {
             var Target = Q.GetTarget();
             if (Target != null && W.Cast(PacketCast) && Q.CastOnUnit(Target, PacketCast))
             {
                 return;
             }
         }
     }
     else
     {
         if (GetValue <bool>(Mode, "W") && W.IsReady() && GetValue <bool>(Mode, "Q") && Q.IsReady() && Player.Mana >= W.Instance.ManaCost + Q.Instance.ManaCost)
         {
             var Target = Q.GetTarget();
             if (Target != null && CanKill(Target, Q, Q.GetDamage(Target) + GetBonusDmg(Target)) && W.Cast(PacketCast) && Q.CastOnUnit(Target, PacketCast))
             {
                 return;
             }
         }
         if (GetValue <bool>(Mode, "Q") && Q.IsReady())
         {
             var Target = Q.GetTarget();
             if (Target != null)
             {
                 if (((Player.HasBuff("JaxEmpowerTwo") && CanKill(Target, Q, Q.GetDamage(Target) + GetBonusDmg(Target))) || CanKill(Target, Q)) && Q.CastOnUnit(Target, PacketCast))
                 {
                     return;
                 }
                 else if (Mode == "Combo" || (Mode == "Harass" && Player.HealthPercentage() >= GetValue <Slider>(Mode, "QHpA").Value))
                 {
                     if ((Player.Distance(Target, true) > Math.Pow(Orbwalk.GetAutoAttackRange(Player, Target) + 30, 2) || (GetValue <bool>(Mode, "E") && E.IsReady() && Player.HasBuff("JaxEvasion") && !E.IsInRange(Target))) && Q.CastOnUnit(Target, PacketCast))
                     {
                         return;
                     }
                 }
             }
         }
     }
     if (Mode == "Combo" && GetValue <bool>(Mode, "R") && R.IsReady())
     {
         var RCount = GetValue <Slider>(Mode, "RCountA").Value;
         if (((RCount > 1 && (Player.CountEnemiesInRange(Q.Range) >= RCount || Q.GetTarget() != null)) || (RCount == 1 && Q.GetTarget() != null)) && Player.HealthPercentage() < GetValue <Slider>(Mode, "RHpU").Value&& R.Cast(PacketCast))
         {
             return;
         }
     }
 }
コード例 #6
0
 private void NormalCombo(string Mode)
 {
     if (Mode == "Combo" && GetValue <bool>(Mode, "E") && GetValue <bool>(Mode, "EAoE") && Player.HasBuff("JudicatorRighteousFury"))
     {
         var Target = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => Orbwalk.InAutoAttackRange(i)).MaxOrDefault(i => i.CountEnemiesInRange(150));
         if (Target != null)
         {
             Orbwalk.ForcedTarget = Target;
         }
     }
     else
     {
         Orbwalk.ForcedTarget = null;
     }
     if (GetValue <bool>(Mode, "Q"))
     {
         var Target = Q.GetTarget();
         if (Target != null && ((Player.Distance(Target, true) > Math.Pow(Q.Range - 100, 2) && !Target.IsFacing(Player)) || Target.HealthPercentage() > 60) && Q.CastOnUnit(Target, PacketCast))
         {
             return;
         }
     }
     if (GetValue <bool>(Mode, "E") && E.IsReady() && E.GetTarget() != null && E.Cast(PacketCast))
     {
         return;
     }
     if (Mode == "Combo")
     {
         if (GetValue <bool>(Mode, "W") && W.IsReady())
         {
             if (GetValue <bool>(Mode, "WHeal"))
             {
                 var Obj = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => i.IsAlly && i.IsValidTarget(W.Range, false) && GetValue <bool>("Heal", MenuName(i)) && i.HealthPercentage() < GetValue <Slider>("Heal", MenuName(i) + "HpU").Value&& !i.InFountain() && !i.IsRecalling() && i.CountEnemiesInRange(W.Range) > 0 && !i.HasBuff("JudicatorIntervention") && !i.HasBuff("Undying Rage")).MinOrDefault(i => i.Health);
                 if (Obj != null && W.CastOnUnit(Obj, PacketCast))
                 {
                     return;
                 }
             }
             if (GetValue <bool>(Mode, "WSpeed"))
             {
                 var Target = Q.GetTarget(200);
                 if (Target != null && !Target.IsFacing(Player) && (!Player.HasBuff("JudicatorRighteousFury") || (Player.HasBuff("JudicatorRighteousFury") && !Orbwalk.InAutoAttackRange(Target))) && (!GetValue <bool>(Mode, "Q") || (GetValue <bool>(Mode, "Q") && Q.IsReady() && !Q.IsInRange(Target))) && W.Cast(PacketCast))
                 {
                     return;
                 }
             }
         }
         if (GetValue <bool>(Mode, "R") && R.IsReady())
         {
             if (GetValue <bool>(Mode, "RSave"))
             {
                 var Obj = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => i.IsAlly && i.IsValidTarget(R.Range, false) && GetValue <bool>("Save", MenuName(i)) && i.HealthPercentage() < GetValue <Slider>("Save", MenuName(i) + "HpU").Value&& !i.InFountain() && !i.IsRecalling() && i.CountEnemiesInRange(R.Range) > 0 && !i.HasBuff("Undying Rage")).MinOrDefault(i => i.Health);
                 if (Obj != null && R.CastOnUnit(Obj, PacketCast))
                 {
                     return;
                 }
             }
             if (GetValue <StringList>(Mode, "RAnti").SelectedIndex > 0)
             {
                 var Obj = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => i.IsAlly && i.IsValidTarget(R.Range, false) && RAntiDetected.ContainsKey(i.NetworkId) && Game.Time > RAntiDetected[i.NetworkId].StartTick && !i.HasBuff("Undying Rage")).MinOrDefault(i => i.Health);
                 if (Obj != null && R.CastOnUnit(Obj, PacketCast))
                 {
                     return;
                 }
             }
         }
     }
 }
コード例 #7
0
 private void NormalCombo(string Mode)
 {
     if (GetValue <bool>(Mode, "W") && W.IsReady() && Player.HasBuff("AuraofDespair") && W.GetTarget(200) == null && W.Cast(PacketCast))
     {
         return;
     }
     if (Mode == "Combo")
     {
         if (GetValue <bool>(Mode, "R") && R.IsReady())
         {
             var Target = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => i.IsValidTarget(R.Range));
             if (((Target.Count > 1 && Target.Count(i => CanKill(i, R)) > 0) || Target.Count >= GetValue <Slider>(Mode, "RCountA").Value || (Target.Count > 1 && Target.Count(i => i.HealthPercentage() < GetValue <Slider>(Mode, "RHpU").Value) > 0)) && R.Cast(PacketCast))
             {
                 return;
             }
         }
         if (GetValue <bool>(Mode, "Q") && Q.IsReady())
         {
             if (GetValue <bool>(Mode, "R") && R.IsReady())
             {
                 foreach (var Obj in ObjectManager.Get <Obj_AI_Base>().FindAll(i => !(i is Obj_AI_Turret) && i.IsValidTarget(Q.Range) && Q.GetPrediction(i).Hitchance >= HitChance.High).OrderByDescending(i => i.CountEnemiesInRange(R.Range)))
                 {
                     var Sub = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => i.IsValidTarget(R.Range - 20, true, Obj.ServerPosition));
                     if (Sub.Count > 0 && ((Sub.Count > 1 && Sub.Count(i => CanKill(i, R)) > 0) || Sub.Count >= GetValue <Slider>(Mode, "RCountA").Value || (Sub.Count > 1 && Sub.Count(i => i.HealthPercentage() < GetValue <Slider>(Mode, "RHpU").Value) > 0)) && Q.CastIfHitchanceEquals(Obj, HitChance.High, PacketCast))
                     {
                         return;
                     }
                 }
             }
             var Target = Q.GetTarget();
             if (Target != null && !Orbwalk.InAutoAttackRange(Target))
             {
                 var State = Q.Cast(Target, PacketCast);
                 if (State.IsCasted())
                 {
                     return;
                 }
                 else if (State == Spell.CastStates.Collision && GetValue <bool>(Mode, "QCol"))
                 {
                     var Pred = Q.GetPrediction(Target);
                     if (Pred.CollisionObjects.FindAll(i => i.IsMinion).Count == 1 && CastSmite(Pred.CollisionObjects.First()) && Q.Cast(Pred.CastPosition, PacketCast))
                     {
                         return;
                     }
                 }
             }
         }
     }
     if (GetValue <bool>(Mode, "E") && E.IsReady() && E.GetTarget() != null && E.Cast(PacketCast))
     {
         return;
     }
     if (GetValue <bool>(Mode, "W") && W.IsReady())
     {
         if (Player.ManaPercentage() >= GetValue <Slider>(Mode, "WMpA").Value)
         {
             if (W.GetTarget(60) != null)
             {
                 if (!Player.HasBuff("AuraofDespair") && W.Cast(PacketCast))
                 {
                     return;
                 }
             }
             else if (Player.HasBuff("AuraofDespair") && W.Cast(PacketCast))
             {
                 return;
             }
         }
         else if (Player.HasBuff("AuraofDespair") && W.Cast(PacketCast))
         {
             return;
         }
     }
 }
コード例 #8
0
ファイル: Lucian.cs プロジェクト: Sakamaki-Izayoi/Huabian
 private void NormalCombo(string Mode)
 {
     if (Mode == "Combo" && GetValue <bool>(Mode, "R") && R.IsReady())
     {
         var Target = R.GetTarget();
         if (Target != null && CanKill(Target, R, GetRDmg(Target)))
         {
             if (Player.Distance(Target, true) > Math.Pow(550, 2) || (!Orbwalk.InAutoAttackRange(Target) && Player.Distance(Target, true) <= Math.Pow(550, 2) && (!GetValue <bool>(Mode, "Q") || (GetValue <bool>(Mode, "Q") && !Q.IsReady())) && (!GetValue <bool>(Mode, "W") || (GetValue <bool>(Mode, "W") && !W.IsReady())) && (!GetValue <bool>(Mode, "E") || (GetValue <bool>(Mode, "E") && !E.IsReady()))))
             {
                 if (R.CastIfHitchanceEquals(Target, HitChance.Medium, PacketCast))
                 {
                     RTarget   = Target;
                     REndPos   = (Player.ServerPosition - Target.ServerPosition).Normalized();
                     RKillable = true;
                     if (GetValue <bool>(Mode, "RItem") && Youmuu.IsReady())
                     {
                         Utility.DelayAction.Add(10, () => Youmuu.Cast());
                     }
                     return;
                 }
             }
         }
     }
     if (Mode == "Combo" && GetValue <bool>(Mode, "E") && GetValue <bool>(Mode, "EGap") && E.IsReady())
     {
         var Target = E.GetTarget(Orbwalk.GetAutoAttackRange());
         if (Target != null && !Orbwalk.InAutoAttackRange(Target) && Target.Distance(Player.ServerPosition.Extend(Game.CursorPos, E.Range)) + 20 <= Orbwalk.GetAutoAttackRange(Player, Target) && E.Cast(Player.ServerPosition.Extend(Game.CursorPos, E.Range), PacketCast))
         {
             return;
         }
     }
     if (HavePassive(Mode) && GetValue <bool>(Mode, "PSave"))
     {
         return;
     }
     if (!GetValue <bool>(Mode, "E") || (GetValue <bool>(Mode, "E") && !E.IsReady()))
     {
         if (Mode == "Combo" && GetValue <bool>(Mode, "E") && E.IsReady(GetValue <Slider>(Mode, "EDelay").Value))
         {
             return;
         }
         if (GetValue <bool>(Mode, "Q") && Q.IsReady())
         {
             var Target = Q.GetTarget();
             if (Target == null)
             {
                 Target = Q2.GetTarget();
             }
             if (Target != null)
             {
                 if (((Orbwalk.InAutoAttackRange(Target) && !HavePassive(Mode)) || (Player.Distance(Target, true) > Math.Pow(Orbwalk.GetAutoAttackRange(Player, Target) + 20, 2) && Q.IsInRange(Target))) && Q.CastOnUnit(Target, PacketCast) && Player.IssueOrder(GameObjectOrder.AttackUnit, Target))
                 {
                     return;
                 }
                 else if ((Mode == "Harass" || (Mode == "Combo" && GetValue <bool>(Mode, "QExtend"))) && !Q.IsInRange(Target) && CastExtendQ(Target))
                 {
                     return;
                 }
             }
         }
         if ((!GetValue <bool>(Mode, "Q") || (GetValue <bool>(Mode, "Q") && !Q.IsReady())) && GetValue <bool>(Mode, "W") && W.IsReady() && !Player.IsDashing())
         {
             var Target = W.GetTarget();
             if (Target != null && ((Orbwalk.InAutoAttackRange(Target) && !HavePassive(Mode)) || (Player.Distance(Target, true) > Math.Pow(Orbwalk.GetAutoAttackRange(Player, Target) + 20, 2))))
             {
                 if ((Mode == "Harass" || (Mode == "Combo" && GetValue <bool>(Mode, "WPred"))) && W.CastIfHitchanceEquals(Target, HitChance.Medium, PacketCast))
                 {
                     return;
                 }
                 else if (Mode == "Combo" && !GetValue <bool>(Mode, "WPred") && W.Cast(W.GetPrediction(Target).CastPosition, PacketCast))
                 {
                     return;
                 }
             }
         }
     }
 }
コード例 #9
0
ファイル: Lucian.cs プロジェクト: Sakamaki-Izayoi/Huabian
        private void AfterAttack(AttackableUnit Target)
        {
            if (!E.IsReady() || !Target.IsValidTarget())
            {
                return;
            }
            if ((Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear && GetValue <bool>("Clear", "E") && !HavePassive() && Target is Obj_AI_Minion) || ((Orbwalk.CurrentMode == Orbwalk.Mode.Combo || (Orbwalk.CurrentMode == Orbwalk.Mode.Harass && Player.HealthPercentage() >= GetValue <Slider>("Harass", "EHpA").Value)) && GetValue <bool>(Orbwalk.CurrentMode.ToString(), "E") && !HavePassive(Orbwalk.CurrentMode.ToString()) && Target is Obj_AI_Hero))
            {
                if (Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.Harass || (Orbwalk.CurrentMode == Orbwalk.Mode.Combo && GetValue <StringList>("Combo", "EMode").SelectedIndex == 0))
                {
                    var Pos = Geometry.CircleCircleIntersection(Player.ServerPosition.To2D(), ((Obj_AI_Base)Target).ServerPosition.To2D(), E.Range, Orbwalk.GetAutoAttackRange(Player, Target));
                    if (Pos.Count() > 0)
                    {
                        if (E.Cast(Pos.MinOrDefault(i => i.Distance(Game.CursorPos)), PacketCast))
                        {
                            return;
                        }
                    }
                    else if (E.Cast(Player.ServerPosition.Extend(((Obj_AI_Base)Target).ServerPosition, -E.Range), PacketCast))
                    {
                        return;
                    }
                }
                else if (Orbwalk.CurrentMode == Orbwalk.Mode.Combo)
                {
                    switch (GetValue <StringList>("Combo", "EMode").SelectedIndex)
                    {
                    case 1:
                        if (E.Cast(Player.ServerPosition.Extend(Game.CursorPos, E.Range), PacketCast))
                        {
                            return;
                        }
                        break;

                    case 2:
                        if (E.Cast(((Obj_AI_Base)Target).ServerPosition, PacketCast))
                        {
                            return;
                        }
                        break;
                    }
                }
            }
        }