public override void Orbwalking_BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (GetValue <bool>("Combo.E.Use") && E.IsReady() && HaveAmmo1 && !HaveAmmo2 && !isReloading) { var enemy = HeroManager.Enemies.FirstOrDefault(e => e.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65)); if (enemy != null) { E.Cast(CommonUtils.GetDashPosition(E, enemy, 200)); } } }
public override void ExecuteCombo() { if (GetValue <bool>("Combo.Q.Use.Urf")) { var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget() && !t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65)) { CastQ(t); } } base.ExecuteCombo(); }
private bool RLogic(Obj_AI_Hero target) { var hits = GetRHits(target); if ((hits.Item2.Any(h => R.GetDamage(h) * 0.95f > h.Health) || hits.Item2.Any(h => h.Distance(ObjectManager.Player) + 300 < Orbwalking.GetRealAutoAttackRange(h) * 0.9f))) { R.Cast(hits.Item3); return(true); } return(false); }
private static void Drawing_OnDraw(EventArgs args) { var turnOffDrawings = Config.Item("Draw.TurnOff").GetValue <StringList>().SelectedIndex; if (turnOffDrawings == 0) { return; } if ((turnOffDrawings == 2 || turnOffDrawings == 4) && ChampionClass.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { return; } if ((turnOffDrawings == 3 || turnOffDrawings == 4) && (ChampionClass.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LastHit || ChampionClass.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)) { return; } var drawMinionLastHit = Config.Item("Draw.MinionLastHit").GetValue <StringList>().SelectedIndex; if (drawMinionLastHit != 0) { var mx = ObjectManager.Get <Obj_AI_Minion>() .Where(m => !m.IsDead && m.IsEnemy) .Where(m => m.Health <= ObjectManager.Player.TotalAttackDamage); if (drawMinionLastHit == 1) { mx = mx.Where(m => m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65)); } mx = mx.Where( m => m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65 + 300) && m.Distance(ObjectManager.Player.Position) > Orbwalking.GetRealAutoAttackRange(null) + 65); foreach (var minion in mx) { Render.Circle.DrawCircle(minion.Position, minion.BoundingRadius, Color.GreenYellow, 1); } } ChampionClass?.Drawing_OnDraw(args); }
public override void ExecuteJungle() { if (!Orbwalking.CanMove(1)) { return; } var jungleMobs = Utils.Utils.GetMobs(Q.Range, Utils.Utils.MobTypes.BigBoys); if (jungleMobs != null) { if (Q.CanCast(jungleMobs) && GetValue <StringList>("Jungle.Q").SelectedIndex != 0) { Q.Cast(jungleMobs); } if (E.CanCast(jungleMobs) && GetValue <StringList>("Jungle.E").SelectedIndex != 0) { E.Cast(jungleMobs); } } }
public override void PermaActive() { if (GetValue <bool>("Combo.UseYoumuu")) { if (ObjectManager.Player.HasBuff("TwitchFullAutomatic")) { var iYoumuu = ItemData.Youmuus_Ghostblade.GetItem(); if (iYoumuu != null && iYoumuu.IsReady()) { iYoumuu.Cast(); } } } var dontWasteE = GetValue <StringList>("Combo.DontWasteE").SelectedIndex; if (dontWasteE != 0) { if (ObjectManager.Player.CountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(null) + 65) > 0) { return; } foreach (var enemy in HeroManager.Enemies .Where( e => e.IsValidTarget(E.Range) && !e.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 130)) .Where(e => e.GetBuffCount("TwitchDeadlyVenom") >= dontWasteE)) { foreach (var buffs in enemy.Buffs.Where(b => b.Name == "TwitchDeadlyVenom")) { if (Game.Time > buffs.EndTime - 200) { E.Cast(); } } } } }
private static void CastW(Vector3 pos, bool delayControl = true) { var enemy = HeroManager.Enemies.Find( e => e.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65) && e.Health < ObjectManager.Player.TotalAttackDamage * 2); if (enemy != null) { return; } if (!W.IsReady()) { return; } //if (headshotReady) //{ // return; //} if (delayControl && LastCastWTick + 2000 > LeagueSharp.Common.Utils.TickCount) { return; } if (!trapList.Any(x => x.IsValid && pos.Distance(x.Position) <= 100)) { W.Cast(pos); } //W.Cast(pos); LastCastWTick = LeagueSharp.Common.Utils.TickCount; }
public override void GameOnUpdate(EventArgs args) { R.Range = 500 * (R.Level == 0 ? 1 : R.Level) + 1500; Obj_AI_Hero t; if (GetValue <StringList>("AutoWI").SelectedIndex != 0 && W.IsReady()) { foreach ( var hero in HeroManager.Enemies.Where(h => h.IsValidTarget(W.Range) && h.HasBuffOfType(BuffType.Stun))) { CastW(hero.Position, false); } } if (W.IsReady() && (GetValue <StringList>("AutoWI").SelectedIndex == 1 || (GetValue <StringList>("AutoWI").SelectedIndex == 2 && ComboActive))) { t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget(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.IsValidTarget(E.Range - 200)) { //W.Cast(t.Position.Extend(ObjectManager.Player.Position, +200)); //W.Cast(t.Position.Extend(ObjectManager.Player.Position, -200)); var hit = t.IsFacing(ObjectManager.Player) ? t.Position.Extend(ObjectManager.Player.Position, +200) : t.Position.Extend(ObjectManager.Player.Position, -200); CastW(hit); } } } if (Q.IsReady() && (GetValue <StringList>("AutoQI").SelectedIndex == 1 || (GetValue <StringList>("AutoQI").SelectedIndex == 2 && ComboActive))) { t = TargetSelector.GetTarget(Q.Range - 30, 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) && !t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65)))) { CastQ(t); } } if (GetValue <KeyBind>("UseQMC").Active) { t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); CastQ(t); } //if (GetValue<KeyBind>("UseEMC").Active) //{ // t = TargetSelector.GetTarget(E.Range - 50, TargetSelector.DamageType.Physical); // E.Cast(t); //} if (GetValue <KeyBind>("UseRMC").Active&& R.IsReady()) { foreach ( var e in HeroManager.Enemies.Where( e => e.IsValidTarget(R.Range) && ObjectManager.Player.CountEnemiesInRange(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 (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)) { CastE(); //if (E.Cast(t) == Spell.CastStates.SuccessfullyCasted) // return; // E.Cast(t); CastQ(t); } } if ((!ComboActive && !HarassActive) || !Orbwalking.CanMove(100)) { return; } //var useQ = GetValue<bool>("UseQ" + (ComboActive ? "C" : "H")); var useW = GetValue <bool>("UseWC"); 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) // { // CastQ(t); // } //} if (useE && E.IsReady()) { //var enemies = HeroManager.Enemies.Where(e => e.IsValidTarget(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.IsValidTarget(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); // } // } //} foreach ( var enemy in HeroManager.Enemies.Where( e => e.IsValidTarget(E.Range) && e.Health >= ObjectManager.Player.TotalAttackDamage * 2 && e.IsFacing(ObjectManager.Player) && e.IsValidTarget(E.Range - 300) && E.GetPrediction(e).CollisionObjects.Count == 0)) { E.Cast(enemy.Position); var targetBehind = enemy.Position.To2D().Extend(ObjectManager.Player.Position.To2D(), -140); if (W.IsReady() && ObjectManager.Player.Distance(targetBehind) <= W.Range) { W.Cast(enemy.Position); } if (Q.IsReady()) { Q.Cast(enemy.Position); } } } if (useW && W.IsReady()) { var nResult = HeroManager.Enemies.Where(e => e.IsValidTarget(W.Range)); foreach (var n in nResult) { if (ObjectManager.Player.Distance(n) < 450 && n.IsFacing(ObjectManager.Player)) { CastW(CommonGeometry.CenterOfVectors(new[] { ObjectManager.Player.Position, n.Position })); } } } if (R.IsReady() && useR) { foreach ( var e in HeroManager.Enemies.Where( e => e.IsValidTarget(R.Range) && e.Health <= R.GetDamage(e) && ObjectManager.Player.CountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(null) + 350) == 0 && !Orbwalking.InAutoAttackRange(e) && canCastR)) { R.CastOnUnit(e); } } }
public override void Game_OnGameUpdate(EventArgs args) { //var t1 = TargetSelector.GetTarget(2000, TargetSelector.DamageType.Physical); //if (t1.IsValidTarget()) //{ // if (t1.IsFacing(ObjectManager.Player)) // { // Console.WriteLine("--> Face " + t1.ChampionName); // } // else // { // Console.WriteLine(t1.ChampionName + " <-- Back"); // } //} /* * var x = HeroManager.Enemies.Find(e => !e.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null)) && e.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + QAddRange)); * if (x != null && !FishBoneActive && Q.IsReady()) * { * Q.Cast(); * Program.ChampionClass.Orbwalker.ForceTarget(x); * } */ if (Q.IsReady() && GetValue <bool>("SwapDistance") && Program.ChampionClass.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.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) > Orbwalking.GetRealAutoAttackRange(null) + 65) { if (!FishBoneActive) { Q.Cast(); Orbwalker.ForceTarget(t); return; } } if (!t.IsValidTarget() && FishBoneActive) { Q.Cast(); return; } } if (GetValue <bool>("PingCH")) { foreach (var enemy in HeroManager.Enemies.Where( t => R.IsReady() && t.IsValidTarget() && R.GetDamage(t) > t.Health && t.Distance(ObjectManager.Player) > Orbwalking.GetRealAutoAttackRange(null) + 65 + QAddRange)) { Utils.Utils.MPing.Ping(enemy.Position.To2D(), 2, PingCategory.Normal); } } var autoEi = GetValue <bool>("AutoEI"); var autoEs = GetValue <bool>("AutoES"); var autoEd = GetValue <bool>("AutoED"); //foreach (var e in HeroManager.Enemies.Where(e => e.IsValidTarget(E.Range))) //{ // if (E.IsReady() // && (e.HasBuffOfType(BuffType.Stun) || e.HasBuffOfType(BuffType.Snare) // || e.HasBuffOfType(BuffType.Charm) || e.HasBuffOfType(BuffType.Fear) || // e.HasBuffOfType(BuffType.Slow) // || e.HasBuffOfType(BuffType.Taunt) || e.HasBuff("zhonyasringshield") // || e.HasBuff("Recall"))) // { // E.Cast(e); // } //} if (autoEs || autoEi || autoEd) { foreach ( var enemy in ObjectManager.Get <Obj_AI_Hero>().Where(enemy => enemy.IsValidTarget(E.Range - 50))) { 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 (E.IsReady() && (enemy.HasBuffOfType(BuffType.Stun) || enemy.HasBuffOfType(BuffType.Snare) || enemy.HasBuffOfType(BuffType.Charm) || enemy.HasBuffOfType(BuffType.Fear) || enemy.HasBuffOfType(BuffType.Slow) || enemy.HasBuffOfType(BuffType.Taunt) || enemy.HasBuff("zhonyasringshield") || enemy.HasBuff("Recall"))) { E.CastIfHitchanceEquals(enemy, HitChance.High); } else if (W.IsReady() && (enemy.HasBuffOfType(BuffType.Stun) || enemy.HasBuffOfType(BuffType.Snare) || enemy.HasBuffOfType(BuffType.Charm) || enemy.HasBuffOfType(BuffType.Fear) || enemy.HasBuffOfType(BuffType.Slow) || enemy.HasBuffOfType(BuffType.Taunt) || enemy.HasBuff("Recall"))) { W.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.CastIfHitchanceGreaterOrEqual(t); //R.CastIfHitchanceEquals(t, HitChance.High, false); } } } if (GetValue <bool>("SwapQ") && FishBoneActive && !ComboActive) { Q.Cast(); } if ((!ComboActive && !HarassActive) || !Orbwalking.CanMove(100)) { return; } 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() && !t.HasKindredUltiBuff() && GetRealDistance(t) >= minW) { W.CastIfHitchanceGreaterOrEqual(t); } } /* * 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() && !t.HasKindredUltiBuff()) { var distance = GetRealDistance(t); if (!checkRok) { if (ObjectManager.Player.GetSpellDamage(t, SpellSlot.R, 1) > t.Health && !t.IsZombie) { R.CastIfHitchanceGreaterOrEqual(t); //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.CastIfHitchanceGreaterOrEqual(t); //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.CastIfHitchanceGreaterOrEqual(t); //R.CastIfHitchanceEquals(t, HitChance.High, false); //if (R.Cast(t) == Spell.CastStates.SuccessfullyCasted) { } } } } } } } } }
public override void GameOnUpdate(EventArgs args) { if (Orbwalking.CanMove(100) && (ComboActive || HarassActive)) { var useW = GetValue <bool>("UseW" + (ComboActive ? "C" : "H")); var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H")); var t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (!t.IsValidTarget() || t.HasKindredUltiBuff()) { return; } if (useW && W.IsReady() && t.IsValidTarget(W.Range)) { W.Cast(t, false, true); } if (ObjectManager.Get <Obj_AI_Hero>().Find(e1 => e1.IsValidTarget(E.Range) && E.IsKillable(e1)) != null) { E.Cast(); } var nShouldCastE = (t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65) && E.IsKillable(t)) || (!t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65) && t.GetBuffCount("TwitchDeadlyVenom") == 6); if (E.IsReady() && nShouldCastE) { E.Cast(); } //if (useE && E.IsReady() && t.GetBuffCount("TwitchDeadlyVenom") == 6) //{ // E.Cast(); //} } if (ComboActive) { var useR = GetValue <StringList>("Combo.UseR").SelectedIndex; if (useR != 0 && R.IsReady() && ObjectManager.Player.CountEnemiesInRange(R.Range - 100) >= useR) { R.Cast(); } } 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 ExecuteCombo() { var useE = GetValue <bool>("UseE" + (ComboActive ? "C" : "H")); if (E.IsReady() && useE) // Credits DZ191 { var target = HeroManager.Enemies.Find(x => x.IsValidTarget(E.Range)); if (target != null) { if (target.HasBuffOfType(BuffType.Slow)) { if (target.Path.Count() > 1) { var slowEndTime = target.GetSlowEndTime(); if (slowEndTime >= E.Delay + 0.5f + Game.Ping / 2f) { E.CastIfHitchanceGreaterOrEqual(target); } } } if (target.IsHeavilyImpaired()) { var immobileEndTime = target.GetImpairedEndTime(); if (immobileEndTime >= E.Delay + 0.5f + Game.Ping / 2f) { E.CastIfHitchanceGreaterOrEqual(target); } } } } var useW = GetValue <bool>("UseW" + (ComboActive ? "C" : "H")); if (W.IsReady() && useW) { var target = TargetSelector.GetTargetNoCollision(W); if (target == null) { return; } if (!ObjectManager.Player.UnderTurret(true) || !target.UnderTurret(true)) { W.CastIfHitchanceGreaterOrEqual(target); } } if ((GetValue <KeyBind>("CastR").Active || GetValue <bool>("UseRC")) && R.IsReady()) { if (wCastTime + 1060 <= Environment.TickCount) { var target = HeroManager.Enemies.FirstOrDefault( x => !x.IsZombie && x.CountAlliesInRange(500) < 2 && HealthPrediction.GetHealthPrediction(x, 5000) > 0 && ObjectManager.Player.Distance(x) >= Orbwalking.GetRealAutoAttackRange(null) + 65 + QExtraRange && x.IsKillableAndValidTarget(GetRDamage(x), TargetSelector.DamageType.Physical, R.Range) && R.GetPrediction(x).Hitchance >= HitChance.High); if (target != null) { var prediction = R.GetPrediction(target); var collision = Collision.GetCollision(new List <Vector3> { prediction.UnitPosition }, new PredictionInput { UseBoundingRadius = true, Unit = ObjectManager.Player, Delay = R.Delay, Speed = R.Speed, Radius = 200, CollisionObjects = new[] { CollisionableObjects.Heroes } }) .Any(x => x.NetworkId != target.NetworkId); if (!collision) { R.Cast(target); } } } } base.ExecuteCombo(); }
public override void GameOnUpdate(EventArgs args) { if (GetValue <bool>("PingCH")) { foreach (var enemy in HeroManager.Enemies.Where( enemy => R.IsReady() && enemy.IsValidTarget() && R.GetDamage(enemy) > enemy.Health)) { //Marksman.Utils.Utils.MPing.Ping(enemy.Position.To2D()); } } if (Q.IsReady() && GetValue <bool>("SwapDistance") && Program.ChampionClass.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { var nKillableEnemy = HeroManager.Enemies.Find(e => e.Health <= Q.GetDamage(e) * 2 && e.Health >= ObjectManager.Player.TotalAttackDamage * 4); var activeQ = ObjectManager.Player.Spellbook.GetSpell(SpellSlot.Q).Level * 25 + 650; var t = TargetSelector.GetTarget(activeQ, TargetSelector.DamageType.Physical); if (t.IsValidTarget() && !t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65)) { if (!FishBoneActive) { Q.Cast(); Orbwalker.ForceTarget(t); return; } } } if (GetValue <bool>("PingCH")) { foreach (var enemy in HeroManager.Enemies.Where( t => R.IsReady() && t.IsValidTarget() && R.GetDamage(t) > t.Health && t.Distance(ObjectManager.Player) > Orbwalking.GetRealAutoAttackRange(null) + 65 + QExtraRange)) { Utils.Utils.MPing.Ping(enemy.Position.To2D(), 2, PingCategory.Normal); } } if (GetValue <bool>("SwapQ") && FishBoneActive && !ComboActive) { Q.Cast(); } if ((!ComboActive && !HarassActive) || !Orbwalking.CanMove(100)) { return; } var useR = GetValue <bool>("UseRC"); foreach (var t in ObjectManager.Get <Obj_AI_Hero>() .Where(t => t.IsValidTarget(GetRealPowPowRange(t) + QExtraRange + 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() && !t.HasKindredUltiBuff()) // { // var distance = GetRealDistance(t); // if (!checkRok) // { // if (ObjectManager.Player.GetSpellDamage(t, SpellSlot.R, 1) > t.Health && !t.IsZombie) // { // R.CastIfHitchanceGreaterOrEqual(t); // //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 + QExtraRange) && !(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.CastIfHitchanceGreaterOrEqual(t); // //R.CastIfHitchanceEquals(t, HitChance.High, false); // //if (R.Cast(t) == Spell.CastStates.SuccessfullyCasted) { } // } // } // } // } // else if (distance > (powPowRange + QExtraRange)) // { // 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.CastIfHitchanceGreaterOrEqual(t); // //R.CastIfHitchanceEquals(t, HitChance.High, false); // //if (R.Cast(t) == Spell.CastStates.SuccessfullyCasted) { } // } // } // } // } // } // } //} }
private static void Game_OnGameLoad(EventArgs args) { Config = new Menu("Marksman", "Marksman", true).SetFontStyle(FontStyle.Regular, SharpDX.Color.GreenYellow); ChampionClass = new Champion(); CommonGeometry.Init(); var baseType = ChampionClass.GetType(); igniteSlot = ObjectManager.Player.GetSpellSlot("summonerdot"); /* Update this with Activator.CreateInstance or Invoke * http://stackoverflow.com/questions/801070/dynamically-invoking-any-function-by-passing-function-name-as-string * For now stays cancer. */ var championName = ObjectManager.Player.ChampionName.ToLowerInvariant(); switch (championName) { case "ashe": ChampionClass = new Ashe(); break; case "caitlyn": ChampionClass = new Caitlyn(); break; case "corki": ChampionClass = new Corki(); break; case "draven": ChampionClass = new Draven(); break; case "ezreal": ChampionClass = new Ezreal(); break; case "graves": ChampionClass = new Graves(); break; case "gnar": ChampionClass = new Gnar(); break; case "jhin": ChampionClass = new Jhin(); break; case "jinx": ChampionClass = new Jinx(); break; case "kalista": ChampionClass = new Kalista(); break; case "kindred": ChampionClass = new Kindred(); break; case "kogmaw": ChampionClass = new Kogmaw(); break; case "lucian": ChampionClass = new Lucian(); break; case "missfortune": ChampionClass = new MissFortune(); break; case "quinn": ChampionClass = new Quinn(); break; case "sivir": ChampionClass = new Sivir(); break; case "teemo": ChampionClass = new Teemo(); break; case "tristana": ChampionClass = new Tristana(); break; case "twitch": ChampionClass = new Twitch(); break; case "urgot": ChampionClass = new Urgot(); break; case "vayne": ChampionClass = new Vayne(); break; case "varus": ChampionClass = new Varus(); break; default: Game.PrintChat(ObjectManager.Player.CharData.BaseSkinName + " Doesn't support from Marksman!"); break; } //Config.DisplayName = "Marksman Lite | " + CultureInfo.CurrentCulture.TextInfo.ToTitleCase(championName); Config.DisplayName = "Marksman II - " + ObjectManager.Player.ChampionName; ChampionClass.Id = ObjectManager.Player.CharData.BaseSkinName; ChampionClass.Config = Config; ChampionClass.MenuLane = MenuLane; ChampionClass.MenuJungle = MenuJungle; MenuExtraTools = new Menu("Marksman II - Tools", "ExtraTools", true).SetFontStyle(FontStyle.Regular, SharpDX.Color.GreenYellow); { var nMenuExtraToolsPackets = new Menu("Available Tools", "MenuExtraTools.Available"); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.Orbwalker", "Orbwalker:")).SetValue(new StringList(new[] { "LeagueSharp Common", "Marksman Orbwalker (With Attack Speed Limiter)" })).SetFontStyle(FontStyle.Regular, SharpDX.Color.Gray); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.Prediction", "Prediction:")).SetValue(new StringList(new[] { "LeagueSharp Common", "SPrediction (Synx)" })).SetFontStyle(FontStyle.Regular, SharpDX.Color.Gray); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.AutoLevel", "Auto Leveller:")).SetValue(true); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.AutoBush", "Auto Bush Ward:")).SetValue(true); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.AutoPink", "Auto Pink Ward:")).SetValue(true).SetTooltip("For rengar / vayne / shaco etc."); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.WarningSpells", "Warning Spells [NEW]:")).SetValue(true).SetTooltip("For Rengar R / Shaco Q etc.").SetFontStyle(FontStyle.Regular, SharpDX.Color.GreenYellow); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.Skin", "Skin Manager:")).SetValue(true); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.Emote", "Emote:")).SetValue(true); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.AllySupport", "Ally Support:")).SetValue(true); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.BuffTimer", "Buff Time Manager:")).SetValue(false).SetFontStyle(FontStyle.Regular, SharpDX.Color.Gray); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.Potition", "Potition Manager:")).SetValue(false).SetFontStyle(FontStyle.Regular, SharpDX.Color.Gray); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.Summoners", "Summoner Manager:")).SetValue(false).SetFontStyle(FontStyle.Regular, SharpDX.Color.Gray); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.Tracker", "Tracker:")).SetValue(false).SetFontStyle(FontStyle.Regular, SharpDX.Color.Gray); nMenuExtraToolsPackets.AddItem(new MenuItem("ExtraTools.Reload", "Press F5 for Load Extra Tools!")).SetFontStyle(FontStyle.Bold, SharpDX.Color.GreenYellow); MenuExtraTools.AddSubMenu(nMenuExtraToolsPackets); MenuExtraToolsActivePackets = new Menu("Installed Tools", "MenuExtraTools.Installed").SetFontStyle(FontStyle.Regular, SharpDX.Color.GreenYellow); MenuExtraTools.AddSubMenu(MenuExtraToolsActivePackets); } CommonSettings.Init(Config); OrbWalking = Config.AddSubMenu(new Menu("Orbwalking", "Orbwalking")); ChampionClass.Orbwalker = new Orbwalking.Orbwalker(OrbWalking); MenuActivator = new Menu("Activator", "Activator").SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua); { if (MenuExtraTools.Item("ExtraTools.AutoLevel").GetValue <bool>()) { CommonAutoLevel.Init(MenuExtraToolsActivePackets); } if (MenuExtraTools.Item("ExtraTools.AutoPink").GetValue <bool>()) { CommonAutoPink.Initialize(MenuExtraToolsActivePackets); } if (MenuExtraTools.Item("ExtraTools.WarningSpells").GetValue <bool>()) { CommonWarningSpelss.Initialize(MenuExtraToolsActivePackets); } if (MenuExtraTools.Item("ExtraTools.AutoBush").GetValue <bool>()) { CommonAutoBush.Init(MenuExtraToolsActivePackets); } if (MenuExtraTools.Item("ExtraTools.Skin").GetValue <bool>()) { CommonSkinManager.Init(MenuExtraToolsActivePackets); } if (MenuExtraTools.Item("ExtraTools.Emote").GetValue <bool>()) { CommonEmote.Init(MenuExtraToolsActivePackets); } if (MenuExtraTools.Item("ExtraTools.AllySupport").GetValue <bool>()) { CommonAlly.Init(MenuExtraToolsActivePackets); } /* Menu Items */ var items = MenuActivator.AddSubMenu(new Menu("Items", "Items")); items.AddItem(new MenuItem("BOTRK", "BOTRK").SetValue(true)); items.AddItem(new MenuItem("GHOSTBLADE", "Ghostblade").SetValue(true)); items.AddItem(new MenuItem("SWORD", "Sword of the Divine").SetValue(true)); items.AddItem(new MenuItem("MURAMANA", "Muramana").SetValue(true)); items.AddItem(new MenuItem("UseItemsMode", "Use items on").SetValue(new StringList(new[] { "No", "Mixed mode", "Combo mode", "Both" }, 2))); } Config.AddSubMenu(MenuActivator); // If Champion is supported draw the extra menus if (baseType != ChampionClass.GetType()) { SetSmiteSlot(); var combo = new Menu("Combo", "Combo").SetFontStyle(FontStyle.Regular, SharpDX.Color.GreenYellow); if (ChampionClass.ComboMenu(combo)) { if (SmiteSlot != SpellSlot.Unknown) { combo.AddItem(new MenuItem("ComboSmite", "Use Smite").SetValue(true)); } Config.AddSubMenu(combo); } var harass = new Menu("Harass", "Harass"); if (ChampionClass.HarassMenu(harass)) { harass.AddItem(new MenuItem("HarassMana", "Min. Mana Percent").SetValue(new Slider(50, 100, 0))); Config.AddSubMenu(harass); } var menuClear = new Menu("Farm / Jungle", "Mode.Clear"); { MenuLane = new Menu("Lane", "Mode.Lane"); { if (ChampionClass.LaneClearMenu(MenuLane)) { MenuLane.AddItem(new MenuItem("Lane.Min.Mana", ":: Min. Mana %:").SetValue(new Slider(60, 100, 0))); } menuClear.AddSubMenu(MenuLane); } MenuJungle = new Menu("Jungle", "Mode.Jungle"); { if (ChampionClass.JungleClearMenu(MenuJungle)) { MenuJungle.AddItem(new MenuItem("Jungle.Min.Mana", ":: Min. Mana %:").SetValue(new Slider(30, 100, 0))); MenuJungle.AddItem(new MenuItem("Jungle.Items", ":: Use Items:").SetValue(new StringList(new[] { "Off", "Use for Baron", "Use for Baron", "Both" }, 3))); menuClear.AddSubMenu(MenuJungle); } } menuClear.AddItem(new MenuItem("Farm.Active", ":: Farm Active!").SetValue(new KeyBind("J".ToCharArray()[0], KeyBindType.Toggle, true))).Permashow(true, "Marksman | Farm", SharpDX.Color.Aqua); menuClear.AddItem(new MenuItem("Farm.Min.Mana.Control", ":: Min. Mana Control!").SetValue(new KeyBind("M".ToCharArray()[0], KeyBindType.Toggle, true))).Permashow(true, "Marksman | Farm Min. Mana Control", SharpDX.Color.Aqua); Config.AddSubMenu(menuClear); } //var laneclear = new Menu("Lane Mode", "LaneClear"); //if (ChampionClass.LaneClearMenu(laneclear)) //{ // laneclear.AddItem(new MenuItem("Lane.Enabled", ":: Enable Lane Farm!").SetValue(new KeyBind("L".ToCharArray()[0],KeyBindType.Toggle, true))).Permashow(true, "Marksman | Enable Lane Farm", SharpDX.Color.Aqua); // var minManaMenu = new Menu("Min. Mana Settings", "Lane.MinMana.Title"); // { // minManaMenu.AddItem(new MenuItem("LaneMana.Alone", "If I'm Alone %:").SetValue(new Slider(30, 100, 0))).SetFontStyle(FontStyle.Regular, SharpDX.Color.LightSkyBlue); // minManaMenu.AddItem(new MenuItem("LaneMana.Enemy", "If Enemy Close %:").SetValue(new Slider(60, 100, 0))).SetFontStyle(FontStyle.Regular, SharpDX.Color.IndianRed); // laneclear.AddSubMenu(minManaMenu); // } // Config.AddSubMenu(laneclear); //} //var jungleClear = new Menu("Jungle Mode", "JungleClear"); //if (ChampionClass.JungleClearMenu(jungleClear)) //{ // var minManaMenu = new Menu("Min. Mana Settings", "Jungle.MinMana.Title"); // { // minManaMenu.AddItem(new MenuItem("Jungle.Mana.Ally", "Ally Mobs %:").SetValue(new Slider(50, 100, 0))).SetFontStyle(FontStyle.Regular, SharpDX.Color.LightSkyBlue); // minManaMenu.AddItem(new MenuItem("Jungle.Mana.Enemy", "Enemy Mobs %:").SetValue(new Slider(30, 100, 0))).SetFontStyle(FontStyle.Regular, SharpDX.Color.IndianRed); // minManaMenu.AddItem(new MenuItem("Jungle.Mana.BigBoys", "Baron/Dragon %:").SetValue(new Slider(70, 100, 0))).SetFontStyle(FontStyle.Regular, SharpDX.Color.HotPink); // jungleClear.AddSubMenu(minManaMenu); // } // jungleClear.AddItem(new MenuItem("Jungle.Items", ":: Use Items:").SetValue(new StringList(new[] {"Off", "Use for Baron", "Use for Baron", "Both"}, 3))); // jungleClear.AddItem(new MenuItem("Jungle.Enabled", ":: Enable Jungle Farm!").SetValue(new KeyBind("J".ToCharArray()[0], KeyBindType.Toggle, true))).Permashow(true, "Marksman | Enable Jungle Farm", SharpDX.Color.Aqua); // Config.AddSubMenu(jungleClear); //} /*----------------------------------------------------------------------------------------------------------*/ //Obj_AI_Base ally = (from aAllies in HeroManager.Allies // from aSupportedChampions in // new[] // { // "janna", "tahm", "leona", "lulu", "lux", "nami", "shen", "sona", "braum", "bard" // } // where aSupportedChampions == aAllies.ChampionName.ToLower() // select aAllies).FirstOrDefault(); //if (ally != null) //{ // var menuAllies = new Menu("Ally Combo", "Ally.Combo").SetFontStyle(FontStyle.Regular, Color.Crimson); // { // Obj_AI_Hero leona = HeroManager.Allies.Find(e => e.ChampionName.ToLower() == "leona"); // if (leona != null) // { // var menuLeona = new Menu("Leona", "Leona"); // menuLeona.AddItem(new MenuItem("Leona.ComboBuff", "Force Focus Marked Enemy for Bonus Damage").SetValue(true)); // menuAllies.AddSubMenu(menuLeona); // } // Obj_AI_Hero Lux = HeroManager.Allies.Find(e => e.ChampionName.ToLower() == "lux"); // if (Lux != null) // { // var menuLux = new Menu("Lux", "Lux"); // menuLux.AddItem(new MenuItem("Lux.ComboBuff", "Force Focus Marked Enemy for Bonus Damage").SetValue(true)); // menuAllies.AddSubMenu(menuLux); // } // Obj_AI_Hero Shen = HeroManager.Allies.Find(e => e.ChampionName.ToLower() == "shen"); // if (Shen != null) // { // var menuShen = new Menu("Shen", "Shen"); // menuShen.AddItem(new MenuItem("Shen.ComboBuff", "Force Focus Q Marked Enemy Objects for Heal").SetValue(true)); // menuShen.AddItem(new MenuItem("Shen.ComboBuff", "Minimum Heal:").SetValue(new Slider(80))); // menuAllies.AddSubMenu(menuShen); // } // Obj_AI_Hero Tahm = HeroManager.Allies.Find(e => e.ChampionName.ToLower() == "Tahm"); // if (Tahm != null) // { // var menuTahm = new Menu("Tahm", "Tahm"); // menuTahm.AddItem(new MenuItem("Tahm.ComboBuff", "Force Focus Marked Enemy for Stun").SetValue(true)); // menuAllies.AddSubMenu(menuTahm); // } // Obj_AI_Hero Sona = HeroManager.Allies.Find(e => e.ChampionName.ToLower() == "Sona"); // if (Sona != null) // { // var menuSona = new Menu("Sona", "Sona"); // menuSona.AddItem(new MenuItem("Sona.ComboBuff", "Force Focus to Marked Enemy").SetValue(true)); // menuAllies.AddSubMenu(menuSona); // } // Obj_AI_Hero Lulu = HeroManager.Allies.Find(e => e.ChampionName.ToLower() == "Lulu"); // if (Lulu != null) // { // var menuLulu = new Menu("Lulu", "Lulu"); // menuLulu.AddItem(new MenuItem("Lulu.ComboBuff", "Force Focus to Enemy If I have E buff").SetValue(true)); // menuAllies.AddSubMenu(menuLulu); // } // Obj_AI_Hero Nami = HeroManager.Allies.Find(e => e.ChampionName.ToLower() == "nami"); // if (Nami != null) // { // var menuNami = new Menu("Nami", "Nami"); // menuNami.AddItem(new MenuItem("Nami.ComboBuff", "Force Focus to Enemy If I have E Buff").SetValue(true)); // menuAllies.AddSubMenu(menuNami); // } // } // Config.AddSubMenu(menuAllies); //} /*----------------------------------------------------------------------------------------------------------*/ var misc = new Menu("Misc", "Misc").SetFontStyle(FontStyle.Regular, SharpDX.Color.DarkOrange); if (ChampionClass.MiscMenu(misc)) { misc.AddItem(new MenuItem("Misc.SaveManaForUltimate", "Save Mana for Ultimate").SetValue(false)); Config.AddSubMenu(misc); } /* * var extras = new Menu("Extras", "Extras"); * if (ChampionClass.ExtrasMenu(extras)) * { * Config.AddSubMenu(extras); * } */ var marksmanDrawings = new Menu("Drawings", "MDrawings"); Config.AddSubMenu(marksmanDrawings); var drawing = new Menu(CultureInfo.CurrentCulture.TextInfo.ToTitleCase(championName), "Drawings").SetFontStyle(FontStyle.Regular, SharpDX.Color.Aquamarine); if (ChampionClass.DrawingMenu(drawing)) { marksmanDrawings.AddSubMenu(drawing); } var globalDrawings = new Menu("Global", "GDrawings"); { marksmanDrawings.AddItem(new MenuItem("Draw.TurnOff", "Drawings").SetValue(new StringList(new[] { "Disable", "Enable", "Disable on Combo Mode", "Disable on Lane/Jungle Mode", "Both" }, 1))); globalDrawings.AddItem(new MenuItem("Draw.MinionLastHit", "Minion Last Hit").SetValue(new StringList(new[] { "Off", "On", "Just Out of AA Range Minions" }, 2))); globalDrawings.AddItem(new MenuItem("Draw.KillableEnemy", "Killable Enemy Text").SetValue(false)); //GlobalDrawings.AddItem(new MenuItem("Draw.JunglePosition", "Jungle Farm Position").SetValue(new StringList(new[] { "Off", "If I'm Close to Mobs", "If Jungle Clear Active" }, 2))); marksmanDrawings.AddSubMenu(globalDrawings); } //CreateButtons(); } ChampionClass.MainMenu(Config); ChampionClass.ToolsMenu(MenuExtraTools); //Evade.Evade.Initiliaze(); //Config.AddSubMenu(Evade.Config.Menu); //var y = new Common.CommonObjectDetector(); Config.AddToMainMenu(); MenuExtraTools.AddToMainMenu(); foreach (var i in Config.Children.SelectMany(GetChildirens)) { i.DisplayName = ":: " + i.DisplayName; } foreach (var i in MenuExtraTools.Children.SelectMany(GetChildirens)) { i.DisplayName = ":: " + i.DisplayName; } //CheckAutoWindUp(); Drawing.OnDraw += Drawing_OnDraw; Drawing.OnEndScene += eventArgs => { //DrawButtons(); if (Config.Item("Draw.KillableEnemy").GetValue <bool>()) { foreach (var e in HeroManager.Enemies.Where(e => e.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) * 2))) { var x = (int)Math.Ceiling(e.Health / ObjectManager.Player.GetAutoAttackDamage(e)); //Utils.Utils.DrawText(CommonGeometry.Text, $"{x} x AA = Kill", (int)e.HPBarPosition.X + 20, (int)e.HPBarPosition.Y + 17, SharpDX.Color.White); CommonGeometry.Text.DrawTextLeft(string.Format("{0} x AA Kill", x), (int)e.HPBarPosition.X + 5, (int)e.HPBarPosition.Y + 25, SharpDX.Color.White); } //var t = KillableEnemyAa; //if (t.Key != null && t.Key.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 1000) && // t.Value > 0) //{ // Utils.Utils.DrawText(CommonGeometry.Text, string.Format("{0} x AA Damage = Kill", t.Value), (int)t.Key.HPBarPosition.X + 30, (int)t.Key.HPBarPosition.Y + 5, SharpDX.Color.White); //} } }; Game.OnUpdate += GameOnUpdate; Game.OnUpdate += delegate(EventArgs eventArgs) { ChampionClass.GameOnUpdate(eventArgs); }; Game.OnUpdate += eventArgs => { if (ChampionClass.ComboActive) { ChampionClass.ExecuteCombo(); } if (ChampionClass.LaneClearActive) { ChampionClass.ExecuteLane(); } if (ChampionClass.JungleClearActive) { ChampionClass.ExecuteJungle(); } ChampionClass.PermaActive(); }; Orbwalking.OnAttack += (unit, target) => {// // if (unit.IsMe) // Game.PrintChat("Attack"); }; Orbwalking.AfterAttack += (unit, target) => { ChampionClass.Orbwalking_AfterAttack(unit, target); }; Orbwalking.BeforeAttack += (eventArgs) => { ChampionClass.Orbwalking_BeforeAttack(eventArgs); }; GameObject.OnCreate += (sender, eventArgs) => { ChampionClass.OnCreateObject(sender, args); }; GameObject.OnDelete += (sender, eventArgs) => { ChampionClass.OnDeleteObject(sender, args); }; Drawing.OnEndScene += eventArgs => { ChampionClass.DrawingOnEndScene(eventArgs); }; Obj_AI_Base.OnBuffAdd += (sender, eventArgs) => { ChampionClass.Obj_AI_Base_OnBuffAdd(sender, eventArgs); }; Obj_AI_Base.OnBuffRemove += (sender, eventArgs) => { ChampionClass.Obj_AI_Base_OnBuffRemove(sender, eventArgs); }; Obj_AI_Base.OnProcessSpellCast += (sender, eventArgs) => { ChampionClass.Obj_AI_Base_OnProcessSpellCast(sender, eventArgs); }; Obj_AI_Base.OnPlayAnimation += (sender, eventArgs) => { ChampionClass.Obj_AI_Base_OnPlayAnimation(sender, eventArgs); }; AntiGapcloser.OnEnemyGapcloser += (gapcloser) => { ChampionClass.AntiGapcloser_OnEnemyGapcloser(gapcloser); }; Spellbook.OnCastSpell += (sender, eventArgs) => { ChampionClass.Spellbook_OnCastSpell(sender, eventArgs); }; Interrupter2.OnInterruptableTarget += (sender, eventArgs) => { ChampionClass.Interrupter2_OnInterruptableTarget(sender, eventArgs); }; Obj_AI_Base.OnPlayAnimation += (sender, eventArgs) => { ChampionClass.Obj_AI_Base_OnPlayAnimation(sender, eventArgs); }; Console.Clear(); }
private static void GameOnUpdate(EventArgs args) { //Update the combo and harass values. ChampionClass.ComboActive = ChampionClass.Config.Item("Orbwalk").GetValue <KeyBind>().Active; var vHarassManaPer = Config.Item("HarassMana").GetValue <Slider>().Value; ChampionClass.HarassActive = ChampionClass.Config.Item("Farm").GetValue <KeyBind>().Active&& ObjectManager.Player.ManaPercent >= vHarassManaPer; ChampionClass.ToggleActive = ObjectManager.Player.ManaPercent >= vHarassManaPer && ChampionClass.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && !ObjectManager.Player.IsRecalling(); #region LaneClearActive ChampionClass.LaneClearActive = ChampionClass.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.None && ChampionClass.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && Config.Item("Farm.Active").GetValue <KeyBind>().Active&& ObjectManager.Player.ManaPercent >= (Config.Item("Farm.Min.Mana.Control").GetValue <KeyBind>().Active ? Config.Item("Lane.Min.Mana").GetValue <Slider>().Value : 0); #endregion LaneClearActive #region JungleClearActive ChampionClass.JungleClearActive = ChampionClass.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear && Config.Item("Farm.Active").GetValue <KeyBind>().Active&& MinionManager.GetMinions(ObjectManager.Player.Position, LeagueSharp.Common.Orbwalking.GetRealAutoAttackRange(null) + 65, MinionTypes.All, MinionTeam.Neutral).Count > 0 && ObjectManager.Player.ManaPercent >= (Config.Item("Farm.Min.Mana.Control").GetValue <KeyBind>().Active ? Config.Item("Jungle.Min.Mana").GetValue <Slider>().Value : 0); #endregion JungleClearActive ChampionClass.LastHitActive = ChampionClass.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LastHit; //ChampionClass.JungleClearActive = ChampionClass.Config.Item("LaneClear").GetValue<KeyBind>().Active && ObjectManager.Player.ManaPercent >= Config.Item("Jungle.Mana").GetValue<Slider>().Value; //ChampionClass.GameOnUpdate(args); UseSummoners(); var useItemModes = Config.Item("UseItemsMode").GetValue <StringList>().SelectedIndex; //Items if ( !((ChampionClass.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo && (useItemModes == 2 || useItemModes == 3)) || (ChampionClass.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed && (useItemModes == 1 || useItemModes == 3)))) { return; } var botrk = Config.Item("BOTRK").GetValue <bool>(); var ghostblade = Config.Item("GHOSTBLADE").GetValue <bool>(); var sword = Config.Item("SWORD").GetValue <bool>(); var muramana = Config.Item("MURAMANA").GetValue <bool>(); var target = ChampionClass.Orbwalker.GetTarget() as Obj_AI_Base; var smiteReady = SmiteSlot != SpellSlot.Unknown && ObjectManager.Player.Spellbook.CanUseSpell(SmiteSlot) == SpellState.Ready; if (smiteReady && ChampionClass.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { Smiteontarget(target as Obj_AI_Hero); } if (botrk) { if (target != null && target.Type == ObjectManager.Player.Type && target.ServerPosition.Distance(ObjectManager.Player.ServerPosition) < 550) { var hasCutGlass = Items.HasItem(3144); var hasBotrk = Items.HasItem(3153); if (hasBotrk || hasCutGlass) { var itemId = hasCutGlass ? 3144 : 3153; var damage = ObjectManager.Player.GetItemDamage(target, Damage.DamageItems.Botrk); if (hasCutGlass || ObjectManager.Player.Health + damage < ObjectManager.Player.MaxHealth) { Items.UseItem(itemId, target); } } } } if (ghostblade && target != null && target.Type == ObjectManager.Player.Type && !ObjectManager.Player.HasBuff("ItemSoTD") && /*if Sword of the divine is not active */ Orbwalking.InAutoAttackRange(target)) { Items.UseItem(3142); } if (sword && target != null && target.Type == ObjectManager.Player.Type && !ObjectManager.Player.HasBuff("spectralfury") && /*if ghostblade is not active*/ Orbwalking.InAutoAttackRange(target)) { Items.UseItem(3131); } if (muramana && Items.HasItem(3042)) { if (target != null && ChampionClass.ComboActive && target.Position.Distance(ObjectManager.Player.Position) < 1200) { if (!ObjectManager.Player.HasBuff("Muramana")) { Items.UseItem(3042); } } else { if (ObjectManager.Player.HasBuff("Muramana")) { Items.UseItem(3042); } } } }
public override void ExecuteCombo() { if (GetValue <bool>("Combo.Q.Use.Urf") && Q.IsReady()) { var fPredEnemy = HeroManager.Enemies.Where(e => e.IsValidTarget(Q.Range * 1.2f)) .Select(enemy => Q.GetPrediction(enemy, true)) .FirstOrDefault(pred => pred.Hitchance >= HitChance.High); if (fPredEnemy != null && !CommonUtils.IsWallBetween(ObjectManager.Player.Position, fPredEnemy.CastPosition)) { Q.Cast(fPredEnemy.CastPosition); } } if (GetValue <bool>("Combo.Q.Use") && Q.IsReady()) { var fPredEnemy = HeroManager.Enemies.Where(e => e.IsValidTarget(Q.Range * 1.2f) && Q.IsKillable(e)) .Select(enemy => Q.GetPrediction(enemy, true)) .FirstOrDefault(pred => pred.Hitchance >= HitChance.High); if (fPredEnemy != null && !CommonUtils.IsWallBetween(ObjectManager.Player.Position, fPredEnemy.CastPosition)) { Q.Cast(fPredEnemy.CastPosition); } } if (GetValue <bool>("Combo.Q.Use") && Q.IsReady() && !HaveAmmo1) { var fPredEnemy = HeroManager.Enemies.Where(e => e.IsValidTarget(Q.Range * 1.2f)) .Select(enemy => Q.GetPrediction(enemy, true)) .FirstOrDefault(pred => pred.Hitchance >= HitChance.High); if (fPredEnemy != null && !CommonUtils.IsWallBetween(ObjectManager.Player.Position, fPredEnemy.CastPosition)) { Q.Cast(fPredEnemy.CastPosition); } } if (GetValue <bool>("Combo.E.Use") && !Q.IsReady() && !HaveAmmo1 && E.IsReady()) { var t = TargetSelector.GetTarget(Orbwalking.GetRealAutoAttackRange(null) + 65, TargetSelector.DamageType.Physical); if (t.IsValidTarget()) { E.Cast(CommonUtils.GetDashPosition(E, t, 200)); } } if (GetValue <bool>("Combo.W.Use") && W.IsReady() && ObjectManager.Player.Mana > (Q.ManaCost + E.ManaCost + W.ManaCost + (R.Cooldown < 10 ? R.ManaCost:0))) { 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))) { W.Cast(t, false, true); } } if (GetValue <bool>("Combo.W.Use") && W.IsReady() && ObjectManager.Player.Mana > (Q.ManaCost + E.ManaCost + W.ManaCost + (R.Cooldown < 10 ? R.ManaCost : 0))) { var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget()) { W.Cast(t, false, true); } } if (GetValue <bool>("Combo.R.Use") && R.IsReady()) { CastR(); } base.ExecuteCombo(); }