public override void Game_OnGameUpdate(EventArgs args) { if (Q.IsReady() && GetValue <KeyBind>("UseQTH").Active) { if (ObjectManager.Player.HasBuff("Recall")) { return; } var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { Q.Cast(t, false, true); } } if ((!ComboActive && !HarassActive) || !DeathWalker.canMove()) { return; } var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); var useW = GetValue <bool>("UseW" + (ComboActive ? "C" : "H")); var useR = GetValue <bool>("UseR" + (ComboActive ? "C" : "H")); if (Q.IsReady() && useQ) { var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { Q.Cast(t, false, true); } } if (W.IsReady() && useW) { var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(W.Range) && (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) || t.HasBuff("zhonyasringshield") || t.HasBuff("Recall"))) { W.Cast(t, false, true); } } if (R.IsReady() && useR) { foreach ( var hero in ObjectManager.Get <Obj_AI_Hero>() .Where( hero => hero.IsValidTarget(R.Range) && ObjectManager.Player.GetSpellDamage(hero, SpellSlot.R, 1) - 20 > hero.Health)) { R.Cast(hero, false, true); } } }
public static void slayMaderDuker(Obj_AI_Base target) { try { if (target == null) { return; } if (MasterSharp.Config.Item("useSmite").GetValue <bool>()) { useSmiteOnTarget(target); } if (target.Distance(player) < 500) { sumItems.cast(SummonerItems.ItemIds.Ghostblade); } if (target.Distance(player) < 300) { sumItems.cast(SummonerItems.ItemIds.Hydra); } if (target.Distance(player) < 300) { sumItems.cast(SummonerItems.ItemIds.Tiamat); } if (target.Distance(player) < 300) { sumItems.cast(SummonerItems.ItemIds.Cutlass, target); } if (target.Distance(player) < 500 && (player.Health / player.MaxHealth) * 100 < 85) { sumItems.cast(SummonerItems.ItemIds.BotRK, target); } if (MasterSharp.Config.Item("useQ").GetValue <bool>() && (DeathWalker.canMove() || Q.IsKillable(target))) { useQSmart(target); } if (MasterSharp.Config.Item("useE").GetValue <bool>()) { useESmart(target); } if (MasterSharp.Config.Item("useR").GetValue <bool>()) { useRSmart(target); } } catch (Exception ex) { Console.WriteLine(ex); } }
public void doAttack() { List<AIHeroClient> enes = getEnemiesInSolRange(); if (enes != null) { foreach (var ene in enes) { if (DeathWalker.canMove() && DeathWalker.canAttack() && solisAreStill()) { //DeathWalker. = DeathWalker.now; EloBuddy.Player.IssueOrder(GameObjectOrder.AttackUnit, ene); } } } }
public override void farm() { if (!DeathWalker.canMove()) { return; } var allMinions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range); var useQ = true; var useW = true; if (useQ && Q.IsReady()) { foreach (var minion in allMinions.Where(minion => minion.IsValidTarget() && HealthPrediction.GetHealthPrediction(minion, (int)(ObjectManager.Player.Distance(minion, false) * 1000 / 1400)) < 0.75 * ObjectManager.Player.GetSpellDamage(minion, SpellSlot.Q, 1))) { Q.Cast(minion); return; } } else if (useW && W.IsReady()) { if (!allMinions.Any(minion => minion.IsValidTarget(W.Range) && minion.Health < 0.75 * ObjectManager.Player.GetSpellDamage(minion, SpellSlot.W))) { return; } W.Cast(); return; } foreach (var minion in allMinions) { if (useQ) { Q.Cast(minion); } if (useW && ObjectManager.Player.Distance(minion, false) < W.Range) { W.Cast(minion); } } }
public override void Game_OnGameUpdate(EventArgs args) { if (!DeathWalker.canMove()) { return; } var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); if (ComboActive || HarassActive) { if (Q.IsReady() && useQ) { var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { Q.Cast(t, false, true); } } } }
public void doCombo(Obj_AI_Base target) { if (target == null) { return; } rushDownQ = rushDmgBasedOnDist(target) * 0.7f > target.Health; rushDown = rushDmgBasedOnDist(target) * 1.1f > target.Health; if (rushDown || player.CountEnemiesInRange(600) > 2) { useRSmart(target); } if (rushDown || safeGap(target)) { useESmart(target); } useWSmart(target); if (DeathWalker.canMove() && (target.Distance(player) < 700 || rushDown)) { gapWithQ(target); } }
public override void Game_OnGameUpdate(EventArgs args) { R.Range = 500 * (R.Level == 0 ? 1 : R.Level) + 1500; Obj_AI_Hero t; if (W.IsReady() && GetValue <bool>("AutoWI")) { t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(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() && GetValue <bool>("AutoQI")) { t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(Q.Range) && (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) && (t.Health <= ObjectManager.Player.GetSpellDamage(t, SpellSlot.Q) || !DeathWalker.inAutoAttackRange(t)))) { Q.Cast(t, false, true); } } if (R.IsReady()) { t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(R.Range) && t.Health <= R.GetDamage(t)) { if (GetValue <KeyBind>("UltHelp").Active) { R.Cast(t); } UltTarget = t.ChampionName; ShowUlt = true; } else { ShowUlt = false; } } else { ShowUlt = false; } if (GetValue <KeyBind>("Dash").Active&& E.IsReady()) { var pos = ObjectManager.Player.ServerPosition.To2D().Extend(Game.CursorPos.To2D(), -300).To3D(); E.Cast(pos, true); } if (GetValue <KeyBind>("UseEQC").Active&& E.IsReady() && Q.IsReady()) { t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(E.Range) && t.Health < ObjectManager.Player.GetSpellDamage(t, SpellSlot.Q) + ObjectManager.Player.GetSpellDamage(t, SpellSlot.E) + 20 && E.CanCast(t)) { E.Cast(t); Q.Cast(t, false, true); } } // PQ you broke it D: if ((!ComboActive && !HarassActive) || !DeathWalker.canMove()) { return; } var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); var useE = GetValue <bool>("UseEC"); var useR = GetValue <bool>("UseRC"); if (Q.IsReady() && useQ) { t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { Q.Cast(t, false, true); } } else if (E.IsReady() && useE) { t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (t != null && t.Health <= E.GetDamage(t)) { E.Cast(t); } } if (R.IsReady() && useR) { t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical); if (t != null && t.Health <= R.GetDamage(t) && !DeathWalker.inAutoAttackRange(t)) { R.CastOnUnit(t); } } }
public override void Game_OnGameUpdate(EventArgs args) { UltimateBuffStacks = GetUltimateBuffStacks(); W.Range = 110 + 20 * ObjectManager.Player.Spellbook.GetSpell(SpellSlot.W).Level; R.Range = 900 + 300 * ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Level; if (R.IsReady() && GetValue <bool>("UseRM")) { foreach ( var hero in ObjectManager.Get <Obj_AI_Hero>() .Where( hero => hero.IsValidTarget(R.Range) && R.GetDamage(hero) > hero.Health)) { R.Cast(hero, false, true); } } if ((!ComboActive && !HarassActive) || (!DeathWalker.canMove() && !(ObjectManager.Player.BaseAbilityDamage + ObjectManager.Player.FlatMagicDamageMod > 100))) { return; } var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); var useW = GetValue <bool>("UseW" + (ComboActive ? "C" : "H")); var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H")); var useR = GetValue <bool>("UseR" + (ComboActive ? "C" : "H")); var rLim = GetValue <Slider>("Rlim" + (ComboActive ? "C" : "H")).Value; if (useW && W.IsReady()) { foreach ( var hero in ObjectManager.Get <Obj_AI_Hero>() .Where(hero => hero.IsValidTarget(DeathWalker.getRealAutoAttackRange(hero) + W.Range))) { W.CastOnUnit(ObjectManager.Player); } } if (useQ && Q.IsReady()) { var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (t != null) { CastQ(); } //if (Q.Cast(t) == Spell.CastStates.SuccessfullyCasted) // return; } if (useE && E.IsReady()) { var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); if (t != null) { if (E.Cast(t, false, true) == Spell.CastStates.SuccessfullyCasted) { return; } } } if (GetValue <bool>("UseRSC") && R.IsReady()) { var t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); if (t.IsValidTarget() && (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Slow) || t.HasBuffOfType(BuffType.Fear) || t.HasBuffOfType(BuffType.Taunt))) { R.Cast(t, false, true); } } if (useR && R.IsReady() && UltimateBuffStacks < rLim) { var t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); if (t != null) { R.Cast(t, false, true); } } }
private void Farm(bool laneClear) { if (!DeathWalker.canMove()) { return; } var rangedMinionsQ = MinionManager.GetMinions(player.ServerPosition, Q.Range + Q.Width + 30, MinionTypes.Ranged); var allMinionsQ = MinionManager.GetMinions(player.ServerPosition, Q.Range + Q.Width + 30, MinionTypes.All); var rangedMinionsW = MinionManager.GetMinions(player.ServerPosition, W.Range + W.Width + 30, MinionTypes.Ranged); var allMinionsW = MinionManager.GetMinions(player.ServerPosition, W.Range + W.Width + 30, MinionTypes.All); if (Q.IsReady()) { if (laneClear) { var fl1 = Q.GetCircularFarmLocation(rangedMinionsQ, Q.Width); var fl2 = Q.GetCircularFarmLocation(allMinionsQ, Q.Width); if (fl1.MinionsHit >= 3) { Q.Cast(fl1.Position); } else if (fl2.MinionsHit >= 2 || allMinionsQ.Count == 1) { Q.Cast(fl2.Position); } } else { foreach (var minion in allMinionsQ) { if (!Orbwalking.InAutoAttackRange(minion) && minion.Health < 0.75 * player.GetSpellDamage(minion, SpellSlot.Q)) { Q.Cast(minion); } } } } if (W.IsReady() && allMinionsW.Count > 3) { if (laneClear) { if (player.Spellbook.GetSpell(SpellSlot.W).ToggleState == 1) { //WObject var gObjectPos = GetGrabableObjectPos(false); if (gObjectPos.To2D().IsValid() && DeathWalker.now - W.LastCastAttemptT > Game.Ping + 150) { W.Cast(gObjectPos); } } else if (player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1) { var fl1 = Q.GetCircularFarmLocation(rangedMinionsW, W.Width); var fl2 = Q.GetCircularFarmLocation(allMinionsW, W.Width); if (fl1.MinionsHit >= 3 && W.IsInRange(fl1.Position.To3D())) { W.Cast(fl1.Position); } else if (fl2.MinionsHit >= 1 && W.IsInRange(fl2.Position.To3D()) && fl1.MinionsHit <= 2) { W.Cast(fl2.Position); } } } } }
public override void Game_OnGameUpdate(EventArgs args) { R.Range = 300 * ObjectManager.Player.Level; if (Q.IsReady() && GetValue <KeyBind>("UseQTH").Active&& ToggleActive) { if (ObjectManager.Player.HasBuff("Recall")) { return; } var qTarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (Q.IsReady() && qTarget.IsValidTarget()) { Q.CastOnUnit(qTarget); } } if (DeathWalker.canMove() && (ComboActive || HarassActive)) { var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); if (useQ) { var qTarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (Q.IsReady() && qTarget.IsValidTarget()) { Q.CastOnUnit(qTarget); } } } if (GetValue <bool>("UseQM") && Q.IsReady()) { foreach ( var hero in ObjectManager.Get <Obj_AI_Hero>() .Where( hero => hero.IsValidTarget(Q.Range) && ObjectManager.Player.GetSpellDamage(hero, SpellSlot.Q) - 20 > hero.Health)) { Q.CastOnUnit(hero); } } if (GetValue <bool>("UseRC") && R.IsReady() && ComboActive) { foreach ( var hero in ObjectManager.Get <Obj_AI_Hero>() .Where( hero => hero.IsValidTarget(R.Range))) { R.Cast(hero, false, true); } if (R.IsReady() && GetValue <bool>("AutoRI")) { var t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(R.Range) && (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Taunt) || t.HasBuff("zhonyasringshield") || t.HasBuff("Recall"))) { R.Cast(t.Position); } } } if (LaneClearActive) { var useQ = GetValue <bool>("UseQL"); if (Q.IsReady() && useQ) { var vMinions = MinionManager.GetMinions(ObjectManager.Player.Position, Q.Range); foreach ( var minions in vMinions.Where( minions => minions.Health < ObjectManager.Player.GetSpellDamage(minions, SpellSlot.Q))) { Q.Cast(minions); } } } }
public override void Game_OnGameUpdate(EventArgs args) { if ((!ComboActive && !HarassActive) || !DeathWalker.canMove()) { if (GetValue <bool>("FocusW")) { var silverBuffMarkedEnemy = VayneData.GetSilverBuffMarkedEnemy; if (silverBuffMarkedEnemy != null) { TargetSelector.SetTarget(silverBuffMarkedEnemy); } else { var attackRange = DeathWalker.getRealAutoAttackRange(ObjectManager.Player); TargetSelector.SetTarget( TargetSelector.GetTarget(attackRange, TargetSelector.DamageType.Physical)); } } var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H")); if (Q.IsReady() && GetValue <bool>("CompleteSilverBuff")) { if (VayneData.GetSilverBuffMarkedEnemy != null && VayneData.GetSilverBuffMarkedCount == 2) { Q.Cast(Game.CursorPos); } } if (E.IsReady() && useE) { var t = TargetSelector.GetTarget(E.Range + Q.Range, TargetSelector.DamageType.Physical); if (t != null) { for (var i = 1; i < 8; i++) { var targetBehind = t.Position + Vector3.Normalize(t.ServerPosition - ObjectManager.Player.Position) * i * 50; if (targetBehind.IsWall() && t.IsValidTarget(E.Range)) { E.CastOnUnit(t); return; } } } /* * foreach (var hero in * from hero in ObjectManager.Get<Obj_AI_Hero>().Where(hero => hero.IsValidTarget(550f)) * let prediction = E.GetPrediction(hero) * where * NavMesh.GetCollisionFlags( * prediction.UnitPosition.To2D() * .Extend( * ObjectManager.Player.ServerPosition.To2D(), * -GetValue<Slider>("PushDistance").Value) * .To3D()).HasFlag(CollisionFlags.Wall) || * NavMesh.GetCollisionFlags( * prediction.UnitPosition.To2D() * .Extend( * ObjectManager.Player.ServerPosition.To2D(), * -(GetValue<Slider>("PushDistance").Value/2)) * .To3D()).HasFlag(CollisionFlags.Wall) * select hero) * { * E.Cast(hero); * } */ } } if (LaneClearActive) { var useQ = GetValue <bool>("UseQL"); if (Q.IsReady() && useQ) { var vMinions = MinionManager.GetMinions(ObjectManager.Player.Position, Q.Range); foreach (var minions in vMinions.Where( minions => minions.Health < ObjectManager.Player.GetSpellDamage(minions, SpellSlot.Q))) { Q.Cast(minions); } } } }
public override void Game_OnGameUpdate(EventArgs args) { if (!DeathWalker.canMove()) { return; } var getEMarkedEnemy = TristanaData.GetEMarkedEnemy; if (getEMarkedEnemy != null) { TargetSelector.SetTarget(getEMarkedEnemy); } else { var attackRange = DeathWalker.getRealAutoAttackRange(Player); TargetSelector.SetTarget(TargetSelector.GetTarget(attackRange, TargetSelector.DamageType.Physical)); } Q.Range = 600 + 5 * (Player.Level - 1); E.Range = 630 + 7 * (Player.Level - 1); R.Range = 630 + 7 * (Player.Level - 1); if (GetValue <KeyBind>("UseETH").Active) { if (Player.HasBuff("Recall")) { return; } var t = TristanaData.GetTarget(E.Range); if (t.IsValidTarget() && E.IsReady() && canUseE(t)) { E.CastOnUnit(t); } } var useW = W.IsReady() && GetValue <bool>("UseWC"); var useWc = W.IsReady() && GetValue <bool>("UseWCS"); var useWks = W.IsReady() && GetValue <bool>("UseWKs"); var useE = E.IsReady() && GetValue <bool>("UseE" + (ComboActive ? "C" : "H")); var useR = R.IsReady() && GetValue <bool>("UseRM") && R.IsReady(); if (ComboActive || HarassActive) { Obj_AI_Hero t; if (TristanaData.GetEMarkedEnemy != null) { t = TristanaData.GetEMarkedEnemy; TargetSelector.SetTarget(TristanaData.GetEMarkedEnemy); } else { t = TristanaData.GetTarget(W.Range); } if (useE && canUseE(t)) { if (E.IsReady() && t.IsValidTarget(E.Range)) { E.CastOnUnit(t); } } if (useW) { t = TristanaData.GetTarget(W.Range); if (t.IsValidTarget()) { W.Cast(t); } } else if (useWks) { t = TristanaData.GetTarget(W.Range); if (t.IsValidTarget() && t.Health < TristanaData.GetWDamage) { W.Cast(t); } } else if (useWc) { t = TristanaData.GetTarget(W.Range); if (t.IsValidTarget() && TristanaData.GetEMarkedCount == 4) { W.Cast(t); } } } if (ComboActive) { if (useR) { var t = TristanaData.GetTarget(R.Range - 20); if (!t.IsValidTarget()) { return; } if (Player.GetSpellDamage(t, SpellSlot.R) - 30 < t.Health || t.Health < Player.GetAutoAttackDamage(t, true)) { return; } R.CastOnUnit(t); } } }
public override void Game_OnGameUpdate(EventArgs args) { if (DeathWalker.canMove() && (ComboActive || HarassActive)) { var useW = GetValue <bool>("UseW" + (ComboActive ? "C" : "H")); var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H")); if (useW) { var wTarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (W.IsReady() && wTarget.IsValidTarget()) { W.Cast(wTarget, false, true); } } if (useE && E.IsReady()) { var eTarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (eTarget.IsValidTarget(E.Range)) { foreach ( var buff in eTarget.Buffs.Where(buff => buff.DisplayName.ToLower() == "twitchdeadlyvenom") .Where(buff => buff.Count == 6)) { E.Cast(); } } // credits iMeh var minions = MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.NotAlly); foreach (var m in minions) { switch (GetValue <StringList>("E.Mobs").SelectedIndex) { case 0: if ((m.CharData.BaseSkinName.Contains("MinionSiege") || m.CharData.BaseSkinName.Contains("Dragon") || m.CharData.BaseSkinName.Contains("Baron")) && E.IsKillable(m)) { E.Cast(); } break; case 1: if ((m.CharData.BaseSkinName.Contains("Dragon") || m.CharData.BaseSkinName.Contains("Baron")) && E.IsKillable(m)) { E.Cast(); } break; case 2: if (m.CharData.BaseSkinName.Contains("MinionSiege") && E.IsKillable(m)) { E.Cast(); } break; } } } } if (GetValue <bool>("UseEM") && E.IsReady()) { foreach ( var hero in ObjectManager.Get <Obj_AI_Hero>() .Where( hero => hero.IsValidTarget(E.Range) && (ObjectManager.Player.GetSpellDamage(hero, SpellSlot.E) - 10 > hero.Health))) { E.Cast(); } } }
public override void Game_OnGameUpdate(EventArgs args) { if (Q.IsReady() && GetValue <bool>("SwapDistance") && DeathWalker.CurrentMode == DeathWalker.Mode.Combo) { var activeQ = ObjectManager.Player.Spellbook.GetSpell(SpellSlot.Q).Level *25 + 650; var t = TargetSelector.GetTarget(activeQ, TargetSelector.DamageType.Physical); if (t.IsValidTarget() && ObjectManager.Player.Distance(t) > DeathWalker.getRealAutoAttackRange(null) + 65) { if (!FishBoneActive) { Q.Cast(); DeathWalker.ForcedTarget = t; return; } } if (!t.IsValidTarget() || ObjectManager.Player.Distance(t) < DeathWalker.getRealAutoAttackRange(null) + 65) { if (FishBoneActive) { Q.Cast(); return; } } } var autoEi = GetValue <bool>("AutoEI"); var autoEs = GetValue <bool>("AutoES"); var autoEd = GetValue <bool>("AutoED"); if (autoEs || autoEi || autoEd) { foreach ( var enemy in ObjectManager.Get <Obj_AI_Hero>().Where(enemy => enemy.IsValidTarget(E.Range - 150))) { if (autoEs && E.IsReady() && enemy.HasBuffOfType(BuffType.Slow)) { var castPosition = Prediction.GetPrediction( new PredictionInput { Unit = enemy, Delay = 0.7f, Radius = 120f, Speed = 1750f, Range = 900f, Type = SkillshotType.SkillshotCircle }).CastPosition; if (GetSlowEndTime(enemy) >= (Game.Time + E.Delay + 0.5f)) { E.Cast(castPosition); } } if (autoEi && E.IsReady() && (enemy.HasBuffOfType(BuffType.Stun) || enemy.HasBuffOfType(BuffType.Snare) || enemy.HasBuffOfType(BuffType.Charm) || enemy.HasBuffOfType(BuffType.Fear) || enemy.HasBuffOfType(BuffType.Taunt) || enemy.HasBuff("zhonyasringshield") || enemy.HasBuff("Recall"))) { E.CastIfHitchanceEquals(enemy, HitChance.High); } if (autoEd && E.IsReady() && enemy.IsDashing()) { E.CastIfHitchanceEquals(enemy, HitChance.Dashing); } } } if (GetValue <KeyBind>("CastR").Active&& R.IsReady()) { var t = TargetSelector.GetTarget(1500, TargetSelector.DamageType.Physical); if (t.IsValidTarget()) { if (ObjectManager.Player.GetSpellDamage(t, SpellSlot.R) > t.Health && !t.IsZombie) { //R.Cast(target); R.CastIfHitchanceEquals(t, HitChance.High, false); } } } /* * if (GetValue<bool>("SwapQ") && FishBoneActive && * (LaneClearActive || * (HarassActive && TargetSelector.GetTarget(675f + QAddRange, TargetSelector.DamageType.Physical) == null))) * { * Q.Cast(); * } */ if ((!ComboActive && !HarassActive) || !DeathWalker.canMove()) { return; } var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); var useW = GetValue <bool>("UseW" + (ComboActive ? "C" : "H")); var useR = GetValue <bool>("UseRC"); if (useW && W.IsReady()) { var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); var minW = GetValue <Slider>("MinWRange").Value; if (t.IsValidTarget() && GetRealDistance(t) >= minW) { if (W.Cast(t) == Spell.CastStates.SuccessfullyCasted) { return; } } } /* * if (useQ) * { * foreach (var t in * ObjectManager.Get<Obj_AI_Hero>() * .Where(t => t.IsValidTarget(GetRealPowPowRange(t) + QAddRange + 20f))) * { * var swapDistance = GetValue<bool>("SwapDistance"); * var swapAoe = GetValue<bool>("SwapAOE"); * var distance = GetRealDistance(t); * var powPowRange = GetRealPowPowRange(t); * * if (swapDistance && Q.IsReady()) * { * if (distance > powPowRange && !FishBoneActive) * { * if (Q.Cast()) * { * return; * } * } * else if (distance < powPowRange && FishBoneActive) * { * if (Q.Cast()) * { * return; * } * } * } * * if (swapAoe && Q.IsReady()) * { * if (distance > powPowRange && PowPowStacks > 2 && !FishBoneActive && CountEnemies(t, 150) > 1) * { * if (Q.Cast()) * { * return; * } * } * } * } * } * */ if (useR && R.IsReady()) { var checkRok = GetValue <bool>("ROverKill"); var minR = GetValue <Slider>("MinRRange").Value; var maxR = GetValue <Slider>("MaxRRange").Value; var t = TargetSelector.GetTarget(maxR, TargetSelector.DamageType.Physical); if (t.IsValidTarget()) { var distance = GetRealDistance(t); if (!checkRok) { if (ObjectManager.Player.GetSpellDamage(t, SpellSlot.R, 1) > t.Health && !t.IsZombie) { R.CastIfHitchanceEquals(t, HitChance.High, false); //if (R.Cast(t) == Spell.CastStates.SuccessfullyCasted) { } } } else if (distance > minR) { var aDamage = ObjectManager.Player.GetAutoAttackDamage(t); var wDamage = ObjectManager.Player.GetSpellDamage(t, SpellSlot.W); var rDamage = ObjectManager.Player.GetSpellDamage(t, SpellSlot.R); var powPowRange = GetRealPowPowRange(t); if (distance < (powPowRange + QAddRange) && !(aDamage * 3.5 > t.Health)) { if (!W.IsReady() || !(wDamage > t.Health) || W.GetPrediction(t).CollisionObjects.Count > 0) { if (CountAlliesNearTarget(t, 500) <= 3) { if (rDamage > t.Health && !t.IsZombie /*&& !ObjectManager.Player.IsAutoAttacking && * !ObjectManager.Player.IsChanneling*/) { R.CastIfHitchanceEquals(t, HitChance.High, false); //if (R.Cast(t) == Spell.CastStates.SuccessfullyCasted) { } } } } } else if (distance > (powPowRange + QAddRange)) { if (!W.IsReady() || !(wDamage > t.Health) || distance > W.Range || W.GetPrediction(t).CollisionObjects.Count > 0) { if (CountAlliesNearTarget(t, 500) <= 3) { if (rDamage > t.Health && !t.IsZombie /*&& !ObjectManager.Player.IsAutoAttacking && * !ObjectManager.Player.IsChanneling*/) { R.CastIfHitchanceEquals(t, HitChance.High, false); //if (R.Cast(t) == Spell.CastStates.SuccessfullyCasted) { } } } } } } } } }
public override void Game_OnGameUpdate(EventArgs args) { if (R1.IsReady() && GetValue <bool>("UseRM")) { var bigRocket = HasBigRocket(); foreach ( var hero in ObjectManager.Get <Obj_AI_Hero>() .Where( hero => hero.IsValidTarget(bigRocket ? R2.Range : R1.Range) && R1.GetDamage(hero) * (bigRocket ? 1.5f : 1f) > hero.Health)) { if (bigRocket) { R2.Cast(hero, false, true); } else { R1.Cast(hero, false, true); } } } if ((!ComboActive && !HarassActive) || !DeathWalker.canMove()) { return; } var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H")); var useR = GetValue <bool>("UseR" + (ComboActive ? "C" : "H")); var rLim = GetValue <Slider>("Rlim" + (ComboActive ? "C" : "H")).Value; if (useQ && Q.IsReady()) { var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (t != null) { if (Q.Cast(t, false, true) == Spell.CastStates.SuccessfullyCasted) { return; } } } if (useE && E.IsReady()) { var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (t != null) { if (E.Cast(t, false, true) == Spell.CastStates.SuccessfullyCasted) { return; } } } if (useR && R1.IsReady() && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R).Ammo > rLim) { var bigRocket = HasBigRocket(); var t = TargetSelector.GetTarget(bigRocket ? R2.Range : R1.Range, TargetSelector.DamageType.Magical); if (t != null) { if (bigRocket) { R2.Cast(t, false, true); } else { R1.Cast(t, false, true); } } } }
public override void Game_OnGameUpdate(EventArgs args) { if (Q.IsReady() && GetValue <KeyBind>("UseQTH").Active) { if (ObjectManager.Player.HasBuff("Recall")) { return; } var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { Q.Cast(t, false, true); } } if (ComboActive || HarassActive) { var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H")); var useET = GetValue <bool>("UseET" + (ComboActive ? "C" : "H")); if (DeathWalker.canMove()) { if (E.IsReady() && useE) { var vTarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (vTarget != null && !isHePantheon(vTarget)) { if (vTarget.Health <= E.GetDamage(vTarget) + Q.GetDamage(vTarget) * 2) { E.CastOnUnit(vTarget); } else if (!useET) { E.CastOnUnit(vTarget); } else if (!vTarget.UnderTurret()) { E.CastOnUnit(vTarget); } } } if (Q.IsReady() && useQ) { var vTarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (vTarget != null) { Q.Cast(vTarget); } } if (IsValorMode() && !E.IsReady()) { var vTarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical); if (vTarget != null) { calculateValorDamage(); if (vTarget.Health >= ValorMinDamage && vTarget.Health <= ValorMaxDamage) { R.Cast(); } } } } } }
private void Combo() { Obj_AI_Hero target = ARAMTargetSelector.getBestTarget( E.Range); if (target == null) { return; } if (40 < player.HealthPercent && player.CountEnemiesInRange(500) > 0) { W.Cast(); } if (R.IsReady()) { var Rtarget = HeroManager.Enemies.FirstOrDefault(e => e.HealthPercent < 50 && e.CountAlliesInRange(660) > 0); if (Rtarget != null) { R.CastIfWillHit(Rtarget, 2); } } var barrels = GetBarrels() .Where( o => o.IsValid && !o.IsDead && o.Distance(player) < 1600 && o.SkinName == "GangplankBarrel" && o.GetBuff("gangplankebarrellife").Caster.IsMe) .ToList(); if (Q.IsReady() && E.IsReady()) { var Qbarrels = GetBarrels().Where(o => o.Distance(player) < Q.Range && KillableBarrel(o)); foreach (var Qbarrel in Qbarrels) { if (Qbarrel.Distance(target) < BarrelExplosionRange) { continue; } var point = GetBarrelPoints(Qbarrel.Position) .Where( p => p.IsValid() && !p.IsWall() && p.Distance(player.Position) < E.Range && p.Distance(Prediction.GetPrediction(target, GetQTime(Qbarrel)).UnitPosition) < BarrelExplosionRange && savedBarrels.Count(b => b.barrel.Position.Distance(p) < BarrelExplosionRange) < 1) .OrderBy(p => p.Distance(target.Position)) .FirstOrDefault(); if (point != null && !justE) { E.Cast(point); Utility.DelayAction.Add(1, () => Q.CastOnUnit(Qbarrel)); return; } } } if (E.IsReady() && player.Distance(target) < E.Range && target.Health > Q.GetDamage(target) + player.GetAutoAttackDamage(target) && DeathWalker.canMove() && 0 < E.Instance.Ammo) { CastE(target, barrels); } var meleeRangeBarrel = barrels.FirstOrDefault( b => b.Health < 2 && b.Distance(player) < DeathWalker.getRealAutoAttackRange(player, b) && b.CountEnemiesInRange(BarrelExplosionRange) > 0); if (meleeRangeBarrel != null) { DeathWalker.ForcedTarget = meleeRangeBarrel; } if (Q.IsReady()) { if (barrels.Any()) { var detoneateTargetBarrels = barrels.Where(b => b.Distance(player) < Q.Range); if (detoneateTargetBarrels.Any()) { foreach (var detoneateTargetBarrel in detoneateTargetBarrels) { if (!KillableBarrel(detoneateTargetBarrel)) { continue; } if ( detoneateTargetBarrel.Distance( Prediction.GetPrediction(target, GetQTime(detoneateTargetBarrel)).UnitPosition) < BarrelExplosionRange && target.Distance(detoneateTargetBarrel.Position) < BarrelExplosionRange) { Q.CastOnUnit(detoneateTargetBarrel); return; } var detoneateTargetBarrelSeconds = barrels.Where(b => b.Distance(detoneateTargetBarrel) < BarrelConnectionRange); if (detoneateTargetBarrelSeconds.Any()) { foreach (var detoneateTargetBarrelSecond in detoneateTargetBarrelSeconds) { if ( detoneateTargetBarrelSecond.Distance( Prediction.GetPrediction( target, GetQTime(detoneateTargetBarrel) + 0.15f).UnitPosition) < BarrelExplosionRange && target.Distance(detoneateTargetBarrelSecond.Position) < BarrelExplosionRange) { Q.CastOnUnit(detoneateTargetBarrel); return; } } } } } if (2 > 1) { var enemies = HeroManager.Enemies.Where(e => e.IsValidTarget() && e.Distance(player) < 600) .Select(e => Prediction.GetPrediction(e, 0.25f)); var enemies2 = HeroManager.Enemies.Where(e => e.IsValidTarget() && e.Distance(player) < 600) .Select(e => Prediction.GetPrediction(e, 0.35f)); if (detoneateTargetBarrels.Any()) { foreach (var detoneateTargetBarrel in detoneateTargetBarrels) { if (!KillableBarrel(detoneateTargetBarrel)) { continue; } var enemyCount = enemies.Count( e => e.UnitPosition.Distance(detoneateTargetBarrel.Position) < BarrelExplosionRange); if (enemyCount >= 1 && detoneateTargetBarrel.CountEnemiesInRange(BarrelExplosionRange) >= 1) { Q.CastOnUnit(detoneateTargetBarrel); return; } var detoneateTargetBarrelSeconds = barrels.Where(b => b.Distance(detoneateTargetBarrel) < BarrelConnectionRange); if (detoneateTargetBarrelSeconds.Any()) { foreach (var detoneateTargetBarrelSecond in detoneateTargetBarrelSeconds) { if (enemyCount + enemies2.Count( e => e.UnitPosition.Distance(detoneateTargetBarrelSecond.Position) < BarrelExplosionRange) >= 1 && detoneateTargetBarrelSecond.CountEnemiesInRange(BarrelExplosionRange) >= 1) { Q.CastOnUnit( detoneateTargetBarrel); return; } } } } } } } if (Q.CanCast(target)) { CastQonHero(target, barrels); } } }
public override void Game_OnGameUpdate(EventArgs args) { //if (this.JungleClearActive) //{ // this.ExecJungleClear(); //} if (this.LaneClearActive && Q.IsReady()) { this.ExecLaneClear(); } var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (!t.IsValidTarget()) { return; } if (E.IsReady() && Program.Config.Item("UseETH").GetValue <KeyBind>().Active&& ToggleActive) { if (ObjectManager.Player.HasBuff("Recall")) { return; } if (t.IsValidTarget(E.Range - 150)) { E.CastOnUnit(t); } } if (this.ComboActive) { var useQ = this.GetValue <bool>("UseQ" + (this.ComboActive ? "C" : "H")); var useW = this.GetValue <bool>("UseW" + (this.ComboActive ? "C" : "H")); var useE = this.GetValue <bool>("UseEC"); var useR = this.GetValue <bool>("UseRC"); if (DeathWalker.canMove()) { if (E.IsReady() && t.IsValidTarget(E.Range)) { E.CastOnUnit(t); } if (W.IsReady() && t.IsValidTarget(W.Range)) { W.Cast(); } if (Q.IsReady() && t.IsValidTarget(Q.Range + DeathWalker.getRealAutoAttackRange(null) + 65)) { Q.Cast(t.Position); } if (R.IsReady()) { R.Cast(ObjectManager.Player.Position); } } } }
public override void Game_OnGameUpdate(EventArgs args) { if (GetValue <Circle>("DrawJumpPos").Active) { fillPositions(); } if (GetValue <KeyBind>("JumpTo").Active) { JumpTo(); } foreach ( var myBoddy in ObjectManager.Get <Obj_AI_Minion>() .Where( obj => obj.Name == "RobotBuddy" && obj.IsAlly && ObjectManager.Player.Distance(obj) < 1500)) { Render.Circle.DrawCircle(myBoddy.Position, 75f, Color.Red); } if (CoopStrikeAlly == null) { foreach ( var ally in from ally in ObjectManager.Get <Obj_AI_Hero>().Where(tx => tx.IsAlly && !tx.IsDead && !tx.IsMe) where ObjectManager.Player.Distance(ally) <= CoopStrikeAllyRange from buff in ally.Buffs where buff.Name.Contains("kalistacoopstrikeally") select ally) { CoopStrikeAlly = ally; } if (W.Level != 0) { Drawing.DrawText(Drawing.Width * 0.44f, Drawing.Height * 0.80f, Color.Red, "Searching Your Friend..."); } } else { var drawConnText = GetValue <Circle>("DrawConnText"); if (drawConnText.Active) { Drawing.DrawText(Drawing.Width * 0.44f, Drawing.Height * 0.80f, drawConnText.Color, "You Connected with " + CoopStrikeAlly.ChampionName); } var drawConnSignal = GetValue <bool>("DrawConnSignal"); if (drawConnSignal) { if (ObjectManager.Player.Distance(CoopStrikeAlly) > 800 && ObjectManager.Player.Distance(CoopStrikeAlly) < CoopStrikeAllyRange) { Drawing.DrawText(Drawing.Width * 0.45f, Drawing.Height * 0.82f, Color.Gold, "Connection Signal: Low"); } else if (ObjectManager.Player.Distance(CoopStrikeAlly) < 800) { Drawing.DrawText(Drawing.Width * 0.45f, Drawing.Height * 0.82f, Color.GreenYellow, "Connection Signal: Good"); } else if (ObjectManager.Player.Distance(CoopStrikeAlly) > CoopStrikeAllyRange) { Drawing.DrawText(Drawing.Width * 0.45f, Drawing.Height * 0.82f, Color.Red, "Connection Signal: None"); } } } var drawEStackCount = GetValue <Circle>("DrawEStackCount"); if (drawEStackCount.Active) { xEnemyMarker.Clear(); foreach ( var xEnemy in ObjectManager.Get <Obj_AI_Hero>() .Where(tx => tx.IsEnemy && !tx.IsDead && ObjectManager.Player.Distance(tx) < E.Range)) { foreach (var buff in xEnemy.Buffs.Where(buff => buff.Name.Contains("kalistaexpungemarker"))) { xEnemyMarker.Add(new EnemyMarker { ChampionName = xEnemy.ChampionName, ExpireTime = Game.Time + 4, BuffCount = buff.Count }); } } foreach (var markedEnemies in xEnemyMarker) { foreach (var enemy in ObjectManager.Get <Obj_AI_Hero>()) { if (enemy.IsEnemy && !enemy.IsDead && ObjectManager.Player.Distance(enemy) <= E.Range && enemy.ChampionName == markedEnemies.ChampionName) { if (!(markedEnemies.ExpireTime > Game.Time)) { continue; } var xCoolDown = TimeSpan.FromSeconds(markedEnemies.ExpireTime - Game.Time); var display = string.Format("E:{0}", markedEnemies.BuffCount); Drawing.DrawText(enemy.HPBarPosition.X + 145, enemy.HPBarPosition.Y + 20, drawEStackCount.Color, display); } } } } Obj_AI_Hero t; if (Q.IsReady() && GetValue <KeyBind>("UseQTH").Active) { if (ObjectManager.Player.HasBuff("Recall")) { return; } t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { Q.Cast(t); } } if (ComboActive || HarassActive) { var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H")); if (DeathWalker.canMove()) { if (Q.IsReady() && useQ) { t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { Q.Cast(t); } } if (E.IsReady() && useE) { t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (t != null) { if (t.Health < ObjectManager.Player.GetSpellDamage(t, SpellSlot.E)) { E.Cast(); } } } } } if (!R.IsReady() || !GetValue <KeyBind>("CastR").Active) { return; } t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical); if (t != null) { R.Cast(t); } }
public override void Game_OnGameUpdate(EventArgs args) { if (LaneClearActive) { var useQ = GetValue <bool>("UseQL"); if (Q.IsReady() && useQ) { var vMinions = MinionManager.GetMinions(ObjectManager.Player.Position, Q.Range); foreach (var minions in vMinions.Where( minions => minions.Health < ObjectManager.Player.GetSpellDamage(minions, SpellSlot.Q))) { var qP = Q.GetPrediction(minions); var hit = qP.CastPosition.Extend(ObjectManager.Player.Position, -140); if (qP.Hitchance >= HitChance.High) { Q.Cast(hit); } } } } Obj_AI_Hero t; if (Q.IsReady() && Program.Config.Item("UseQTH").GetValue <KeyBind>().Active&& ToggleActive) { if (ObjectManager.Player.HasBuff("Recall")) { return; } t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); var useQt = (Program.Config.Item("DontQToggleHarass" + t.ChampionName) != null && Program.Config.Item("DontQToggleHarass" + t.ChampionName).GetValue <bool>() == false); if (useQt) { CastQ(); } } if (W.IsReady() && Program.Config.Item("UseWTH").GetValue <KeyBind>().Active&& ToggleActive) { if (ObjectManager.Player.HasBuff("Recall")) { return; } t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); var useWt = (Program.Config.Item("DontWToggleHarass" + t.ChampionName) != null && Program.Config.Item("DontWToggleHarass" + t.ChampionName).GetValue <bool>() == false); if (useWt) { W.Cast(t); } } if (ComboActive || HarassActive) { var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H")); var useW = GetValue <bool>("UseW" + (ComboActive ? "C" : "H")); var useR = Program.Config.SubMenu("Combo").Item("UseRC").GetValue <bool>(); if (DeathWalker.canMove()) { if (Q.IsReady() && useQ) { t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t != null) { CastQ(); } } if (W.IsReady() && useW) { t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (t != null) { W.Cast(t); } } if (R.IsReady() && useR) { var minRRange = Program.Config.SubMenu("Combo").Item("UseRCMinRange").GetValue <Slider>().Value; var maxRRange = Program.Config.SubMenu("Combo").Item("UseRCMaxRange").GetValue <Slider>().Value; t = TargetSelector.GetTarget(maxRRange, TargetSelector.DamageType.Physical); if (Q.IsReady() && t.IsValidTarget(Q.Range) && Q.GetPrediction(t).CollisionObjects.Count == 0 && t.Health < ObjectManager.Player.GetSpellDamage(t, SpellSlot.Q)) { return; } if (t.IsValidTarget() && ObjectManager.Player.Distance(t) >= minRRange && t.Health <= ObjectManager.Player.GetSpellDamage(t, SpellSlot.R)) { R.Cast(t); } } } } if (R.IsReady() && GetValue <KeyBind>("CastR").Active) { t = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget()) { R.Cast(t); } } }