private int hitOnTar(Obj_AI_Base tar) { if (tar == null) { return(int.MaxValue); } int addTime = 0; if (DeathWalker.inAutoAttackRange(source, tar))//+ check if want to move to killabel minion and range it wants to { var realDist = DeathWalker.realDistanceTill(source, target); var aaRange = DeathWalker.getRealAutoAttackRange(source, tar); addTime += (int)(((realDist - aaRange) * 1000) / source.MoveSpeed); } if (source.IsMelee || DeathWalker.azir) { return((int)(createdTick + source.AttackCastDelay * 1000) + addTime); } else { return(createdTick + (int)((source.Position.Distance(tar.Position) * 1000) / (source.BasicAttack.MissileSpeed)) + ((source is Obj_AI_Turret) ? towerDamageDelay : 0) + addTime);//lil delay cus dunno l8er could try to values what says delay of dmg dealing } }
public void ExecLaneClear() { var useQ = Program.Config.Item("UseQL").GetValue <StringList>().SelectedIndex; var minion = MinionManager.GetMinions(ObjectManager.Player.Position, Q.Range) .FirstOrDefault(m => m.Health < ObjectManager.Player.GetSpellDamage(m, SpellSlot.Q)); if (minion != null) { switch (useQ) { case 1: minion = MinionManager.GetMinions(ObjectManager.Player.Position, Q.Range) .FirstOrDefault( m => m.Health <ObjectManager.Player.GetSpellDamage(m, SpellSlot.Q) && m.Health> ObjectManager.Player.TotalAttackDamage); Q.Cast(minion); break; case 2: minion = MinionManager.GetMinions(ObjectManager.Player.Position, Q.Range) .FirstOrDefault( m => m.Health <ObjectManager.Player.GetSpellDamage(m, SpellSlot.Q) && ObjectManager.Player.Distance(m) > DeathWalker.getRealAutoAttackRange(null) + 65); Q.Cast(minion); break; } } }
public override void Drawing_OnDraw(EventArgs args) { Spell[] spellList = { Q, W, E, R }; foreach (var spell in spellList) { var menuItem = GetValue <Circle>("Draw" + spell.Slot); if (menuItem.Active) { Render.Circle.DrawCircle(ObjectManager.Player.Position, spell.Slot == SpellSlot.W ? DeathWalker.getRealAutoAttackRange(null) + 65 + W.Range : spell.Range, menuItem.Color); } } }
void FocusTarget() { foreach ( var hero in DeathWalker.AllEnemys .Where(hero => hero.IsValidTarget(DeathWalker.getRealAutoAttackRange(player, hero)))) { foreach (var b in hero.Buffs) { if (b.Name == "vaynesilvereddebuff" && b.Count == 2) { DeathWalker.ForcedTarget = hero; return; } } } }
private static void JungleFarm() { var mobs = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, DeathWalker.getRealAutoAttackRange(null) + 65, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth); if (mobs == null) { return; } var mob = mobs[0]; string[] bigBoys = { "Baron", "Dragon", "Red", "Blue" }; foreach ( var xbigBoys in bigBoys.Where(xbigBoys => mob.Name.Contains(xbigBoys)) .Where(xbigBoys => Q.IsReady() && AsheQCastReady)) { Q.Cast(); } }
public override void Game_OnGameUpdate(EventArgs args) { var orbwalkPos = GetOrbwalkPos(); var cursor = Game.CursorPos; if (orbwalkPos != cursor && (ComboActive || LaneClearActive || DeathWalker.CurrentMode == DeathWalker.Mode.Lasthit)) { //DeathWalker.(orbwalkPos); } else { // Orbwalker.SetDeathWalkerPoint(cursor); } Obj_AI_Hero t; //Combo if (ComboActive) { var minRRange = Config.Item("UseRCMinR").GetValue <Slider>().Value; var maxRRange = Config.Item("UseRCMaxR").GetValue <Slider>().Value; t = TargetSelector.GetTarget(maxRRange, TargetSelector.DamageType.Physical); if (!t.IsValidTarget()) { return; } if (W.IsReady() && Config.Item("UseWC").GetValue <bool>() && t.IsValidTarget(DeathWalker.getRealAutoAttackRange(null) + 65) && ObjectManager.Player.Buffs.FirstOrDefault( buff => buff.Name == "dravenfurybuff" || buff.Name == "DravenFury") == null) { W.Cast(); } if (IsFleeing(t) && Config.Item("UseEC").GetValue <bool>() && t.IsValidTarget(E.Range)) { E.Cast(t); } if (Config.Item("UseRC").GetValue <bool>() && R.IsReady()) { t = TargetSelector.GetTarget(maxRRange, TargetSelector.DamageType.Physical); if (t.Distance(ObjectManager.Player) >= minRRange && t.Distance(ObjectManager.Player) <= maxRRange && t.Health < ObjectManager.Player.GetSpellDamage(t, SpellSlot.R) * 2) //R.GetHealthPrediction(target) <= 0) { R.Cast(t); } } } //Peel from melees if (Config.Item("EPeel").GetValue <bool>()) //Taken from ziggs(by pq/esk0r) { foreach (var pos in from enemy in ObjectManager.Get <Obj_AI_Hero>() where enemy.IsValidTarget() && enemy.Distance(ObjectManager.Player) <= enemy.BoundingRadius + enemy.AttackRange + ObjectManager.Player.BoundingRadius && enemy.IsMelee() let direction = (enemy.ServerPosition.To2D() - ObjectManager.Player.ServerPosition.To2D()).Normalized() let pos = ObjectManager.Player.ServerPosition.To2D() select pos + Math.Min(200, Math.Max(50, enemy.Distance(ObjectManager.Player) / 2)) * direction) { E.Cast(pos.To3D()); } } }
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 (LaneClearActive) { if (Program.Config.Item("UseQForBigBoys").GetValue <bool>()) { JungleFarm(); } } else if (!ComboActive) { var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (!t.IsValidTarget() || !W.IsReady()) { return; } if (Program.Config.Item("UseWTH").GetValue <KeyBind>().Active) { if (ObjectManager.Player.HasBuff("Recall")) { return; } W.Cast(t); } if (t.HasBuffOfType(BuffType.Stun) || t.HasBuffOfType(BuffType.Snare) || t.HasBuffOfType(BuffType.Charm) || t.HasBuffOfType(BuffType.Fear) || t.HasBuffOfType(BuffType.Taunt) || t.HasBuff("zhonyasringshield") || t.HasBuff("Recall")) { W.Cast(t.Position); } } /* [ Combo ] */ if (ComboActive) { var useQ = Config.Item("UseQC" + Id).GetValue <bool>(); var useW = Config.Item("UseWC" + Id).GetValue <bool>(); var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (useQ && Q.IsReady() && AsheQCastReady) { if (t.IsValidTarget(DeathWalker.getRealAutoAttackRange(null) + 90)) { Q.Cast(); } } if (useW && W.IsReady() && t.IsValidTarget()) { W.Cast(t); } var useR = Program.Config.SubMenu("Combo").Item("UseRC").GetValue <bool>(); if (useR && R.IsReady()) { 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 (!t.IsValidTarget()) { return; } var aaDamage = DeathWalker.inAutoAttackRange(t) ? ObjectManager.Player.GetAutoAttackDamage(t, true) : 0; if (t.Health > aaDamage && t.Health <= ObjectManager.Player.GetSpellDamage(t, SpellSlot.R) && ObjectManager.Player.Distance(t) >= minRRange) { R.Cast(t); } } } //Harass if (HarassActive) { var target = TargetSelector.GetTarget(1200, TargetSelector.DamageType.Physical); if (target == null) { return; } if (Config.Item("UseWH" + Id).GetValue <bool>() && W.IsReady()) { W.Cast(target); } } //Manual cast R if (Config.Item("RManualCast" + Id).GetValue <KeyBind>().Active) { var rTarget = TargetSelector.GetTarget(2000, TargetSelector.DamageType.Physical); R.Cast(rTarget); } }
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) { } } } } } } } } }
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) { 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); } } }