private static void OnDraw(EventArgs args) { if (Player.Instance.IsDead) { return; } if (MiscMenu.GetCheckBoxValue("vSmiteDrawRange")) { Circle.Draw(Color.Gold, SpellsManager.Smite.Range, Player.Instance.Position); } if (MiscMenu.GetCheckBoxValue("vSmiteDrawSmiteStatus")) { var enabled = MiscMenu.GetKeyBindValue("smitekey") && MiscMenu.GetCheckBoxValue("sjgl"); Text.Position = Drawing.WorldToScreen(Player.Instance.Position) - new Vector2(40, -60); Text.Color = enabled ? FontColor.LightSeaGreen : FontColor.DarkRed; Text.TextValue = enabled ? "Smite: ENABLED" : "Smite: disabled"; Text.Draw(); } if (MiscMenu.GetCheckBoxValue("vSmiteDrawSmiteable")) { var monsters = EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Instance.Position, SpellsManager.Smite.Range + 500.0f) .Where(e => !e.IsDead && e.Health > 0 && !e.IsInvulnerable && e.IsVisible && e.Health < Program.SmiteDmgMonster(e) && Program.MonstersNames.Contains(e.BaseSkinName)); foreach (var monster in monsters) { Circle.Draw(Color.Red, monster.BoundingRadius, monster.Position); } } }
/// <summary> /// Put in here what you want to do when the mode is running /// </summary> public static void Execute() { { var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (target == null) { return; } if (!QState && LastQ + 200 < Environment.TickCount && HarassMenu.GetCheckBoxValue("q1Use") && !QState && Q.IsReady() && target.HasQBuff() && (LastQ + 2700 < Environment.TickCount || myHero.GetSpellDamage(target, SpellSlot.Q) >= target.Health || target.Distance(myHero) > myHero.GetAutoAttackRange() + 50)) { Q.Cast(); } if (ComboMenu.GetCheckBoxValue("Cpassive") && PassiveStacks > ComboMenu.GetSliderValue("passivestacks") && myHero.GetAutoAttackRange() > myHero.Distance(target)) { return; } if (Q.IsReady() && HarassMenu.GetCheckBoxValue("q1Use") && LastQ + 200 < Environment.TickCount) { if (QState && target.Distance(myHero) < Q.Range) { CastQ(target, MiscMenu.GetCheckBoxValue("smiteq")); } } if (E.IsReady() && HarassMenu.GetCheckBoxValue("eeUse") && LastE + 200 < Environment.TickCount) { if (EState && target.Distance(myHero) < E.Range) { E.Cast(); return; } if (!EState && target.Distance(myHero) > myHero.GetAutoAttackRange() + 50) { E.Cast(); } } if (HarassMenu.GetCheckBoxValue("wUse") && myHero.Distance(target) < 50 && !(target.HasQBuff()) && (EState || !E.IsReady() && HarassMenu.GetCheckBoxValue("eeUse")) && (QState || !Q.IsReady() && HarassMenu.GetCheckBoxValue("q1Use"))) { var min = ObjectManager.Get <Obj_AI_Minion>() .Where(a => a.IsAlly && a.Distance(myHero) <= W.Range) .OrderByDescending(a => a.Distance(target)) .FirstOrDefault(); W.Cast(min); } } }
static void OnUpdate(EventArgs args) { if (!E.IsReady() || MiscMenu.GetCheckBoxValue("eLogic")) { return; } foreach (var dispell in Dispells.Where( d => Player.HasBuff(d.BuffName) && MiscMenu[d.ChampionName + d.BuffName] != null && MiscMenu[d.ChampionName + d.BuffName].Cast <CheckBox>().CurrentValue )) { var buff = Player.GetBuff(dispell.BuffName); if (buff == null || !buff.IsValid || !buff.IsActive) { continue; } var milisec = (buff.EndTime - Game.Time) * 1000f + dispell.Offset + 250; var Emilisec = SpellsManager.E.CastDelay + Game.Ping / 2f; if (milisec < Emilisec) { var player1 = ObjectManager.Player; E.Cast(player1); } } }
public static void Execute() { if (_player.IsDead || _player.IsRecalling()) { return; } if (E.IsReady() && MiscMenu.GetCheckBoxValue("eks")) // Start KS { var etarget = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (etarget == null) { return; } if (E.IsReady()) { var eDamage = etarget.GetDamage(SpellSlot.E); if (etarget.Health + etarget.AttackShield <= eDamage) { if (etarget.IsValidTarget(Q.Range)) { E.Cast(etarget.Position); } } } }// END KS }
public static void Execute() { if (DrawingsMenu.GetCheckBoxValue("showkilla")) { Indicator.DamageToUnit = SpellsManager.GetTotalDamageEBDB; } if (Player.HasBuff("zedulttargetmark") && MiscMenu.GetCheckBoxValue("esafe") && R.IsReady() && E.IsReady()) { R.Cast(); var player1 = ObjectManager.Player; E.Cast(player1); } //////////////////// KS Q var targetKSQ = TargetSelector.GetTarget(SpellsManager.Q.Range, DamageType.Magical); if (targetKSQ == null) { return; } if (KillStealMenu.GetCheckBoxValue("qUse") && SpellsManager.Q.IsReady()) { var predQ2 = SpellsManager.Q.GetPrediction(targetKSQ); if (predQ2.HitChance >= HitChance.High && targetKSQ.Health < Player.Instance.GetSpellDamage(targetKSQ, SpellSlot.Q)) { SpellsManager.Q.Cast(predQ2.CastPosition); return; } }//////////////////// END KS Q }
private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { var hero = sender as AIHeroClient; if (hero == null || hero.IsAlly) { return; } var dangerousspell = DangerousSpells.Spells.FirstOrDefault( x => x.Hero == hero.Hero && args.Slot == x.Slot && MiscMenu[x.Hero.ToString() + x.Slot].Cast <CheckBox>().CurrentValue); //SkilShot if (args.Target == null) { if (!MiscMenu.GetCheckBoxValue("considerskilshots")) { return; } var projection = Player.Instance.Position.To2D().ProjectOn(args.Start.To2D(), args.End.To2D()); if (projection.IsOnSegment && projection.SegmentPoint.Distance(Player.Instance.Position) <= args.SData.CastRadius + Player.Instance.BoundingRadius + 30) { if (dangerousspell != null) { ReceivingDangSpell = true; Core.DelayAction(() => ReceivingDangSpell = false, 80); return; } ReceivingSkillShot = true; Core.DelayAction(() => ReceivingSkillShot = false, 80); } } //Targetted spell else { if (!MiscMenu.GetCheckBoxValue("considerspells")) { return; } if (args.Target.IsMe) { ReceivingSpell = true; Core.DelayAction(() => ReceivingSpell = false, 80); } if (dangerousspell != null && ReceivingSpell) { ReceivingDangSpell = true; Core.DelayAction(() => ReceivingDangSpell = false, 80); } } }
/// <summary> /// This event is triggered when a unit levels up /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private static void Obj_AI_Base_OnLevelUp(Obj_AI_Base sender, Obj_AI_BaseLevelUpEventArgs args) { if (MiscMenu.GetCheckBoxValue("activateAutoLVL") && sender.IsMe) { var delay = MiscMenu.GetSliderValue("delaySlider"); Core.DelayAction(LevelUPSpells, delay); } }
public static void Obj_AI_Base_OnLevelUp(Obj_AI_Base sender, Obj_AI_BaseLevelUpEventArgs args) { if (MiscMenu.GetCheckBoxValue("activateAutoLVL") && sender.IsMe) { Random rnd = new Random(); var delay = MiscMenu.GetSliderValue("delaySlider") + rnd.Next((int)Math.Ceiling(MiscMenu.GetSliderValue("delaySlider") * 0.5), (int)MiscMenu.GetSliderValue("delaySlider")); Core.DelayAction(LevelUpSpells, delay); } }
private static void OrbwalkerOnOnAttack(AttackableUnit target, EventArgs args) { if (MiscMenu.GetCheckBoxValue("fjgl") && target is AIHeroClient && SpellsManager.HasChallengingSmite() && SpellsManager.Smite.IsReady()) { var enemyHero = (AIHeroClient)target; SpellsManager.Smite.Cast(enemyHero); } }
public static void Execute() { //W autodisable thanks to Sunnyline2 if (MiscMenu.GetCheckBoxValue("smartW") && Program.WStatus()) { int monsters = EntityManager.MinionsAndMonsters.CombinedAttackable.Where(monster => monster.IsValidTarget(W.Range * 2)).Count(); int enemies = EntityManager.Heroes.Enemies.Where(enemy => enemy.IsValidTarget(W.Range * 2)).Count(); if (monsters == 0 && enemies == 0) { Program.WDisable(); } } //// Sunnyline2 //////////////////// KS Q var targetKSQ = TargetSelector.GetTarget(SpellsManager.Q.Range, DamageType.Magical); if (targetKSQ != null && KillStealMenu.GetCheckBoxValue("qUse") && SpellsManager.Q.IsReady()) { var predQ2 = SpellsManager.Q.GetPrediction(targetKSQ); if (predQ2.HitChance >= HitChance.High && targetKSQ.Health < Player.Instance.GetSpellDamage(targetKSQ, SpellSlot.Q)) { SpellsManager.Q.Cast(predQ2.CastPosition); return; } }//////////////////// END KS Q //////////////////// KS Q Logic #2 if (KillStealMenu.GetCheckBoxValue("qUse")) { var qtarget = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (qtarget == null) { return; } if (Q.IsReady()) { var qDamage = qtarget.GetDamage(SpellSlot.Q); var predictedHealth = Prediction.Health.GetPrediction(qtarget, Q.CastDelay + Game.Ping); if (predictedHealth <= qDamage && Q.GetPrediction(qtarget).HitChance >= Hitch.hitchance(Q, FirstMenu)) { var rangi = TargetSelector.GetTarget(Program._player.GetAutoAttackRange(), DamageType.Physical); if (qtarget.IsValidTarget(Q.Range)) { Q.Cast(qtarget); } } } } //////////////////// END Logic #2 }
private void OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e) { if (sender.IsMe && sender.IsAlly && !MiscMenu.GetCheckBoxValue(MenuIds.MiscUseInterrupt)) { return; } if (MiscMenu.GetCheckBoxValue(55)) { R.TryCast(sender); } }
private static void Interrupter3_OnInterruptableTarget(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args) { if (_player.IsDead) { return; } if (W.IsReady() && sender.IsValidTarget(W.Range) && MiscMenu.GetCheckBoxValue("UseWInt")) { var wtarget = TargetSelector.GetTarget(W.Range, DamageType.Magical); W.Cast(wtarget); } }
static void OnUpdate(EventArgs args) { if (MiscMenu.GetCheckBoxValue("wLogic") || W.IsReady()) { foreach (var skillshot in Evade.Evade.GetSkillshotsAboutToHit(Player.Instance, (int)(W.CastDelay + Game.Ping / 2f))) { var enemy = skillshot.Unit as AIHeroClient; if (enemy == null) { continue; } var spells = new List <Block>(); BlockedSpells.TryGetValue(enemy.ChampionName, out spells); if (spells == null || spells.Count == 0) { continue; } foreach (var spell in spells) { var item = MiscMenu[enemy.ChampionName + spell.MenuName]; if (item == null || !item.Cast <CheckBox>().CurrentValue) { continue; } if (!spell.PassesSlotCondition(skillshot.SpellData.Slot)) { continue; } if (!spell.PassesBuffCondition(enemy) || !spell.PassesModelCondition(enemy)) { continue; } if (!spell.PassesSpellCondition(skillshot.SpellData.SpellName)) { continue; } if (MiscMenu.GetCheckBoxValue("wLogic")) { W.Cast(); } } } } }
private static void Interrupter2_OnInterruptableTarget(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args) { if (_player.IsDead) { return; } if (E.IsReady() && sender.IsValidTarget(E.Range) && MiscMenu.GetCheckBoxValue("UseEInt")) { var predE = E.GetPrediction(sender); E.Cast(sender.Position); } }
/// <summary> /// Put in here what you want to do when the mode is running /// </summary> public static void Execute() { var target = TargetSelector.GetTarget(1100, DamageType.Magical); if (MiscMenu.GetCheckBoxValue("eGap") && (Player.Instance.HealthPercent <= 60)) { E.Cast(target); } //{ // Spells[0].Cast(Player.Instance.Position); //} }
private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e) { if (!sender.IsValidTarget(Q.Range) || e.DangerLevel != DangerLevel.High || e.Sender.Type != ObjectManager.Player.Type || !e.Sender.IsEnemy) { return; } if (Q.IsReady() && Q.IsInRange(sender) && MiscMenu.GetCheckBoxValue("interrupt.Q")) { Q.Cast(sender); } }
private void LogicQ(Obj_AI_Base target) { if (!Q.IsInRange(target)) { return; } if (Q != null) { var qPrediction = Q.GetPrediction(target); if (qPrediction == null || qPrediction.HitChancePercent < 75) { return; } if (MiscMenu.GetCheckBoxValue("misc.qcollision")) { var predictedLocation = qPrediction.CastPosition; var playerLocation = Player.Instance.Position; for (var i = 0; i < Player.Instance.Distance(predictedLocation); i++) { var newExtendedLocation = playerLocation.Extend(predictedLocation, i); var collFlagPred = NavMesh.GetCollisionFlags(newExtendedLocation); if (collFlagPred.HasFlag(CollisionFlags.Wall) && collFlagPred.HasFlag(CollisionFlags.Building)) { return; } predictedLocation = new Vector3(newExtendedLocation, NavMesh.GetHeightForPosition(newExtendedLocation.X, newExtendedLocation.Y)); } } if (MiscMenu.GetCheckBoxValue("misc.qreturn")) { var returnQCollisionCheck = Prediction.Position.Collision.LinearMissileCollision(target, qPrediction.CastPosition.To2D(), Player.Instance.Position.To2D(), Q.Speed, Q.Width, Q.CastDelay); if (returnQCollisionCheck) { Q.Cast(qPrediction.CastPosition); } return; } Q.Cast(qPrediction.CastPosition); } }
private static void Interrupter2_OnInterruptableTarget(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args) { if (_player.Mana < 5) { return; } if (E.IsReady() && sender.IsValidTarget(E.Range) && MiscMenu.GetCheckBoxValue("UseEInt")) { var predE = E.GetPrediction(sender); if (E.GetPrediction(sender).HitChance >= Hitch.hitchance(E, FirstMenu) && !_player.HasBuff("rengarpassivebuff")) { E.Cast(sender.Position); } } }
private void OnGapCloser(Obj_AI_Base sender, Gapcloser.GapcloserEventArgs e) { if (sender.IsMe && sender.IsAlly && !MiscMenu.GetCheckBoxValue(MenuIds.MiscUseGapcloser)) { return; } if (MiscMenu.GetCheckBoxValue(54)) { Q.Cast(e.End + 5 * (Player.Instance.Position - e.End)); } if (MiscMenu.GetCheckBoxValue(55)) { E.TryCast(sender); } }
private void OnGapcloser(Obj_AI_Base sender, Gapcloser.GapcloserEventArgs e) { if (sender.IsMe && sender.IsAlly && !MiscMenu.GetCheckBoxValue(MenuIds.MiscUseGapcloser)) { return; } if (MiscMenu.GetCheckBoxValue(53)) { W.TryCast(sender); } if (MiscMenu.GetCheckBoxValue(54)) { R.TryCast(sender); } }
private static void AntiGapCloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e) { if (!e.Sender.IsValidTarget() || e.Sender.Type != ObjectManager.Player.Type || !e.Sender.IsEnemy) { return; } if (E.IsReady() && E.IsInRange(sender) && MiscMenu.GetCheckBoxValue("gapcloser.E")) { E.Cast(sender); } if (Q.IsReady() && Q.IsInRange(sender) && MiscMenu.GetCheckBoxValue("gapcloser.Q")) { Q.Cast(sender); } }
public static void Execute() { var ttarget = TargetSelector.GetTarget(1000, DamageType.Physical); if (E.IsReady() && Player.Instance.Mana == 5 && MiscMenu.GetCheckBoxValue("eflee") && E.GetPrediction(ttarget).HitChance >= Hitch.hitchance(E, FirstMenu)) { var target = TargetSelector.GetTarget(1000, DamageType.Physical); E.Cast(target); } else if (E.IsReady() && MiscMenu.GetCheckBoxValue("eflee")) { var target = TargetSelector.GetTarget(1000, DamageType.Physical); E.Cast(target); } }
public override void Execute() { var enemy = TargetSelector.GetTarget(1300, DamageType.Magical); if (enemy == null) { return; } if (MiscMenu.GetCheckBoxValue(R, "killsteal") && R.IsReady() && enemy.IsValidTarget(R.Range)) { if (enemy.Health < enemy.GetRDamage()) { R.Cast(enemy); } } }
public static void OnAfterAttack(AttackableUnit target, EventArgs args) { if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && MiscMenu.GetCheckBoxValue("ninjaq")) { if (ComboMenu.GetCheckBoxValue("UseQCombo") && SpellsManager.Q.IsReady()) { SpellsManager.Q.Cast(); return; } } else if (ComboMenu.GetCheckBoxValue("UseQCombo") && SpellsManager.Q.IsReady() && MiscMenu.GetCheckBoxValue("ninjaq")) { SpellsManager.Q.Cast(); return; } }
public static void Execute() { Core.DelayAction(delegate { //W autodisable thanks to Sunnyline2 if (MiscMenu.GetCheckBoxValue("smartW") && Program.WStatus()) { int monsters = EntityManager.MinionsAndMonsters.CombinedAttackable.Where(monster => monster.IsValidTarget(W.Range * 2)).Count(); int enemies = EntityManager.Heroes.Enemies.Where(enemy => enemy.IsValidTarget(W.Range * 2)).Count(); if (monsters == 0 && enemies == 0) { Program.WDisable(); } } }, WSdelay); //// Sunnyline2 }
private void OnGapCloser(Obj_AI_Base sender, Gapcloser.GapcloserEventArgs e) { if (sender.IsMe && sender.IsAlly && !MiscMenu.GetCheckBoxValue(MenuIds.MiscUseGapcloser)) { return; } if (MiscMenu.GetCheckBoxValue(52)) { W.TryCast(Player.Instance); } var ally = Extensions.CloseAllies(R.Range).FirstOrDefault(); if (MiscMenu.GetCheckBoxValue(53)) { RJump("Flee", ally); } }
public static void Execute() { var useQ = MiscMenu.GetCheckBoxValue("qescape"); var useC = MiscMenu.GetCheckBoxValue("rescape"); if (Q.IsReady() && useQ) { Q.Cast(Game.CursorPos); } var clone = Program.getClone(); if (clone != null && useC) { var pos = Game.CursorPos.Extend(clone.Position, clone.Distance(Game.CursorPos) + 2000); R.Cast(pos); } }
private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args) { if (!MiscMenu.GetCheckBoxValue("Mastery")) { return; } var hero = sender as AIHeroClient; if (hero == null) { return; } if (args.Animation.ToLower().Contains("death") && hero.IsEnemy && hero.IsInRange(Player.Instance, 1000)) { Chat.Say("/masterybadge"); } }
public override void PermaActive() { var ks = W.GetKillableTarget(); if (KillStealMenu.GetCheckBoxValue(KillstealMenuID + "Q")) Q.TryCast(ks); if (KillStealMenu.GetCheckBoxValue(KillstealMenuID + "W")) W.TryCast(ks); var target = GetTarget(1200); if (HarassMenu.GetSliderValue(AutoHarassMenuID + "mana") <= Player.Instance.ManaPercent) { if (HarassMenu.GetCheckBoxValue(AutoHarassMenuID + "Q")) Q.TryCast(target); if (HarassMenu.GetCheckBoxValue(AutoHarassMenuID + "W")) W.TryCast(target); if (HarassMenu.GetCheckBoxValue(AutoHarassMenuID + "E") && HarassMenu.GetSliderValue(50) <= Player.Instance.HealthPercent) { E.TryCast(target); } } if (MiscMenu.GetSliderValue(MiscMenuID + "mana") <= Player.Instance.ManaPercent && MiscMenu.GetCheckBoxValue(58)) { if (MiscMenu.GetCheckBoxValue(60)) { if (MiscMenu.GetCheckBoxValue(61) && target.IsStunned) Q.TryCast(target); if (MiscMenu.GetCheckBoxValue(62) && target.IsRooted) Q.TryCast(target); if (MiscMenu.GetCheckBoxValue(63) && target.IsFeared) Q.TryCast(target); if (MiscMenu.GetCheckBoxValue(64) && target.IsTaunted) Q.TryCast(target); if (MiscMenu.GetCheckBoxValue(65) && target.IsSuppressCallForHelp) Q.TryCast(target); if (MiscMenu.GetCheckBoxValue(66) && target.IsCharmed) Q.TryCast(target); } if (MiscMenu.GetCheckBoxValue(67)) { if (MiscMenu.GetCheckBoxValue(68) && target.IsStunned) W.TryCast(target); if (MiscMenu.GetCheckBoxValue(69) && target.IsRooted) W.TryCast(target); if (MiscMenu.GetCheckBoxValue(70) && target.IsFeared) W.TryCast(target); if (MiscMenu.GetCheckBoxValue(71) && target.IsTaunted) W.TryCast(target); if (MiscMenu.GetCheckBoxValue(72) && target.IsSuppressCallForHelp) W.TryCast(target); if (MiscMenu.GetCheckBoxValue(73) && target.IsCharmed) W.TryCast(target); } } }
public override void Execute() { if (!MiscMenu.GetCheckBoxValue(E, "flee")) { return; } var closestEnemy = EntityCache.EnemyHeroes.OrderBy(e => e.Distance(Me)).FirstOrDefault(e => e.IsValidTarget(1000)); var objToE = EntityCache.AllEnemies .Where(m => m.IsValidTarget(E.Range)) .OrderBy(m => m.Distance(Game.CursorPos)) .ThenByDescending(m => m.Distance(closestEnemy)) .ThenByDescending(m => m.Distance(Me)) .FirstOrDefault( m => m.IsValidTarget(E.Range) && !m.HasEBuff() && m.GetPosAfterE().Distance(closestEnemy) > Me.Distance(closestEnemy)); objToE?.CastE(); }