//private static bool _casted = false; //struct MinionHealthPerSecond //{ // public float LastHp; // public float DamagePerSecond; //} //private MinionHealthPerSecond[] calcMinionHealth(Obj_AI_Base[] minionsBase) //{ // MinionHealthPerSecond[] minionsStruct = new MinionHealthPerSecond[minionsBase.Length]; // const int checkDelay = 2; // for (int i = 0; checkDelay > i; i++) // { // var startTime = Utils.TickCount; // var endTime = startTime + 1; // if (Utils.TickCount < endTime) // for (int index = 0; index < minionsBase.Length; index++) // { // if (minionsBase[index].IsDead) // continue; // var cMinionHP = minionsBase[index].Health; // if (Math.Abs(minionsStruct[index].LastHp) > 1) // minionsStruct[index].DamagePerSecond = (minionsStruct[index].LastHp - minionsBase[index].Health/checkDelay); // minionsStruct[index].LastHp = minionsBase[index].Health; // } // } // return minionsStruct; //} public static void LaneClear() { if (!GlobalManager.Config.Item("disablelane").IsActive()) { return; } var qlchSpell = GlobalManager.Config.Item("useQlc").GetValue <bool>(); var elchSpell = GlobalManager.Config.Item("useElc").GetValue <bool>(); var wlchSpell = GlobalManager.Config.Item("useWlc").GetValue <bool>(); var qlcSpell = GlobalManager.Config.Item("useQ2L").GetValue <bool>(); var elcSpell = GlobalManager.Config.Item("useE2L").GetValue <bool>(); var wlcSpell = GlobalManager.Config.Item("useW2L").GetValue <bool>(); var minMana = GlobalManager.Config.Item("useEPL").GetValue <Slider>().Value; var minionCount = MinionManager.GetMinions(GlobalManager.GetHero.Position, Champion.Q.Range, MinionTypes.All, MinionTeam.NotAlly); if (GlobalManager.GetHero.ManaPercent <= minMana) { return; } foreach (var minion in minionCount) { if (qlcSpell && Champion.Q.IsReady()) { Champion.Q.Cast(minion); } if (elcSpell && Champion.E.IsReady() && minion.IsValidTarget(Champion.E.Range)) { Champion.E.Cast(minion); } if (wlcSpell && Champion.W.IsReady() && minion.IsValidTarget(Champion.W.Range)) { Champion.W.Cast(minion); } var minionHp = minion.Health; // Reduce Calls and add in randomization buffer. if (minion.IsDead) { return; } if (qlchSpell && Champion.Q.IsReady() && minion.IsValidTarget(Champion.Q.Range) && minionHp <= Champion.Q.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.Q.Cast(minion); } else if (wlchSpell && Champion.W.IsReady() && minion.IsValidTarget(Champion.W.Range) && minionHp <= Champion.W.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.W.CastOnUnit(minion); } else if (elchSpell && Champion.E.IsReady() && minion.IsValidTarget(Champion.E.Range) && minionHp <= Champion.E.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.E.Cast(minion); } } }
//struct MinionHealthPerSecond //{ // public float LastHp; // public float DamagePerSecond; //} //private MinionHealthPerSecond[] calcMinionHealth(Obj_AI_Base[] minionsBase) //{ // MinionHealthPerSecond[] minionsStruct = new MinionHealthPerSecond[minionsBase.Length]; // const int checkDelay = 2; // for (int i = 0; checkDelay > i; i++) // { // var startTime = Utils.TickCount; // var endTime = startTime + 1; // if (Utils.TickCount < endTime) // for (int index = 0; index < minionsBase.Length; index++) // { // if (minionsBase[index].IsDead) // continue; // var cMinionHP = minionsBase[index].Health; // if (Math.Abs(minionsStruct[index].LastHp) > 1) // minionsStruct[index].DamagePerSecond = (minionsStruct[index].LastHp - minionsBase[index].Health/checkDelay); // minionsStruct[index].LastHp = minionsBase[index].Health; // } // } // return minionsStruct; //} public static void LaneClear() { if (GlobalManager.GetPassiveBuff == 4 && !GlobalManager.GetHero.HasBuff("RyzeR") && getCheckBoxItem(MenuManager.laneMenu, "passiveproc")) { return; } var qlchSpell = getCheckBoxItem(MenuManager.laneMenu, "useQlc"); var elchSpell = getCheckBoxItem(MenuManager.laneMenu, "useElc"); var wlchSpell = getCheckBoxItem(MenuManager.laneMenu, "useWlc"); var q2LSpell = getCheckBoxItem(MenuManager.laneMenu, "useQ2L"); var e2LSpell = getCheckBoxItem(MenuManager.laneMenu, "useE2L"); var w2LSpell = getCheckBoxItem(MenuManager.laneMenu, "useW2L"); var rSpell = getCheckBoxItem(MenuManager.laneMenu, "useRl"); var rSlider = getSliderItem(MenuManager.laneMenu, "rMin"); var minMana = getSliderItem(MenuManager.laneMenu, "useEPL"); var minionCount = MinionManager.GetMinions(GlobalManager.GetHero.Position, Champion.Q.Range, MinionTypes.All, MinionTeam.NotAlly); if (GlobalManager.GetHero.ManaPercent <= minMana) { return; } foreach (var minion in minionCount) { if (!GlobalManager.CheckMinion(minion)) { continue; } var minionHp = minion.Health;// Reduce Calls and add in randomization buffer. //if (GlobalManager.Config.Item("doHuman")) // minionHp = minion.Health * (1 + (Seeder.Next(GlobalManager.Config.Item("minCreepHPOffset").GetValue<Slider>().Value, GlobalManager.Config.Item("maxCreepHPOffset").GetValue<Slider>().Value) / 100.0f));//Randomioze Minion Hp from min to max hp less than damage if (minion.IsDead) { return; } SpellSequence(minion, "useQ2L", "useE2L", "useW2L", "useRl"); if (qlchSpell && Champion.Q.IsReady() && minion.LSIsValidTarget(Champion.Q.Range) && minionHp <= Champion.Q.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.Q.Cast(minion); } else if (wlchSpell && Champion.W.IsReady() && minion.LSIsValidTarget(Champion.W.Range) && minionHp <= Champion.W.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.W.CastOnUnit(minion); } else if (elchSpell && Champion.E.IsReady() && minion.LSIsValidTarget(Champion.E.Range) && minionHp <= Champion.E.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.E.CastOnUnit(minion); } if (rSpell && Champion.R.IsReady() && minion.LSIsValidTarget(Champion.Q.Range) && minionCount.Count > rSlider && GlobalManager.CheckMinion(minion)) { Champion.R.Cast(); } } }
private static void StartComboSequence(Obj_AI_Base target, IReadOnlyList <bool> bSpells, IEnumerable <char> seq, float hpOffset = 1) { foreach (var com in seq) { var isMinion = target.IsMinion; switch (com) { case 'Q': if (!bSpells[0]) { continue; } if (target.IsValidTarget(Champion.Q.Range) && Champion.Q.IsReady() && !target.IsInvulnerable) { if (isMinion && !(target.Health * hpOffset < Champion.Q.GetDamage(target) && GlobalManager.CheckMinion(target))) { continue; } if (GlobalManager.GetPassiveBuff > 2 || GlobalManager.GetHero.HasBuff("RyzePassiveStack") && Champion.Q.IsReady()) { Champion.Qn.Cast(target); } else { Champion.Q.Cast(target); } } continue; case 'W': if (!bSpells[1]) { continue; } if (target.IsValidTarget(Champion.W.Range) && bSpells[1] && Champion.W.IsReady() && !target.IsInvulnerable) { if (isMinion && !(target.Health * hpOffset < Champion.W.GetDamage(target) && GlobalManager.CheckMinion(target))) { continue; } } Champion.W.Cast(target); continue; case 'E': if (!bSpells[2]) { continue; } if (target.IsValidTarget(Champion.E.Range) && bSpells[2] && Champion.E.IsReady() && !target.IsInvulnerable) { if (isMinion && !(target.Health * hpOffset < Champion.E.GetDamage(target) && GlobalManager.CheckMinion(target))) { continue; } } Champion.E.Cast(target); continue; case 'R': if (!bSpells[3]) { continue; } if (!target.IsValidTarget(Champion.W.Range) || !(target.Health > (Champion.Q.GetDamage(target) + Champion.E.GetDamage(target))) || target.IsInvulnerable) { continue; } if (!Champion.R.IsReady()) { continue; } if (bSpells[4] && target.HasBuff("RyzeW") || !bSpells[4]) { Champion.R.Cast(); } continue; } } if (!Champion.R.IsReady() || GlobalManager.GetPassiveBuff != 4 || !bSpells[4]) { return; } if (Champion.Q.IsReady() || Champion.W.IsReady() || Champion.E.IsReady()) { return; } Champion.R.Cast(); }
//struct MinionHealthPerSecond //{ // public float LastHp; // public float DamagePerSecond; //} //private MinionHealthPerSecond[] calcMinionHealth(Obj_AI_Base[] minionsBase) //{ // MinionHealthPerSecond[] minionsStruct = new MinionHealthPerSecond[minionsBase.Length]; // const int checkDelay = 2; // for (int i = 0; checkDelay > i; i++) // { // var startTime = Utils.TickCount; // var endTime = startTime + 1; // if (Utils.TickCount < endTime) // for (int index = 0; index < minionsBase.Length; index++) // { // if (minionsBase[index].IsDead) // continue; // var cMinionHP = minionsBase[index].Health; // if (Math.Abs(minionsStruct[index].LastHp) > 1) // minionsStruct[index].DamagePerSecond = (minionsStruct[index].LastHp - minionsBase[index].Health/checkDelay); // minionsStruct[index].LastHp = minionsBase[index].Health; // } // } // return minionsStruct; //} public static void LaneClear() { if (GlobalManager.GetPassiveBuff == 4 && !GlobalManager.GetHero.HasBuff("RyzeR") && GlobalManager.Config.Item("passiveproc").GetValue <bool>()) { return; } var qlchSpell = GlobalManager.Config.Item("useQlc").GetValue <bool>(); var elchSpell = GlobalManager.Config.Item("useElc").GetValue <bool>(); var wlchSpell = GlobalManager.Config.Item("useWlc").GetValue <bool>(); var q2LSpell = GlobalManager.Config.Item("useQ2L").GetValue <bool>(); var e2LSpell = GlobalManager.Config.Item("useE2L").GetValue <bool>(); var w2LSpell = GlobalManager.Config.Item("useW2L").GetValue <bool>(); var rSpell = GlobalManager.Config.Item("useRl").GetValue <bool>(); var rSlider = GlobalManager.Config.Item("rMin").GetValue <Slider>().Value; var minMana = GlobalManager.Config.Item("useEPL").GetValue <Slider>().Value; var minionCount = MinionManager.GetMinions(GlobalManager.GetHero.Position, Champion.Q.Range, MinionTypes.All, MinionTeam.NotAlly); if (GlobalManager.GetHero.ManaPercent <= minMana) { return; } DisplayLaneOption("Clearing Lane"); foreach (var minion in minionCount) { float randSeed = Seeder.Next(1, RandomThreshold); var minionHp = minion.Health * (1 + (randSeed / 100.0f)); // Reduce Calls and add in randomization buffer. if (!GlobalManager.CheckMinion(minion)) { continue; } if (qlchSpell && Champion.Q.IsReady() && minion.IsValidTarget(Champion.Q.Range) && minionHp <= Champion.Q.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.Q.Cast(minion); } else if (wlchSpell && Champion.W.IsReady() && minion.IsValidTarget(Champion.W.Range) && minionHp <= Champion.W.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.W.CastOnUnit(minion); } else if (elchSpell && Champion.E.IsReady() && minion.IsValidTarget(Champion.E.Range) && minionHp <= Champion.E.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.E.CastOnUnit(minion); } else if (q2LSpell && Champion.Q.IsReady() && minion.IsValidTarget(Champion.Q.Range) && minionHp >= (GlobalManager.GetHero.GetAutoAttackDamage(minion) * 1.3) && GlobalManager.CheckMinion(minion)) { Champion.Q.Cast(minion); } else if (e2LSpell && Champion.E.IsReady() && minion.IsValidTarget(Champion.E.Range) && minionHp >= (GlobalManager.GetHero.GetAutoAttackDamage(minion) * 1.3) && GlobalManager.CheckMinion(minion)) { Champion.E.CastOnUnit(minion); } else if (w2LSpell && Champion.W.IsReady() && minion.IsValidTarget(Champion.W.Range) && minionHp >= (GlobalManager.GetHero.GetAutoAttackDamage(minion) * 1.3) && GlobalManager.CheckMinion(minion)) { Champion.W.CastOnUnit(minion); } if (rSpell && Champion.R.IsReady() && minion.IsValidTarget(Champion.Q.Range) && minionCount.Count > rSlider && GlobalManager.CheckMinion(minion)) { Champion.R.Cast(); } } }
private static void StartComboSequence(Obj_AI_Base target, IReadOnlyList <bool> bSpells, IEnumerable <char> seq, float hpOffset = 1) { //var autoAttack = !GlobalManager.Config.Item("AAblock").GetValue<bool>(); var isMinion = target.IsMinion; foreach (var com in seq) { switch (com) { case 'Q': Console.WriteLine("Use Q Start"); if (!bSpells[0]) { continue; } if (target.IsInvulnerable) { continue; } //Is Hero if (!isMinion) { if (GlobalManager.GetPassiveBuff >= 2) { if (target.IsValidTarget(Champion.Qn.Range) && Champion.Qn.IsReady()) { Champion.Qn.Cast(target); } } else if (target.IsValidTarget(Champion.Q.Range) && Champion.Q.IsReady()) { Champion.Q.Cast(target); } } // is Minion else if (!GlobalManager.CheckMinion(target)) { if (!target.IsValidTarget(Champion.Q.Range - 20)) { continue; } if (GlobalManager.GetPassiveBuff >= 2) { if (target.Health * hpOffset < Champion.Qn.GetDamage(target)) { Champion.Qn.Cast(target); } } else { if (target.Health * hpOffset < Champion.Q.GetDamage(target)) { Champion.Q.Cast(target); } } } continue; case 'W': Console.WriteLine("Use W Start"); if (!bSpells[1]) { continue; } if (target.IsInvulnerable) { continue; } if (target.IsValidTarget(Champion.W.Range) && bSpells[1] && Champion.W.IsReady()) { if (!isMinion) { Champion.W.CastOnUnit(target); } else if (target.Health * hpOffset < Champion.W.GetDamage(target) && GlobalManager.CheckMinion(target)) { Champion.W.CastOnUnit(target); } } continue; case 'E': Console.WriteLine("Use E Start"); if (!bSpells[2]) { continue; } if (target.IsInvulnerable) { continue; } if (target.IsValidTarget(Champion.E.Range) && Champion.E.IsReady()) { if (!isMinion) { Champion.E.CastOnUnit(target); } else if (target.Health * hpOffset < Champion.E.GetDamage(target) && GlobalManager.CheckMinion(target)) { Champion.E.CastOnUnit(target); } } continue; case 'R': Console.WriteLine("Use R Start"); if (!bSpells[3]) { continue; } if (target.IsInvulnerable) { continue; } if (!target.IsValidTarget(Champion.W.Range)) { continue; } if (!(target.Health > Champion.W.GetDamage(target) + Champion.E.GetDamage(target))) { continue; } if (!Champion.R.IsReady()) { continue; } if (!bSpells[4]) { continue; } if (target.HasBuff("RyzeW")) { Champion.R.Cast(); } continue; } //if (!autoAttack) continue; //// Stop orbwalk AA to use are own //Champion.AABlock(false); //Champion.PreformAutoAttack(target); //Champion.AABlock(true); } if (!Champion.R.IsReady() || GlobalManager.GetPassiveBuff != 4 || !bSpells[4]) { return; } if (Champion.Q.IsReady() || Champion.W.IsReady() || Champion.E.IsReady()) { return; } Champion.R.Cast(); }
private static void Game_OnUpdate(EventArgs args) { try // lazy { if (getKeyBindItem(_config, "test")) { Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); var targets = TargetSelector.GetTarget(Champion.W.Range, DamageType.Magical); if (targets == null) { return; } if (Champion.W.IsReady()) { LaneOptions.CastW(targets); { _lastw = Environment.TickCount; } } if (Environment.TickCount - _lastw >= 700 - Game.Ping) { if (Champion.Q.IsReady()) { LaneOptions.CastQn(targets); _casted = true; } } if (_casted) { LaneOptions.CastE(targets); LaneOptions.CastQn(targets); _casted = false; } } if (getKeyBindItem(chase, "chase")) { Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); var targets = TargetSelector.GetTarget(Champion.W.Range + 200, DamageType.Magical); if (targets == null) { return; } if (getCheckBoxItem(chase, "usewchase")) { LaneOptions.CastW(targets); } if (getCheckBoxItem(chase, "chaser") && targets.Distance(GlobalManager.GetHero) > Champion.W.Range + 200) { Champion.R.Cast(); } } if (GlobalManager.GetHero.IsDead) { return; } if (GlobalManager.GetHero.IsRecalling()) { return; } if (Champion.casted == false) { Orbwalker.DisableAttacking = false; } var target = TargetSelector.GetTarget(Champion.Q.Range, DamageType.Magical); if (getCheckBoxItem(humanizerMenu, "doHuman")) { if (!Humanizer.CheckDelay("generalDelay")) // Wait for delay for all other events { return; } var nDelay = Seeder.Next(getSliderItem(humanizerMenu, "minDelay"), getSliderItem(humanizerMenu, "maxDelay")); // set a new random delay :D Humanizer.ChangeDelay("generalDelay", nDelay); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { var expires = GlobalManager.GetHero.Spellbook.GetSpell(SpellSlot.Q).CooldownExpires; LaneOptions.COMBO(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { LaneOptions.Mixed(); Orbwalker.DisableAttacking = false; } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { LaneOptions.JungleClear(); if (getKeyBindItem(laneMenu, "disablelane")) { Console.WriteLine("1"); if (GlobalManager.GetPassiveBuff == 4 && !GlobalManager.GetHero.HasBuff("RyzeR") && getCheckBoxItem(laneMenu, "passiveproc")) { Console.WriteLine("2"); return; } Console.WriteLine("3"); var qlchSpell = getCheckBoxItem(laneMenu, "useQlc"); var elchSpell = getCheckBoxItem(laneMenu, "useElc"); var wlchSpell = getCheckBoxItem(laneMenu, "useWlc"); var rSpell = getCheckBoxItem(laneMenu, "useRl"); var rSlider = getSliderItem(laneMenu, "rMin"); var minMana = getSliderItem(laneMenu, "useEPL"); var minionCount = EntityManager.MinionsAndMonsters.GetLaneMinions() .Where(x => !x.IsAlly && Champion.Q.IsInRange(x)); if (GlobalManager.GetHero.ManaPercent <= minMana) { Console.WriteLine("4"); return; } foreach (var minion in minionCount) { Console.WriteLine("5"); if (!GlobalManager.CheckMinion(minion)) { continue; } Console.WriteLine("123123123"); var minionHp = minion.Health; SpellSequence(minion, "useQ2L", "useE2L", "useW2L", "useRl"); if (qlchSpell && Champion.Q.IsReady() && minion.IsValidTarget(Champion.Q.Range) && minionHp <= Champion.Q.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.Q.Cast(minion); } else if (wlchSpell && Champion.W.IsReady() && minion.IsValidTarget(Champion.W.Range) && minionHp <= Champion.W.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.W.CastOnUnit(minion); } else if (elchSpell && Champion.E.IsReady() && minion.IsValidTarget(Champion.E.Range) && minionHp <= Champion.E.GetDamage(minion) && GlobalManager.CheckMinion(minion)) { Champion.E.CastOnUnit(minion); } if (rSpell && Champion.R.IsReady() && minion.IsValidTarget(Champion.Q.Range) && minionCount.Count() > rSlider && GlobalManager.CheckMinion(minion)) { Champion.R.Cast(); } } } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit)) { LaneOptions.LastHit(); } if (getKeyBindItem(itemMenu, "tearS")) { ItemManager.TearStack(); } if (getKeyBindItem(passiveMenu, "autoPassive")) { var minions = MinionManager.GetMinions(GlobalManager.GetHero.ServerPosition, Champion.Q.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.MaxHealth); if (ObjectManager.Player.ManaPercent < getSliderItem(passiveMenu, "ManapSlider")) { return; } if (ObjectManager.Player.IsRecalling()) { return; } if (minions.Count >= 1) { return; } var stackSliders = getSliderItem(passiveMenu, "stackSlider"); if (ObjectManager.Player.InFountain()) { return; } if (GlobalManager.GetPassiveBuff >= stackSliders) { return; } if (Utils.TickCount - Champion.Q.LastCastAttemptT >= getSliderItem(passiveMenu, "autoPassiveTimer") * 1000 - (100 + Game.Ping / 2) && Champion.Q.IsReady()) { if (!Game.CursorPos.IsZero) { Champion.Q.Cast(Game.CursorPos); } } } Orbwalker.DisableAttacking = false; if (getCheckBoxItem(mixedMenu, "UseQauto") && target != null) { if (Champion.Q.IsReady() && target.IsValidTarget(Champion.Q.Range)) { Champion.Q.Cast(target); } } Champion.KillSteal(); } catch { // ignored } }