public static void CastSpellSelfAuto(Spell spell, Obj_AI_Hero target) { if (Player.Distance(target) <= Player.AttackRange) { Orbwalking.ResetAutoAttackTimer(); spell.CastOnUnit(ObjectManager.Player); Program.Player.IssueOrder(GameObjectOrder.AttackUnit, target); } }
static void Karma() { Game.PrintChat("Karma supported"); var shield = new Spell(SpellSlot.E, 400); Game.OnUpdate += eventArgs => { if (shield.IsReady() && ObjectManager.Player.CountEnemiesInRange(1500) > 0) { shield.CastOnUnit(ObjectManager.Player); } }; }
public static void processTargetedSpells() { if (!W.IsReady(300) && (wall == null || !E.IsReady(200) || !wall.isValid())) { return; } foreach (var targMis in TargetSpellDetector.ActiveTargeted) { if (targMis == null || targMis.particle == null || targMis.blockBelow < Player.HealthPercent) { continue; } try { var misDist = targMis.particle.Position.LSDistance(Player.Position); if (misDist < 700) { if (W.IsReady() && misDist < 500) { Vector3 blockwhere = Player.ServerPosition + Vector3.Normalize(targMis.particle.Position - Player.Position) * 150; W.Cast(blockwhere, true); return; } else if (E.IsReady() && wall != null && wall.isValid(500) && !goesThroughWall(Player.Position, targMis.particle.Position)) { foreach ( Obj_AI_Base enemy in ObjectManager.Get <Obj_AI_Base>() .Where(ob => enemyIsJumpable(ob)) .OrderBy(ene => ene.Position.LSDistance(Game.CursorPos, true))) { if (goesThroughWall(Player.Position, Player.Position.LSExtend(enemy.Position, 475))) { E.CastOnUnit(enemy); return; } } } } } catch (GameObjectNotFoundException) { } catch (Exception ex) { Console.WriteLine(ex); } } }
private static void Attack(AttackableUnit gtarget) { try { if (debug) { Console.WriteLine("attack " + gtarget.Name); } R.CastOnUnit(gtarget as Obj_AI_Base); } catch (Exception) { // Pet.IssueOrder(GameObjectOrder.AutoAttackPet, gtarget.Position); } }
private void LogicE() { var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); if (t.IsValidTarget()) { if (t.Health < E.GetDamage(t) + OktwCommon.GetKsDamage(t, Q)) { E.CastOnUnit(t); } if (!Config.Item("Euse" + t.ChampionName, true).GetValue <bool>()) { return; } if (Program.Combo && Player.Mana > RMANA + EMANA) { E.CastOnUnit(t); } else if (Program.Farm && Config.Item("harrasE", true).GetValue <bool>() && Player.Mana > RMANA + EMANA + WMANA + EMANA) { E.CastOnUnit(t); } } }
private static void LogicE() { var t = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (t.LSIsValidTarget()) { if (t.Health < E.GetDamage(t) + OktwCommon.GetKsDamage(t, Q)) { E.CastOnUnit(t); } if (!getCheckBoxItem(e, "Euse" + t.NetworkId)) { return; } if (Program.Combo && Player.Mana > RMANA + EMANA) { E.CastOnUnit(t); } else if (Program.Farm && getCheckBoxItem(e, "harrasE") && Player.Mana > RMANA + EMANA + WMANA + EMANA) { E.CastOnUnit(t); } } }
/// <summary> /// Basic Wardjump /// </summary> /// <param name="W">W Skill</param> /// <param name="position">Jump Position</param> public static void HikiJump(Spell W,Vector3 position) { ObjectManager.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); if (WardCastable && W.Instance.Name == "BlindMonkWOne" && W.IsReady()) { ObjectManager.Player.Spellbook.CastSpell(Items.GetWardSlot().SpellSlot, position); LastWardCreated = Game.Time; LastWardJumpTime = Game.Time; WardCastPosition = position; } var ward = ObjectManager.Get<Obj_AI_Base>() .OrderBy(obj => obj.Distance(ObjectManager.Player.ServerPosition)) .FirstOrDefault( obj => obj.IsAlly && !obj.IsMe && obj.Name.IndexOf("ward", StringComparison.InvariantCultureIgnoreCase) >= 0 && (!(obj.Name.IndexOf("turret", StringComparison.InvariantCultureIgnoreCase) >= 0) && Vector3.DistanceSquared(Game.CursorPos, obj.ServerPosition) <= 150 * 150)); if (ward != null) { W.CastOnUnit(ward); } }
public static void useRSmart() { var obj = (from enemy in HeroManager.Enemies.Where(i => R.IsInRange(i) && CanCastR(i)) let sub = enemy.GetEnemiesInRange(RWidth).Where(CanCastR).ToList() where (sub.Count > 1 && R.IsKillable(enemy)) || sub.Any(i => i.HealthPercent < YasuoSharp.smartR["useRHP"].Cast <Slider>().CurrentValue) || sub.Count >= YasuoSharp.smartR["useRHit"].Cast <Slider>().CurrentValue orderby sub.Count descending select enemy).ToList(); if (obj.Any()) { var target = !YasuoSharp.smartR["useRHitTime"].Cast <CheckBox>().CurrentValue ? obj.FirstOrDefault() : obj.Where(i => TimeLeftR(i) * 1000 < 150 + Game.Ping * 2).MinOrDefault(TimeLeftR); if (target != null && R.CastOnUnit(target)) { return; } } /* * float timeToLand = float.MaxValue; * List<AIHeroClient> enemInAir = getKockUpEnemies(ref timeToLand); * foreach (AIHeroClient enem in enemInAir) * { * int aroundAir = 0; * foreach (AIHeroClient enem2 in enemInAir) * { * if (Vector3.DistanceSquared(enem.ServerPosition, enem2.ServerPosition) < 400 * 400) * aroundAir++; * } * if (aroundAir >= YasuoSharp.smartR["useRHit"].Cast<Slider>().CurrentValue && timeToLand < 0.4f) * R.Cast(enem); * } */ }
public void Cast_Shield_onFriend(Spell spell, int percent,bool skillshot = false) { if(!spell.IsReady() || !ManaManagerAllowCast(spell)) return; foreach(var friend in Program.Helper.OwnTeam.Where(hero => hero.Distance(ObjectManager.Player) <= spell.Range).Where(friend => friend.Health / friend.MaxHealth * 100 <= percent && Utility.CountEnemysInRange(1000) >= 1)) { if (skillshot) spell.Cast(friend.Position, Packets()); else spell.CastOnUnit(friend, Packets()); return; } }
private void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser) { var Target = gapcloser.Sender; if (Config.Item("AGC", true).GetValue <bool>() && E.IsReady() && Target.IsValidTargetLS(800) && Player.Mana > RMANA + EMANA) { E.CastOnUnit(Player); } return; }
public void Cast_Speedboost_onFriend(Spell spell) { if(!spell.IsReady() || !ManaManagerAllowCast(spell)) return; var friend = Program.Helper.OwnTeam.FirstOrDefault(x => x.Distance(ObjectManager.Player) <= spell.Range && Program.Helper.EnemyTeam.Any(enemy => x.Distance(enemy) <= Orbwalking.GetRealAutoAttackRange(x) + 200 && x.BaseAttackDamage * x.AttackSpeedMod * 3 >= enemy.Health)); if(friend == null) return; spell.CastOnUnit(friend, Packets()); }
public override void ExecuteJungleClear() { if (Q.IsReady() && JhinQCastReady) { var jE = Program.jungleClear["UseQJ"].Cast <ComboBox>().CurrentValue; if (jE != 0) { if (jE == 1) { var jungleMobs = Utils.Utils.GetMobs( Orbwalking.GetRealAutoAttackRange(null) + 65, Utils.Utils.MobTypes.BigBoys); if (jungleMobs != null) { Q.Cast(); } } else { var totalAa = MinionManager.GetMinions( ObjectManager.Player.Position, Orbwalking.GetRealAutoAttackRange(null) + 165, MinionTypes.All, MinionTeam.Neutral).Sum(mob => (int)mob.Health); totalAa = (int)(totalAa / ObjectManager.Player.TotalAttackDamage); if (totalAa > jE) { Q.Cast(); } } } } if (W.IsReady()) { var jungleMobs = Marksman.Utils.Utils.GetMobs(W.Range, Marksman.Utils.Utils.MobTypes.All); if (jungleMobs != null) { var jW = Program.jungleClear["UseWJ"].Cast <ComboBox>().CurrentValue; switch (jW) { case 1: { jungleMobs = Marksman.Utils.Utils.GetMobs( W.Range, Marksman.Utils.Utils.MobTypes.All, jW); W.CastOnUnit(jungleMobs); break; } case 2: { jungleMobs = Utils.Utils.GetMobs(W.Range, Utils.Utils.MobTypes.BigBoys); if (jungleMobs != null) { W.CastOnUnit(jungleMobs); } break; } } } } }
private static void Combo(AIHeroClient targ = null, bool force = false) { if (Q.LastCastedDelay(Delay) || R.LastCastedDelay(Delay)) { return; } if (!force && CastSecondW()) { return; } var target = targ ?? TargetSelector.GetTarget( EFirst && E.IsReady() ? E.Range : W.Range + WRadius - 10, DamageType.Magical); if (!target.IsValidTarget()) { //Console.WriteLine("BAD TARG"); return; } if (CastEFirst(target)) { Console.WriteLine("Combo: Cast E FIRST"); return; } if (Q.CanCast(target) && Q.IsActive(force) && Q.CastOnUnit(target)) { Console.WriteLine("Combo: Cast Q"); return; } SpellManager.UpdateUltimate(); if (R.CanCast(target) && R.IsActive(force) && R.GetSpellSlot() == SpellSlot.Q && R.CastOnUnit(target)) { Console.WriteLine("Combo: Cast R(Q)"); return; } if (W.IsReady() && target.IsValidTarget(W.Range + WRadius - 10) && W.IsActive(force) && W.IsFirstW()) { if (!force || (target.CountEnemiesInRange(300) <= getSliderItem(ksMenu, "KSEnemies") && Player.HealthPercent >= getSliderItem(ksMenu, "KSHealth"))) { var pos = Prediction.GetPrediction(target, W.Delay, W.Range + WRadius, W.Speed); if (pos.CastPosition.Distance(target.ServerPosition) < WRadius && W.Cast(pos.CastPosition)) { Console.WriteLine("Combo: Cast W"); return; } } } if (E.CanCast(target) && E.IsActive(force) && target.DistanceToPlayer() > 50 && E.Cast(target).IsCasted()) { Console.WriteLine("Combo: Cast E"); } }
public override void Game_OnGameUpdate(EventArgs args) { Console.WriteLine(Q.GetHitchance().ToString()); R.Range = 500 * (R.Level == 0 ? 1 : R.Level) + 1500; AIHeroClient t; if (W.IsReady() && Program.misc["AutoWI"].Cast <CheckBox>().CurrentValue) { t = TargetSelector.GetTarget(W.Range, DamageType.Physical); if (t.LSIsValidTarget(W.Range) && (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) || t.HasBuff("zhonyasringshield") || t.HasBuff("Recall"))) { W.Cast(t.Position); } } if (Q.IsReady() && Program.misc["AutoQI"].Cast <CheckBox>().CurrentValue) { t = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (t.LSIsValidTarget(Q.Range) && (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) && (t.Health <= ObjectManager.Player.LSGetSpellDamage(t, SpellSlot.Q) || !Orbwalking.InAutoAttackRange(t)))) { CastQ(t); //Q.Cast(t, false, true); } } if (R.IsReady()) { t = TargetSelector.GetTarget(R.Range, DamageType.Physical); if (t.LSIsValidTarget(R.Range) && t.Health <= R.GetDamage(t)) { if (Program.misc["UltHelp"].Cast <KeyBind>().CurrentValue&& canCastR) { R.Cast(t); } UltTarget = t.ChampionName; ShowUlt = true; } else { ShowUlt = false; } } else { ShowUlt = false; } { var pos = ObjectManager.Player.ServerPosition.LSTo2D().LSExtend(Game.CursorPos.LSTo2D(), -300).To3D(); //E.Cast(pos, true); } if (Program.misc["UseEQC"].Cast <KeyBind>().CurrentValue&& E.IsReady() && Q.IsReady()) { t = TargetSelector.GetTarget(E.Range, DamageType.Physical); if (t.LSIsValidTarget(E.Range) && t.Health < ObjectManager.Player.LSGetSpellDamage(t, SpellSlot.Q) + ObjectManager.Player.LSGetSpellDamage(t, SpellSlot.E) + 20 && E.CanCast(t)) { //E.Cast(t); CastQ(t); } } // PQ you broke it D: if ((!ComboActive && !HarassActive) || !Orbwalker.CanMove) { return; } var useQ = ComboActive ? Program.combo["UseQC"].Cast <CheckBox>().CurrentValue : Program.harass["UseQH"].Cast <CheckBox>().CurrentValue; var useE = Program.combo["UseEC"].Cast <CheckBox>().CurrentValue; var useR = Program.combo["UseRC"].Cast <CheckBox>().CurrentValue; if (Q.IsReady() && useQ) { t = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (t != null) { CastQ(t); } } if (E.IsReady() && useE) { var enemies = HeroManager.Enemies.Where(e => e.LSIsValidTarget(E.Range)); IEnumerable <AIHeroClient> nResult = (from e in enemies join d in dangerousEnemies on e.ChampionName equals d select e) .Distinct(); foreach (var n in nResult) { if (n.LSIsValidTarget(n.AttackRange * 3) && E.GetPrediction(n).CollisionObjects.Count == 1) { E.Cast(n.Position); if (W.IsReady()) { W.Cast(n.Position); } } } } if (R.IsReady() && useR) { t = TargetSelector.GetTarget(R.Range, DamageType.Physical); if (t != null && t.Health <= R.GetDamage(t) && !Orbwalking.InAutoAttackRange(t) && canCastR) { R.CastOnUnit(t); } } }
public void CastSpell(Spell spell, SpellDataInst sDataInst) { target = GetTarget(spell); if (target != null && spell.IsReady()) { if (target.UnderTurret(true)) return; var pred = spell.GetPrediction(target); if (sDataInst.SData.IsToggleSpell) { if (spell.Instance.ToggleState == 1) { if (sDataInst.SData.TargettingType == SpellDataTargetType.Location) spell.Cast(pred.CastPosition); else if (sDataInst.SData.TargettingType == SpellDataTargetType.Unit) spell.CastOnUnit(target); else spell.Cast(); } } else { if (spell.IsReady()) { if (sDataInst.SData.TargettingType == SpellDataTargetType.Self) spell.Cast(); else if (sDataInst.SData.TargettingType == SpellDataTargetType.Unit) spell.CastOnUnit(target); else if (pred.Hitchance >= HitChance.Medium) { spell.Cast(pred.CastPosition); } } } } }
private static void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser) { var Target = gapcloser.Sender; if (getCheckBoxItem(eMenu, "AGC") && E.IsReady() && Target.IsValidTarget(800) && Player.Mana > RMANA + EMANA) { E.CastOnUnit(Player); } }
private static void Combo() { var allyList = ObjectManager.Get <AIHeroClient>().ToList().FindAll(ally => ally.IsAlly); if (target == null) { return; } if (theQ.IsReady()) { switch (getBoxItem(comboMenu, "useQ")) { case 0: break; case 1: if (ObjectManager.Player.HealthPercent <= getSliderItem(comboMenu, "useQslider")) { theQ.CastOnUnit(ObjectManager.Player); } break; case 2: foreach (var ally in allyList) { if (!ally.IsDead) { if (ally.HealthPercent <= getSliderItem(comboMenu, "useQslider")) { theQ.CastOnUnit(ally); } } } break; } } if (theW.IsReady()) { if (getCheckBoxItem(comboMenu, "useW")) { if (ObjectManager.Player.CountEnemiesInRange(spellInfo["wRange"]) >= getSliderItem(comboMenu, "useWenemies")) { theW.Cast(); } } } if (theE.IsReady()) { if (getCheckBoxItem(comboMenu, "useE")) { if (ObjectManager.Player.ServerPosition.Distance(target.ServerPosition) <= getSliderItem(comboMenu, "useErange")) { theE.CastOnUnit(target); } } } if (theR.IsReady()) { if (getCheckBoxItem(comboMenu, "useR")) { if (ObjectManager.Player.CountEnemiesInRange(spellInfo["rRange"]) >= getSliderItem(comboMenu, "useRenemies")) { theR.Cast(); } } } }
private static void ExecuteCombo() { if (!R.IsReady()) { return; } _isComboCompleted = false; AIHeroClient t; var cdQEx = ObjectManager.Player.Spellbook.GetSpell(SpellSlot.Q).CooldownExpires; var cdWEx = ObjectManager.Player.Spellbook.GetSpell(SpellSlot.W).CooldownExpires; var cdEEx = ObjectManager.Player.Spellbook.GetSpell(SpellSlot.W).CooldownExpires; var cdQ = Game.Time < cdQEx ? cdQEx - Game.Time : 0; var cdW = Game.Time < cdWEx ? cdWEx - Game.Time : 0; var cdE = Game.Time < cdEEx ? cdEEx - Game.Time : 0; if (vComboType == ComboType.ComboQR && Q.IsReady()) { t = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (t == null) { return; } Q.CastOnUnit(t, true); R.CastOnUnit(t, true); } if (vComboType == ComboType.ComboWR && W.IsReady()) { t = TargetSelector.GetTarget(W.Range, DamageType.Magical); if (t == null) { return; } if (!LeBlancStillJumped) { W.Cast(t, true, true); } R.Cast(t, true, true); } if (vComboType == ComboType.ComboER && E.IsReady()) { t = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (t == null) { return; } E.Cast(t); R.Cast(t); } _isComboCompleted = true; t = TargetSelector.GetTarget(Q.Range, DamageType.Magical); UserSummoners(t); }
private static void Game_OnGameUpdate(EventArgs args) { Orbwalker.DisableMovement = false; Orbwalker.DisableAttacking = false; if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Combo(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { Harass(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { Clear(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit)) { if (getCheckBoxItem(harassMenu, "useqLHH") && !justE) { Lasthit(); } } if (getCheckBoxItem(miscMenu, "AutoW")) { CleanserManager(); } if (getCheckBoxItem(miscMenu, "AutoR") && R.IsReady()) { foreach ( var enemy in HeroManager.Enemies.Where( e => ((e.UnderTurret(true) && e.MaxHealth / 100 * getSliderItem(miscMenu, "Rhealt") * 0.75f > e.Health - IncDamages.GetEnemyData(e.NetworkId).DamageTaken) || (!e.UnderTurret(true) && e.MaxHealth / 100 * getSliderItem(miscMenu, "Rhealt") > e.Health - IncDamages.GetEnemyData(e.NetworkId).DamageTaken)) && e.HealthPercent > getSliderItem(miscMenu, "RhealtMin") && e.LSIsValidTarget() && e.LSDistance(player) > 1500)) { var pred = IncDamages.GetEnemyData(enemy.NetworkId); if (pred != null && pred.DamageTaken < enemy.Health) { var ally = HeroManager.Allies.OrderBy(a => a.Health).FirstOrDefault(a => enemy.LSDistance(a) < 1000); if (ally != null) { var pos = Prediction.GetPrediction(enemy, 0.75f); if (pos.CastPosition.LSDistance(enemy.Position) < 450 && pos.Hitchance >= HitChance.VeryHigh) { if (enemy.IsMoving) { R.Cast(enemy.Position.LSExtend(pos.CastPosition, 450)); } else { R.Cast(enemy.ServerPosition); } } } } } } if (getKeyBindItem(comboMenu, "EQtoCursor") && E.IsReady() && Q.IsReady()) { Orbwalker.DisableMovement = true; var barrel = GetBarrels() .Where( o => o.IsValid && !o.IsDead && o.LSDistance(player) < Q.Range && o.BaseSkinName == "GangplankBarrel" && o.GetBuff("gangplankebarrellife").Caster.IsMe&& KillableBarrel(o)) .OrderBy(o => o.LSDistance(Game.CursorPos)) .FirstOrDefault(); if (barrel != null) { var cp = Game.CursorPos; var cursorPos = barrel.LSDistance(cp) > BarrelConnectionRange ? barrel.Position.LSExtend(cp, BarrelConnectionRange) : cp; var points = CombatHelper.PointsAroundTheTarget(player.Position, E.Range - 200) .Where(p => p.LSDistance(player.Position) < E.Range); var middle = GetMiddleBarrel(barrel, points, cursorPos); var threeBarrel = cursorPos.LSDistance(cp) > BarrelExplosionRange && E.Instance.Ammo >= 2 && Game.CursorPos.LSDistance(player.Position) < E.Range && middle.IsValid(); var firsDelay = threeBarrel ? 500 : 1; if (cursorPos.IsValid() && cursorPos.LSDistance(player.Position) < E.Range) { E.Cast(threeBarrel ? middle : cursorPos); Utility.DelayAction.Add(firsDelay, () => Q.CastOnUnit(barrel)); if (threeBarrel) { if (player.IsMoving) { Player.IssueOrder(GameObjectOrder.Stop, player.Position); } Utility.DelayAction.Add(801, () => E.Cast(middle.LSExtend(cp, BarrelConnectionRange))); } else { Orbwalker.DisableMovement = false; Orbwalker.OrbwalkTo(Game.CursorPos); } } else { Orbwalker.DisableMovement = false; Orbwalker.OrbwalkTo(Game.CursorPos); } } } else if (getKeyBindItem(comboMenu, "EQtoCursor")) { Orbwalker.DisableMovement = false; Orbwalker.OrbwalkTo(Game.CursorPos); } if (getKeyBindItem(comboMenu, "QbarrelCursor") && Q.IsReady()) { var meleeRangeBarrel = GetBarrels() .OrderBy(o => o.LSDistance(Game.CursorPos)) .FirstOrDefault( o => o.Health > 1 && o.LSDistance(player) < Orbwalking.GetRealAutoAttackRange(o) && !KillableBarrel(o, true)); if (meleeRangeBarrel != null && Orbwalker.CanAutoAttack) { Orbwalker.DisableAttacking = true; Player.IssueOrder(GameObjectOrder.AttackUnit, meleeRangeBarrel); return; } var barrel = GetBarrels() .Where( o => o.IsValid && !o.IsDead && o.LSDistance(player) < Q.Range && o.BaseSkinName == "GangplankBarrel" && o.GetBuff("gangplankebarrellife").Caster.IsMe&& KillableBarrel(o)) .OrderBy(o => o.LSDistance(Game.CursorPos)) .FirstOrDefault(); if (barrel != null) { Q.CastOnUnit(barrel); } } if (getCheckBoxItem(miscMenu, "AutoQBarrel") && Q.IsReady()) { var barrel = GetBarrels() .FirstOrDefault( o => o.IsValid && !o.IsDead && o.LSDistance(player) < Q.Range && o.BaseSkinName == "GangplankBarrel" && o.GetBuff("gangplankebarrellife").Caster.IsMe&& KillableBarrel(o) && (o.CountEnemiesInRange(BarrelExplosionRange - 50) > 0 || HeroManager.Enemies.Count( e => e.LSIsValidTarget() && Prediction.GetPrediction(e, 0.1f).UnitPosition.LSDistance(o.Position) < BarrelExplosionRange - 20) > 0)); if (barrel != null) { Q.Cast(barrel); } } }
public static void CastQ(Obj_AI_Base t) { Q.CastOnUnit(t, true); }
public override void Game_OnGameUpdate(EventArgs args) { R.Range = 500 * (R.Level == 0 ? 1 : R.Level) + 1500; AIHeroClient t; if (W.IsReady() && (Program.misc["AutoWI"].Cast <ComboBox>().CurrentValue == 1 || (Program.misc["AutoWI"].Cast <ComboBox>().CurrentValue == 2 && ComboActive))) { t = TargetSelector.GetTarget(W.Range, DamageType.Physical); if (t.LSIsValidTarget(W.Range)) { if (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) || t.HasBuffOfType(BuffType.Knockup) || t.HasBuff("zhonyasringshield") || t.HasBuff("Recall")) { CastW(t.Position); } if (t.HasBuffOfType(BuffType.Slow)) { var hit = t.LSIsFacing(ObjectManager.Player) ? t.Position.LSExtend(ObjectManager.Player.Position, +140) : t.Position.LSExtend(ObjectManager.Player.Position, -140); CastW(hit); } } } if (Q.IsReady() && (Program.misc["AutoQI"].Cast <ComboBox>().CurrentValue == 1 || (Program.misc["AutoQI"].Cast <ComboBox>().CurrentValue == 2 && ComboActive))) { t = TargetSelector.GetTarget(Q.Range - 30, DamageType.Physical); if (t.LSIsValidTarget(Q.Range) && (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) || (t.Health <= ObjectManager.Player.LSGetSpellDamage(t, SpellSlot.Q) && !Orbwalking.InAutoAttackRange(t)))) { CastQ(t); } } if (Program.combo["UseQMC"].Cast <KeyBind>().CurrentValue) { t = TargetSelector.GetTarget(Q.Range, DamageType.Physical); CastQ(t); } //if (GetValue<KeyBind>("UseEMC").Active) //{ // t = TargetSelector.GetTarget(E.Range - 50, DamageType.Physical); // E.Cast(t); //} if (Program.combo["UseRMC"].Cast <KeyBind>().CurrentValue&& R.IsReady()) { foreach (var e in HeroManager.Enemies.Where(e => e.LSIsValidTarget(R.Range)).OrderBy(e => e.Health)) { R.CastOnUnit(e); } } if (Program.misc["UseEQC"].Cast <KeyBind>().CurrentValue&& E.IsReady() && Q.IsReady()) { t = TargetSelector.GetTarget(E.Range, DamageType.Physical); if (t.LSIsValidTarget(E.Range) && t.Health < ObjectManager.Player.LSGetSpellDamage(t, SpellSlot.Q) + ObjectManager.Player.LSGetSpellDamage(t, SpellSlot.E) + 20 && E.CanCast(t)) { E.Cast(t); CastQ(t); } } if ((!ComboActive && !HarassActive) || !Orbwalker.CanMove) { return; } //var useQ = GetValue<bool>("UseQ" + (ComboActive ? "C" : "H")); var useW = Program.combo["UseWC"].Cast <CheckBox>().CurrentValue; var useE = Program.combo["UseEC"].Cast <CheckBox>().CurrentValue; var useR = Program.combo["UseRC"].Cast <CheckBox>().CurrentValue; //if (Q.IsReady() && useQ) //{ // t = TargetSelector.GetTarget(Q.Range, DamageType.Physical); // if (t != null) // { // CastQ(t); // } //} if (useE && E.IsReady()) { //var enemies = HeroManager.Enemies.Where(e => e.LSIsValidTarget(E.Range)); //var objAiHeroes = enemies as AIHeroClient[] ?? enemies.ToArray(); //IEnumerable<AIHeroClient> nResult = // (from e in objAiHeroes join d in dangerousEnemies on e.ChampionName equals d select e) // .Distinct(); //foreach (var n in nResult.Where(n => n.LSIsFacing(ObjectManager.Player))) //{ // if (n.LSIsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65 - 300) && E.GetPrediction(n).CollisionObjects.Count == 0) // { // E.Cast(n.Position); // if (W.IsReady()) // W.Cast(n.Position); // } //} var nResult = HeroManager.Enemies.Where(e => e.LSIsValidTarget(E.Range)); foreach (var n in nResult) { if (n.LSIsValidTarget(n.LSIsFacing(ObjectManager.Player) ? E.Range - 200 : E.Range - 300) && E.GetPrediction(n).CollisionObjects.Count == 0) { E.Cast(n.Position); } } } if (useW && W.IsReady()) { var nResult = HeroManager.Enemies.Where(e => e.LSIsValidTarget(W.Range)); foreach (var n in nResult) { if (ObjectManager.Player.LSDistance(n) < 450 && n.LSIsFacing(ObjectManager.Player)) { CastW(CommonGeometry.CenterOfVectors(new[] { ObjectManager.Player.Position, n.Position })); } } } if (R.IsReady() && useR) { foreach (var e in HeroManager.Enemies.Where(e => e.LSIsValidTarget(R.Range) && e.Health <= R.GetDamage(e) && !Orbwalking.InAutoAttackRange(e) && canCastR)) { R.CastOnUnit(e); } } }
public override void Game_OnGameUpdate(EventArgs args) { R.Range = 500 * (R.Level == 0 ? 1 : R.Level) + 1500; AIHeroClient t; if (Program.misc["AutoWI"].Cast <ComboBox>().CurrentValue != 0 && W.IsReady()) { foreach ( var hero in HeroManager.Enemies.Where(h => h.LSIsValidTarget(W.Range) && h.HasBuffOfType(BuffType.Stun))) { CastW(hero.Position, false); } } if (W.IsReady() && (Program.misc["AutoWI"].Cast <ComboBox>().CurrentValue == 1 || (Program.misc["AutoWI"].Cast <ComboBox>().CurrentValue == 2 && ComboActive))) { t = TargetSelector.GetTarget(W.Range, DamageType.Physical); if (t.LSIsValidTarget(W.Range)) { if (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) || t.HasBuffOfType(BuffType.Knockup) || t.HasBuff("zhonyasringshield") || t.HasBuff("Recall")) { CastW(t.Position); } if (t.HasBuffOfType(BuffType.Slow) && t.LSIsValidTarget(E.Range - 200)) { //W.Cast(t.Position.Extend(ObjectManager.Player.Position, +200)); //W.Cast(t.Position.Extend(ObjectManager.Player.Position, -200)); var hit = t.LSIsFacing(ObjectManager.Player) ? t.Position.LSExtend(ObjectManager.Player.Position, +200) : t.Position.LSExtend(ObjectManager.Player.Position, -200); CastW(hit); } } } if (Q.IsReady() && (Program.misc["AutoQI"].Cast <ComboBox>().CurrentValue == 1 || (Program.misc["AutoQI"].Cast <ComboBox>().CurrentValue == 2 && ComboActive))) { t = TargetSelector.GetTarget(Q.Range - 30, DamageType.Physical); if (t.LSIsValidTarget(Q.Range) && (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) || (t.Health <= ObjectManager.Player.LSGetSpellDamage(t, SpellSlot.Q) && !t.LSIsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65)))) { CastQ(t); } } if (Program.combo["UseQMC"].Cast <KeyBind>().CurrentValue) { t = TargetSelector.GetTarget(Q.Range, DamageType.Physical); CastQ(t); } //if (GetValue<KeyBind>("UseEMC").Active) //{ // t = TargetSelector.GetTarget(E.Range - 50, DamageType.Physical); // E.Cast(t); //} if (Program.combo["UseRMC"].Cast <KeyBind>().CurrentValue&& R.IsReady()) { foreach ( var e in HeroManager.Enemies.Where( e => e.LSIsValidTarget(R.Range) && ObjectManager.Player.LSCountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(null) + 65) <= 1).OrderBy(e => e.Health)) { //Utils.MPing.Ping(enemy.Position.To2D()); R.CastOnUnit(e); } } //for (int i = 1; i < HeroManager.Enemies.Count(e => e.Health < R.GetDamage(e)); i++) //{ // Common.CommonGeometry.DrawBox(new Vector2(Drawing.Width * 0.45f, Drawing.Height * 0.80f), 125, 18, Color.Transparent, 1, System.Drawing.Color.Black); // Common.CommonGeometry.DrawText(CommonGeometry.Text, HeroManager.Enemies[i].ChampionName + " Killable", Drawing.Width * 0.455f, Drawing.Height * (0.803f + i * 50), SharpDX.Color.Wheat); //} if (Program.misc["UseEQC"].Cast <KeyBind>().CurrentValue&& E.IsReady() && Q.IsReady()) { t = TargetSelector.GetTarget(E.Range, DamageType.Physical); if (t.LSIsValidTarget(E.Range) && t.Health < ObjectManager.Player.LSGetSpellDamage(t, SpellSlot.Q) + ObjectManager.Player.LSGetSpellDamage(t, SpellSlot.E) + 20 && E.CanCast(t)) { E.Cast(t); CastQ(t); } } if ((!ComboActive && !HarassActive) || !Orbwalker.CanMove) { return; } //var useQ = GetValue<bool>("UseQ" + (ComboActive ? "C" : "H")); var useW = Program.combo["UseWC"].Cast <CheckBox>().CurrentValue; var useE = Program.combo["UseEC"].Cast <CheckBox>().CurrentValue; var useR = Program.combo["UseRC"].Cast <CheckBox>().CurrentValue; //if (Q.IsReady() && useQ) //{ // t = TargetSelector.GetTarget(Q.Range, DamageType.Physical); // if (t != null) // { // CastQ(t); // } //} if (useE && E.IsReady()) { //var enemies = HeroManager.Enemies.Where(e => e.LSIsValidTarget(E.Range)); //var objAiHeroes = enemies as Obj_AI_Hero[] ?? enemies.ToArray(); //IEnumerable<Obj_AI_Hero> nResult = // (from e in objAiHeroes join d in dangerousEnemies on e.ChampionName equals d select e) // .Distinct(); //foreach (var n in nResult.Where(n => n.IsFacing(ObjectManager.Player))) //{ // if (n.LSIsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65 - 300) && E.GetPrediction(n).CollisionObjects.Count == 0) // { // E.Cast(n.Position); // if (W.IsReady()) // W.Cast(n.Position); // } //} //if (GetValue<bool>("E.ProtectDistance")) //{ // foreach (var n in HeroManager.Enemies) // { // if (GetValue<bool>("E." + n.ChampionName + ".ProtectDistance") && // n.Distance(ObjectManager.Player) < E.Range - 100) // { // E.Cast(n.Position); // } // } //} var nResult = HeroManager.Enemies.Where( e => e.LSIsValidTarget(E.Range) && e.Health >= ObjectManager.Player.TotalAttackDamage * 2 && e.LSIsFacing(ObjectManager.Player) && e.LSIsValidTarget(E.Range - 300) && E.GetPrediction(e).CollisionObjects.Count() == 0); foreach (var n in nResult) { // if (n.LSIsValidTarget(n.IsFacing(ObjectManager.Player) ? E.Range - 200 : E.Range - 300) && E.GetPrediction(n).CollisionObjects.Count == 0) // { E.Cast(n.Position); if (W.IsReady()) { W.Cast(n.Position); } if (Q.IsReady()) { Q.Cast(n.Position); } // } } } if (useW && W.IsReady()) { var nResult = HeroManager.Enemies.Where(e => e.LSIsValidTarget(W.Range)); foreach (var n in nResult) { if (ObjectManager.Player.LSDistance(n) < 450 && n.LSIsFacing(ObjectManager.Player)) { CastW(CommonGeometry.CenterOfVectors(new[] { ObjectManager.Player.Position, n.Position })); } } } if (R.IsReady() && useR) { foreach ( var e in HeroManager.Enemies.Where( e => e.LSIsValidTarget(R.Range) && e.Health <= R.GetDamage(e) && ObjectManager.Player.LSCountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(null) + 350) == 0 && !Orbwalking.InAutoAttackRange(e) && canCastR)) { R.CastOnUnit(e); } } }
public void Cast_onEnemy(Spell spell, SimpleTs.DamageType damageType = SimpleTs.DamageType.Physical) { if(!spell.IsReady() || !ManaManagerAllowCast(spell)) return; var target = SimpleTs.GetTarget(spell.Range, damageType); if(target.IsValidTarget(spell.Range)) spell.CastOnUnit(target, Packets()); }
private static void Combo(bool anyTarget = false) { if (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { return; } AIHeroClient target = TargetSelector.GetTarget(700, DamageType.Magical); // IITEMS if (target != null && Player.LSDistance(target) <= botrk.Range) { botrk.Cast(target); } if (target != null && Player.LSDistance(target) <= cutlass.Range) { cutlass.Cast(target); } if (target != null && Player.LSDistance(target) <= hextech.Range) { hextech.Cast(target); } // ACTUAL COMBO if (target != null && !target.IsZombie) { if (Q.IsReady() && getCheckBoxItem(comboMenu, "useQ")) { if ((Player.LSDistance(target.Position) > Orbwalking.GetRealAutoAttackRange(Player)) || getCheckBoxItem(comboMenu, "useQ2")) { Q.CastOnUnit(target); } } if (E.IsReady() && (getCheckBoxItem(comboMenu, "useE"))) { if ((!IsEUsed && Q.IsReady() && target.LSIsValidTarget(Q.Range)) || (!IsEUsed && Player.LSDistance(target.Position) < 250)) { E.Cast(); } if (getCheckBoxItem(comboMenu, "useE2") && IsEUsed && (Player.LSDistance(target.Position) < 180)) { E.Cast(); } /*if (anyTarget) * { * List<AIHeroClient> enemies = Player.Position.GetEnemiesInRange(180); * if (enemies.Count >= 3) * { * E.Cast(); * return; * } * if (enemies.Count == 1) * { * target = enemies.ElementAt(0); * } * }*/ } if (target.HealthPercent > 20) { if ((getCheckBoxItem(comboMenu, "useR") && Q.IsReady() && R.IsReady()) || (getCheckBoxItem(comboMenu, "useR") && R.IsReady() && !Q.IsReady() && Player.LSDistance(target.Position) < 300)) { R.Cast(); } } } }
public void Cast_onMinion_nearEnemy(Spell spell, float range, SimpleTs.DamageType damageType = SimpleTs.DamageType.Physical, MinionTypes minionTypes = MinionTypes.All, MinionTeam minionTeam = MinionTeam.All) { if(!spell.IsReady() || !ManaManagerAllowCast(spell)) return; var target = SimpleTs.GetTarget(spell.Range + range, damageType); Obj_AI_Base[] nearstMinion = { null }; var allminions = MinionManager.GetMinions(target.Position, range, minionTypes, minionTeam); foreach(var minion in allminions.Where(minion => minion.Distance(ObjectManager.Player) <= spell.Range && minion.Distance(target) <= range).Where(minion => nearstMinion[0] == null || nearstMinion[0].Distance(target) >= minion.Distance(target))) nearstMinion[0] = minion; if(nearstMinion[0] != null) spell.CastOnUnit(nearstMinion[0], Packets()); }
private static bool Combo(AIHeroClient forcedTarget = null) { //var mode = Orbwalker.ActiveModesFlags; var comboMode = getBoxItem(miscMenu, "ComboMode"); var d = comboMode == 0 ? E.Range : Q.Range; var forceTarget = forcedTarget.IsValidTarget(); var target = forceTarget ? forcedTarget : TargetSelector.GetTarget(d, DamageType.Magical); if (!target.IsValidTarget()) { return(false); } var q = Q.CanCast(target) && Q.IsActive(forceTarget); var w = W.CanCast(target) && W.IsActive(forceTarget); var e = E.CanCast(target) && E.IsActive(forceTarget) && target.CountEnemiesInRange(200) <= getSliderItem(eMenu, "EEnemies"); if (!forceTarget && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && getKeyBindItem(miscMenu, "ComboKillable")) { var damage = target.GetComboDamage(q, w, e, Utility.IsRReady(), true); if (target.Health > damage) { return(false); } } var delay = (int)(100 + Game.Ping / 2f + Random.Next(150)); if (Q.LastCastedDelay(delay) || E.LastCastedDelay(delay) || R.LastCastedDelay(delay)) { return(false); } if (comboMode == 0 && q && e && CastE(target, forceTarget)) { return(true); } if (q && Q.CastOnUnit(target)) { return(true); } if (e && CastE(target, forceTarget)) { return(true); } if (w && W.Cast()) { return(true); } if (Utility.IsRReady() && (forceTarget || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))) { if (!forceTarget && getCheckBoxItem(rMenu, "RInCombo") && target.IsValidTarget(R.Range) && R.Cast()) { return(true); } if (!forceTarget && !getCheckBoxItem(rMenu, "RCombo")) { return(false); } var enemy = Enemies.FirstOrDefault(h => h.IsValidTarget(R.Range) && h.GetCalculatedRDamage(UltTicks) > h.Health); if (enemy != null && R.Cast()) { return(true); } } return(false); }
public static void TargetSkill(Obj_AI_Base target, Spell spell, bool packet = false, bool towerCheck = false) { if (!spell.IsReady() || target == null || towerCheck && target.UnderTurret(true)) { return; } spell.CastOnUnit(target, packet); }
public void Cast_Shield_onFriend(Spell spell, int percent, bool skillshot = false) { if(!spell.IsReady()) return; foreach(var friend in PUC.AllHerosFriend.Where(hero => hero.Distance(PUC.Player) <= spell.Range).Where(friend => friend.Health / friend.MaxHealth * 100 <= percent && EnemysinRange(600, 1, friend))) { if(skillshot) spell.Cast(spell.GetPrediction(friend).CastPosition , UsePackets()); else spell.CastOnUnit(friend, UsePackets()); return; } }
private static void Combo() { var t = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (t == null) { return; } if (t.LSIsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 95) && shenBuffActive) { return; } var minQRange = getSliderItem(comboMenu, "ComboUseQMinRange"); if (Q.IsReady() && Q.GetDamage(t) > t.Health) { Q.Cast(t); } if (E.IsReady()) { switch (getBoxItem(comboMenu, "Combo.CastE")) { case 0: if (E.IsReady() && Q.IsReady() && t.LSIsValidTarget(Q.Range)) { if (Player.LSDistance(t) >= minQRange && t.LSIsValidTarget(Q.Range)) { Q.CastOnUnit(t); } E.Cast(); } break; case 1: if (E.IsReady() && t.LSIsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 95)) { E.Cast(); } break; } if (eCounterStrike && t.LSIsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65)) { E.Cast(); } } if (Q.IsReady() && Player.LSDistance(t) >= minQRange && t.LSIsValidTarget(Q.Range)) { Q.Cast(t); } if (ObjectManager.Player.LSDistance(t) <= E.Range) { CastItems(); //UseItems(t); } if (W.IsReady() && ObjectManager.Player.CountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(t)) > 0) { W.Cast(); } if (E.IsReady() && ObjectManager.Player.CountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(t)) > 0) { E.Cast(); } if (R.IsReady()) { if (Player.LSDistance(t) < Player.AttackRange) { if ( ObjectManager.Player.CountEnemiesInRange( (int)Orbwalking.GetRealAutoAttackRange(ObjectManager.Player)) >= 2 || t.Health > Player.Health) { R.CastOnUnit(Player); } } } }
private static void Harass() { var t = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (t == null) { return; } var useQ = getCheckBoxItem(harassMenu, "UseQHarass"); var useW = getCheckBoxItem(harassMenu, "UseWHarass"); var useE = getCheckBoxItem(harassMenu, "UseEHarass"); var useQDontUnderTurret = getCheckBoxItem(harassMenu, "UseQHarassDontUnderTurret"); switch (getBoxItem(harassMenu, "HarassMode")) { case 0: { if (Q.IsReady() && W.IsReady() && t != null && useQ && useW) { if (useQDontUnderTurret) { if (!t.UnderTurret()) { Q.Cast(t); W.Cast(); } } else { Q.Cast(t); W.Cast(); } } break; } case 1: { if (Q.IsReady() && E.IsReady() && t != null && useQ && useE) { if (useQDontUnderTurret) { if (!t.UnderTurret()) { Q.Cast(t); E.Cast(); } } else { Q.Cast(t); E.Cast(); } } break; } case 2: { if (Q.IsReady() && useQ && t != null && useQ) { if (useQDontUnderTurret) { if (!t.UnderTurret()) { Q.Cast(t); } } else { Q.Cast(t); } UseItems(t); } if (W.IsReady() && useW && t != null && t.LSIsValidTarget(E.Range)) { W.Cast(); } if (E.IsReady() && useE && t != null && t.LSIsValidTarget(E.Range)) { E.CastOnUnit(Player); } break; } } }
public override void Game_OnGameUpdate(EventArgs args) { if (ObjectManager.Player.IsDead) { xAttackLeft = 0; return; } if (Game.Time > xPassiveUsedTime + 3 && xAttackLeft == 1) { xAttackLeft = 0; } if (Program.misc["Passive"].Cast <CheckBox>().CurrentValue&& xAttackLeft > 0) { return; } AIHeroClient t; if (Q.IsReady() && Program.harass["UseQTH"].Cast <KeyBind>().CurrentValue&& ToggleActive) { if (ObjectManager.Player.HasBuff("Recall")) { return; } t = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (t != null) { Q.CastOnUnit(t); } } if (Q.IsReady() && Program.harass["UseQExtendedTH"].Cast <KeyBind>().CurrentValue&& ToggleActive) { if (ObjectManager.Player.HasBuff("Recall")) { return; } t = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (t.LSIsValidTarget() && QMinion(t).LSIsValidTarget()) { if (ObjectManager.Player.LSDistance(t) > Q.Range) { Q.CastOnUnit(QMinion(t)); } } } if ((!ComboActive && !HarassActive)) { return; } var useQExtended = Program.combo["UseQExtendedC"].Cast <ComboBox>().CurrentValue; if (useQExtended != 0) { switch (useQExtended) { case 1: { t = TargetSelector.GetTarget(Q2.Range, DamageType.Physical); var tx = QMinion(t); if (tx.LSIsValidTarget()) { if (!Orbwalking.InAutoAttackRange(t)) { Q.CastOnUnit(tx); } } break; } case 2: { var enemy = HeroManager.Enemies.Find(e => e.LSIsValidTarget(Q2.Range) && !e.IsZombie); if (enemy != null) { var tx = QMinion(enemy); if (tx.LSIsValidTarget()) { Q.CastOnUnit(tx); } } break; } } } // Auto turn off Ghostblade Item if Ultimate active if (ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Level > 0) { Program.MenuActivator["GHOSTBLADE"].Cast <CheckBox>().CurrentValue = (ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Name == "LucianR"); } //if (useQExtended && Q.IsReady()) //{ // var t = TargetSelector.GetTarget(Q2.Range, DamageType.Physical); // if (t.LSIsValidTarget() && QMinion.LSIsValidTarget()) // { // if (!Orbwalking.InAutoAttackRange(t)) // Q.CastOnUnit(QMinion); // } //} t = TargetSelector.GetTarget(W.Range, DamageType.Physical); if (!t.LSIsValidTarget()) { return; } var useQ = Program.combo["UseQC"].Cast <CheckBox>().CurrentValue; if (useQ && Q.IsReady()) { if (t.LSIsValidTarget(Q.Range)) { Q.CastOnUnit(t); //Orbwalking.ResetAutoAttackTimer(); } } var useW = Program.combo["UseQC"].Cast <CheckBox>().CurrentValue; if (useW && W.CanCast(t)) { if (t.Health <= W.GetDamage(t) || t.LSIsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65)) { W.Cast(t.Position); } } var useE = Program.combo["UseEC"].Cast <ComboBox>().CurrentValue; if (useE != 0 && E.IsReady()) { if (t.LSDistance(ObjectManager.Player.Position) > Orbwalking.GetRealAutoAttackRange(null) && t.LSIsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + E.Range - 100) && E.IsPositionSafe(t.Position.LSTo2D())) { E.Cast(t.Position); //Orbwalking.ResetAutoAttackTimer(); } else if (E.IsPositionSafe(Game.CursorPos.LSTo2D())) { E.Cast(Game.CursorPos); //Orbwalking.ResetAutoAttackTimer(); } //Orbwalker.ForceTarget(t); //if (t.LSIsValidTarget(Q.Range)) //{ // E.Cast(Game.CursorPos); //} } }
static void Obj_AI_Base_OnCreate(GameObject sender, EventArgs args) { if (!config.Item("Use").GetValue<KeyBind>().Active && !config.Item("Always").GetValue<bool>()) return; #region Rengar var Rengar = HeroManager.Enemies.Find(x => x.ChampionName.ToLower() == "rengar"); if (Rengar != null) { if (config.Item("RengarR").GetValue<bool>()) { if (sender.IsEnemy && sender.Name.Contains("Rengar_Base_R_Alert")) { if (ObjectManager.Player.HasBuff("rengarralertsound") && !CheckWard() && !Rengar.IsVisible && !Rengar.IsDead && CheckSlot() != SpellSlot.Unknown) { ObjectManager.Player.Spellbook.CastSpell(CheckSlot(), ObjectManager.Player.Position); } } } var spell = new Spell(SkillData.slot, SkillData.range); if (config.Item("FRUse").GetValue<bool>() && SkillData.slot != SpellSlot.Unknown) { if (sender.IsEnemy && sender.Name.Contains("Rengar_LeapSound.troy") && ObjectManager.Player.Distance(sender.Position) < 1700 && spell.IsReady()) { if (spell.Range == 1 && ObjectManager.Player.Distance(Rengar.Position) < 750) { spell.Cast(ObjectManager.Player.Position); } else if (ObjectManager.Player.Distance(Rengar.Position) < spell.Range && Rengar.IsValidTarget()) { spell.CastOnUnit(Rengar); } } } } #endregion #region Leblanc var Leblanc = HeroManager.Enemies.Find(x => x.ChampionName.ToLower() == "leblanc"); if (Leblanc != null) { if (!config.Item("LeBlancR").GetValue<bool>()) return; if (ObjectManager.Player.Distance(sender.Position) > 600) return; if (sender.IsEnemy && sender.Name == "LeBlanc_Base_P_poof.troy") { if (!CheckWard() && !Leblanc.IsVisible && !Leblanc.IsDead && CheckSlot() != SpellSlot.Unknown) { ObjectManager.Player.Spellbook.CastSpell(CheckSlot(), ObjectManager.Player.Position); } } } #endregion }