private static void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (args.Unit.IsMe) { args.Process = !player.HasBuff("KatarinaR"); } }
public CommonForceUltimate(ZedMenu zedMenu, ZedSpells zedSpells, Orbwalking.Orbwalker orbwalker) { player = ObjectManager.Player; this.zedMenu = zedMenu; r = zedSpells.R; zedOrbwalker = orbwalker; mouseImage1 = new Render.Sprite(Resources.mouse1, new Vector2(0, 0)); mouseImage1.Scale = new Vector2(0.50f, 0.50f); mouseImage1.Add(); mouseImage2 = new Render.Sprite(Resources.mouse2, new Vector2(0, 0)); mouseImage2.Scale = new Vector2(0.50f, 0.50f); mouseImage2.Add(); denyMouseImage = new Render.Sprite(Resources.denymouse, new Vector2(0, 0)); denyMouseImage.Scale = new Vector2(0.50f, 0.50f); denyMouseImage.Add(); denyMouseImage.Visible = false; Text.Add(); Text.Visible = false; Game.OnWndProc += CheckMouseButtons; Game.OnUpdate += ShowAnimation; }
/// <summary> /// Fired when the game is updated. /// </summary> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> public static void LastHit(Orbwalking.BeforeAttackEventArgs args) { const float SplashRange = 160f; var isUsingFishBones = ObjectManager.Player.HasBuff("JinxQ"); var minionTarget = (Obj_AI_Minion)args.Target; var canLastHit = Variables.QMenu.Item("lasthit").GetValue<SliderButton>().Value.Item2 && ObjectManager.Player.ManaPercent > ManaManager.GetNeededMana(Variables.W.Slot, Variables.QMenu.Item("lasthit")); if (minionTarget != null) { var minionsInRange = ObjectManager.Get<Obj_AI_Minion>().Count(m => m.Distance(minionTarget) < SplashRange); if (isUsingFishBones) { if (minionsInRange < 3) { Variables.Q.Cast(); } } else { if (minionsInRange >= 3 && canLastHit) { Variables.Q.Cast(); } } } }
protected override void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (ObjectManager.Player.Buffs.Any(b=>b.Name.ToLower().Contains("tumblefade")) && ObjectManager.Get<Obj_AI_Hero>().Any(h => h.IsEnemy && h.IsValidTarget() && h.IsMelee && h.Distance(ObjectManager.Player) < 325)) { args.Process = false; } }
private void Orbwalking_BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if(Program.Combo && W.IsReady() && FindCard == 1 && W.Instance.Name != "PickACard" && Config.Item("WblockAA", true).GetValue<bool>()) { args.Process = false; } }
/// <summary> /// Called Before the orbwalker attacks. /// </summary> /// <param name="args">The <see cref="Orbwalking.BeforeAttackEventArgs"/> instance containing the event data.</param> private void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (ShouldGetExecuted()) { args.Process = false; } }
public static void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (args.Unit.IsMe && Program.Q.IsReady() && Program.ComboMenu.Item("QCombo").GetValue<bool>()) { if (args.Target.IsValid<Obj_AI_Hero>()) { var target = (Obj_AI_Hero) args.Target; if (Program.ComboMenu.Item("RCombo").GetValue<bool>() && Program.R.IsReady() && Program.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { if (!target.UnderTurret(true)) { Program.R.Cast(); } } if (target.IsMelee && target.IsFacing(Heroes.Player)) { if (target.Distance(Heroes.Player.ServerPosition) < 325) { var tumblePosition = target.GetTumblePos(); args.Process = false; Tumble.Cast(tumblePosition); } } } } }
/// <summary> /// Called on orbwalker action. /// </summary> /// <param name="args">The <see cref="Orbwalking.BeforeAttackEventArgs" /> instance containing the event data.</param> public static void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { /// <summary> /// Check for R Instance. /// </summary> args.Process = !Variables.R.Instance.Name.Equals("QuinnRFinale"); /// <summary> /// The Target Forcing Logic. /// </summary> var hero = (Obj_AI_Hero)args.Target; var bestTarget = HeroManager.Enemies.Where( t => t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(t)) && t.HasBuff("quinnw")) .OrderByDescending(o => Data.Get<ChampionPriorityData>().GetPriority(o.ChampionName)) .FirstOrDefault(); if (hero != null && bestTarget?.NetworkId != hero.NetworkId && Variables.GetRealHealth(hero) > ObjectManager.Player.GetAutoAttackDamage(hero) * 3) { Variables.Orbwalker.ForceTarget(bestTarget); return; } Variables.Orbwalker.ForceTarget(null); }
private static void WLogic() { #region W逻辑 foreach (var enemy in HeroManager.Enemies.Where(e => e.IsValid && !e.IsDead && e.Distance(Player) < W.Range).OrderByDescending(k => k.Distance(Player)).OrderByDescending(k => k.Health)) { if (Config.Item("标记W").GetValue <bool>() && Config.GetBool("WList" + enemy.NetworkId) && (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo || Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) && enemy.CountAlliesInRange(650) > 0 && enemy.HasWBuff()) { W.CastSpell(enemy); } if (Config.Item("硬控W").GetValue <bool>() && !OktwCommon.CanMove(enemy) && enemy.HasWBuff()) { W.CastSpell(enemy); } if (Config.Item("抢人头W").GetValue <bool>() && Config.GetBool("WList" + enemy.NetworkId) && Player.CountEnemiesInRange(Player.AttackRange + 100) == 0 && enemy.Health < OktwCommon.GetIncomingDamage(enemy) + W.GetDmg(enemy) && !Q.CanCast(enemy) && !(Orbwalking.CanAttack() && Orbwalking.InAutoAttackRange(enemy))) { W.CastSpell(enemy); } } #endregion }
/// <summary> /// Called on orbwalker action. /// </summary> /// <param name="args">The <see cref="Orbwalking.BeforeAttackEventArgs" /> instance containing the event data.</param> public static void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { switch (Variables.Orbwalker.ActiveMode) { /// <summary> /// The 'No AA in Combo' Logic. /// </summary> case Orbwalking.OrbwalkingMode.Combo: if (!Variables.GeneralMenu.Item("aacombo").IsActive()) { args.Process = Bools.HasSheenBuff(); } break; /// <summary> /// The 'Support Mode' Logic. /// </summary> case Orbwalking.OrbwalkingMode.Mixed: case Orbwalking.OrbwalkingMode.LastHit: case Orbwalking.OrbwalkingMode.LaneClear: var target = Variables.Orbwalker.GetTarget(); if (target is Obj_AI_Minion && target.IsEnemy && Variables.GeneralMenu.Item("support").IsActive()) { args.Process = !HeroManager.Allies.Any(a => a.Distance(ObjectManager.Player) < 2500); } break; } }
private void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (!Q.IsReady() || !Config.Item("autoQ", true).GetValue<bool>() || !(args.Target is Obj_AI_Hero)) return; var t = (Obj_AI_Hero)args.Target; if (FishBoneActive && t.IsValidTarget()) { var realDistance = GetRealDistance(t); if (Program.Combo && realDistance < GetRealPowPowRange(t) && (Player.Mana < RMANA + 20 || Player.GetAutoAttackDamage(t) * 3 < t.Health)) Q.Cast(); else if (Program.Farm && Config.Item("Qharras", true).GetValue<bool>() && (realDistance > bonusRange() || realDistance < GetRealPowPowRange(t) || Player.Mana < RMANA + EMANA + WMANA + WMANA)) Q.Cast(); } if (Program.LaneClear && !FishBoneActive && Config.Item("farmQ", true).GetValue<bool>() && Player.ManaPercent > Config.Item("Mana", true).GetValue<Slider>().Value && Player.Mana > RMANA + EMANA + WMANA + 30) { var allMinionsQ = MinionManager.GetMinions(Player.ServerPosition, bonusRange()); foreach (var minion in allMinionsQ.Where( minion => args.Target.NetworkId != minion.NetworkId && minion.Distance(args.Target.Position) < 200 && (5 - Q.Level) * Player.GetAutoAttackDamage(minion) < args.Target.Health && (5 - Q.Level) * Player.GetAutoAttackDamage(minion) < minion.Health)) { Q.Cast(); } } }
//public static void DrawJunglePosition(int drawOption) //{ // if (drawOption == (int)DrawOption.Off) // { // return; // } // junglePositions = new Dictionary<Vector3, System.Drawing.Color>(); // if (Game.MapId == (GameMapId)11) // { // const float CircleRange = 115f; // junglePositions.Add(new Vector3(7461.018f, 3253.575f, 52.57141f), System.Drawing.Color.Blue); // // blue team :red; // junglePositions.Add(new Vector3(3511.601f, 8745.617f, 52.57141f), System.Drawing.Color.Blue); // // blue team :blue // junglePositions.Add(new Vector3(7462.053f, 2489.813f, 52.57141f), System.Drawing.Color.Blue); // // blue team :golems // junglePositions.Add(new Vector3(3144.897f, 7106.449f, 51.89026f), System.Drawing.Color.Blue); // // blue team :wolfs // junglePositions.Add(new Vector3(7770.341f, 5061.238f, 49.26587f), System.Drawing.Color.Blue); // // blue team :wariaths // junglePositions.Add(new Vector3(10930.93f, 5405.83f, -68.72192f), System.Drawing.Color.Yellow); // // Dragon // junglePositions.Add(new Vector3(7326.056f, 11643.01f, 50.21985f), System.Drawing.Color.Red); // // red team :red // junglePositions.Add(new Vector3(11417.6f, 6216.028f, 51.00244f), System.Drawing.Color.Red); // // red team :blue // junglePositions.Add(new Vector3(7368.408f, 12488.37f, 56.47668f), System.Drawing.Color.Red); // // red team :golems // junglePositions.Add(new Vector3(10342.77f, 8896.083f, 51.72742f), System.Drawing.Color.Red); // // red team :wolfs // junglePositions.Add(new Vector3(7001.741f, 9915.717f, 54.02466f), System.Drawing.Color.Red); // // red team :wariaths // foreach (var hp in junglePositions) // { // switch (drawOption) // { // case (int)DrawOption.CloseToMobs: // if (ObjectManager.Player.Distance(hp.Key) // <= Orbwalking.GetRealAutoAttackRange(null) + 65) // { // Render.Circle.DrawCircle(hp.Key, CircleRange, hp.Value); // } // break; // case (int)DrawOption.CloseToMobsAndJungleClearActive: // if (ObjectManager.Player.Distance(hp.Key) // <= Orbwalking.GetRealAutoAttackRange(null) + 65 && Program.ChampionClass.JungleClearActive) // { // Render.Circle.DrawCircle(hp.Key, CircleRange, hp.Value); // } // break; // } // } // } //} public static GameObjectTeam Team(this Obj_AI_Base mob) { mobTeams = new Dictionary <Vector2, GameObjectTeam>(); if (Game.MapId == (GameMapId)11) { mobTeams.Add(new Vector2(7756f, 4118f), GameObjectTeam.Order); // blue team :red; mobTeams.Add(new Vector2(3824f, 7906f), GameObjectTeam.Order); // blue team :blue mobTeams.Add(new Vector2(8356f, 2660f), GameObjectTeam.Order); // blue team :golems mobTeams.Add(new Vector2(3860f, 6440f), GameObjectTeam.Order); // blue team :wolfs mobTeams.Add(new Vector2(6982f, 5468f), GameObjectTeam.Order); // blue team :wariaths mobTeams.Add(new Vector2(2166f, 8348f), GameObjectTeam.Order); // blue team :Frog jQuery mobTeams.Add(new Vector2(4768, 10252), GameObjectTeam.Neutral); // Baron mobTeams.Add(new Vector2(10060, 4530), GameObjectTeam.Neutral); // Dragon mobTeams.Add(new Vector2(7274f, 11018f), GameObjectTeam.Chaos); // Red team :red; mobTeams.Add(new Vector2(11182f, 6844f), GameObjectTeam.Chaos); // Red team :Blue mobTeams.Add(new Vector2(6450f, 12302f), GameObjectTeam.Chaos); // Red team :golems mobTeams.Add(new Vector2(11152f, 8440f), GameObjectTeam.Chaos); // Red team :wolfs mobTeams.Add(new Vector2(7830f, 9526f), GameObjectTeam.Chaos); // Red team :wariaths mobTeams.Add(new Vector2(12568, 6274), GameObjectTeam.Chaos); // Red team : Frog jQuery return (mobTeams.Where( hp => mob.Distance(hp.Key) <= (Orbwalking.GetRealAutoAttackRange(null) * 2)) .Select(hp => hp.Value) .FirstOrDefault()); } return(GameObjectTeam.Unknown); }
public override void ExecuteLane() { var qJ = Program.Config.Item("UseQ.Lane").GetValue <StringList>().SelectedIndex; if (qJ != 0) { var minionsQ = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range, MinionTypes.All); if (minionsQ != null) { if (Q.IsReady()) { var locQ = Q.GetLineFarmLocation(minionsQ); if (minionsQ.Count == minionsQ.Count(m => ObjectManager.Player.Distance(m) < Q.Range) && locQ.MinionsHit > qJ && locQ.Position.IsValid()) { Q.Cast(locQ.Position); } } } } var wJ = Program.Config.Item("UseW.Lane").GetValue <StringList>().SelectedIndex; if (wJ != 0) { var minionsW = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Orbwalking.GetRealAutoAttackRange(null) + 165, MinionTypes.All); if (minionsW != null && minionsW.Count >= wJ) { if (W.IsReady()) { W.Cast(); } } } }
/// <summary> /// The is the spell active method. /// </summary> /// <param name="spellSlot"> /// The spell slot. /// </param> /// <param name="orbwalkingMode"> /// The orbwalking mode. /// </param> /// <returns> /// <see cref="bool" /> /// </returns> private static bool IsSpellActive(SpellSlot spellSlot, Orbwalking.OrbwalkingMode orbwalkingMode) { if (Program.Orbwalker.ActiveMode != orbwalkingMode || !spellSlot.IsReady()) { return false; } try { var orbwalkerModeLower = Program.Orbwalker.ActiveMode.ToString().ToLower(); var spellSlotNameLower = spellSlot.ToString().ToLower(); return MyMenu.RootMenu.Item(orbwalkerModeLower + spellSlotNameLower + "use").GetValue<bool>() && MyMenu.RootMenu.Item(orbwalkerModeLower + spellSlotNameLower + "mana") .GetValue<Slider>() .Value <= ObjectManager.Player.ManaPercent; } catch (Exception e) { Logging.AddEntry( LoggingEntryTrype.Error, "@SpellManager.cs: Can not get spell active state for slot {0} - {1}", spellSlot.ToString(), e); throw; } }
private void OW(Orbwalking.BeforeAttackEventArgs args) { if (ShouldGetExecuted() && ObjectManager.Player.Buffs.Any(m => m.Name.ToLower() == "vaynetumblefade")) { args.Process = false; } }
public static Menu AddModeMenu(this Menu mainMenu, Orbwalking.OrbwalkingMode Mode) { var modeMenu = new Menu($"[iSR] {Mode}", $"iseriesr.{ObjectManager.Player.ChampionName.ToLower()}.{Mode.ToString().ToLower()}"); { mainMenu.AddSubMenu(modeMenu); } return modeMenu; }
protected override void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (!menu.Item("disableAA", true).GetValue<bool>()) return; if ((args.Target is Obj_AI_Minion) && menu.Item("HarassActive", true).GetValue<KeyBind>().Active) args.Process = false; }
private static void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (Config.Item("bAuto").GetValue<bool>() && Human() && Q.IsReady() && Player.Distance(args.Target.Position) >= Player.AttackRange) { args.Process = false; } }
/// <summary> /// Called before the next aa is fired. /// </summary> /// <param name="args">The <see cref="Orbwalking.BeforeAttackEventArgs"/> instance containing the beforeattack data.</param> public static void Orbwalking_BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (args.Target != null && args.Target.IsValid<Obj_AI_Base>()) { Logics.ExecuteBeforeAttack(args); } }
private static Menu AddManaManagerMenu(this Menu mainMenu, Orbwalking.OrbwalkingMode Mode) { var manaManager = new Menu("Mana Manager", $"iseriesr.{ObjectManager.Player.ChampionName.ToLower()}.{Mode.ToString().ToLower()}.mm"); { mainMenu.AddSubMenu(manaManager); } return manaManager; }
protected override void OnBeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (!config.Item("ComboActive", true).GetValue<KeyBind>().Active) return; if (Q.IsReady() || W.IsReady() || E.IsReady()) args.Process = false; }
public static void CastFlayPush(Obj_AI_Hero target, Orbwalking.OrbwalkingMode Mode) { var targetPrediction = Prediction.GetPrediction(target, 0.25f); var finalPosition = target.ServerPosition.Extend( ObjectManager.Player.ServerPosition, ObjectManager.Player.ServerPosition.Distance(targetPrediction.UnitPosition) / 2f); Thresh.spells[SpellSlot.E].Cast(finalPosition); }
static void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (args.Target.IsValid<Obj_AI_Hero>() && E.IsReady()) { E.Cast(); } }
/// <summary> /// Initializes a new instance of the <see cref="Item" /> class. /// </summary> /// <param name="orbwalker"> /// The orbwalker. /// </param> public Item(Orbwalking.Orbwalker orbwalker) { Orbwalker=orbwalker; _offensive=new Offensive(); _defensive=new Defensive(); Orbwalking.AfterAttack+=After_Attack; Orbwalking.BeforeAttack+=Before_Attack; Game.OnUpdate+=OnUpdate; }
protected override void OnUpdate(Orbwalking.OrbwalkingMode mode) { base.OnUpdate(mode); if (AutoBuyBlueTrinket && ObjectManager.Player.Level >= BlueTrinketLevel && ObjectManager.Player.InFountain() && ObjectManager.Player.InventoryItems.Any(item => item.Id == ItemId.Warding_Totem_Trinket)) { ObjectManager.Player.BuyItem(ItemId.Scrying_Orb_Trinket); } }
public static MenuItem AddSkill(this Menu mainMenu, SpellSlot slot, Orbwalking.OrbwalkingMode Mode, bool defaultValue = true, int defMana = 20, bool addMM = true) { if (addMM) { mainMenu.AddManaManager(slot, Mode, defMana); } return mainMenu.AddBool($"iseriesr.{ObjectManager.Player.ChampionName.ToLower()}.{Mode.ToString().ToLower()}.{slot.ToString().ToLower()}", $"Use {slot}", defaultValue); }
public override void ExecuteJungle() { if (Q.IsReady()) { var jQ = Marksman.Utils.Utils.GetMobs(Orbwalking.GetRealAutoAttackRange(null) + 65, Marksman.Utils.Utils.MobTypes.All); if (jQ != null) { switch (GetValue <StringList>("UseQJ").SelectedIndex) { case 1: { Q.Cast(jQ); break; } case 2: { jQ = Utils.Utils.GetMobs(Orbwalking.GetRealAutoAttackRange(null) + 65, Utils.Utils.MobTypes.BigBoys); if (jQ != null) { Q.Cast(jQ); } break; } } } } if (E.IsReady()) { var jungleMobs = Marksman.Utils.Utils.GetMobs(E.Range, Marksman.Utils.Utils.MobTypes.All); if (jungleMobs != null) { switch (GetValue <StringList>("UseEJ").SelectedIndex) { case 1: { E.CastOnUnit(jungleMobs); break; } case 2: { jungleMobs = Utils.Utils.GetMobs(E.Range, Utils.Utils.MobTypes.BigBoys); if (jungleMobs != null) { E.CastOnUnit(jungleMobs); } break; } } } } }
public static void CastFlayPull(Obj_AI_Hero target, Orbwalking.OrbwalkingMode Mode) { var finalPosition = target.ServerPosition.Extend( ObjectManager.Player.ServerPosition, ObjectManager.Player.Distance(target.ServerPosition) + 100f ); Thresh.spells[SpellSlot.E].Cast(finalPosition); }
/// <summary> /// Initializes a new instance of the <see cref="Item" /> class. /// </summary> /// <param name="menu"> /// The menu. /// </param> /// <param name="enabled"> /// if set to <c> true </c> [enabled]. /// </param> /// <param name="orbwalker"> /// The orbwalker. /// </param> public Item(Menu menu, bool enabled, Orbwalking.Orbwalker orbwalker) { if (!enabled) return; Objects.ProjectLogger.WriteLog("Item Menu and events loaded."); menu.AddSubMenu(Menu()); // ReSharper disable once UnusedVariable var items=new Events.Item(orbwalker); }
public override void Update(Orbwalking.OrbwalkingMode mode, ComboProvider combo, Obj_AI_Hero target) { base.Update(mode, combo, target); _recentAutoattack = false; if (_resetOrbwalker && !ObjectManager.Player.HasBuff("GarenE")) { _resetOrbwalker = false; Provider.Orbwalker.SetAttack(true); } }
static void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { Obj_AI_Hero target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (args.Target.IsValid<Obj_AI_Hero>() && W.IsReady() && Player.Distance(target) <= Player.AttackRange) { W.Cast(); } }
public void StackR(Orbwalking.BeforeAttackEventArgs args) { if (args.Target is Obj_AI_Minion && R.IsReady() && R.CanCast((Obj_AI_Minion)args.Target) && champion.Player.Mana > R.Instance.ManaCost && R.IsKillable((Obj_AI_Minion)args.Target) && champion.Player.CountEnemiesInRange(3000f) == 0 && champion.Player.GetBuffCount("Feast") < 6) { args.Process = false; R.Cast((Obj_AI_Minion)args.Target); } }
protected override void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (!menu.Item("disableAA", true).GetValue<bool>() || !(args.Target is Obj_AI_Hero)) return; if (Q.IsReady() || W.IsReady() || (E.IsReady() && _poisonTargets.Any(x => x.NetworkId == args.Target.NetworkId))) args.Process = false; else args.Process = true; }
private void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (W.IsReady() && Range && args.Target is Obj_AI_Hero) { if(Program.Combo) W.Cast(); else if (args.Target.Position.Distance(Player.Position)< 500) W.Cast(); } }
public override void GameOnUpdate(EventArgs args) { if (R.IsReady()) { var x = 0d; if (ObjectManager.Player.HealthPercent < 20 && ObjectManager.Player.CountEnemiesInRange(500) > 0) { x = HeroManager.Enemies.Where(e => e.IsValidTarget(1000)) .Aggregate(0, (current, enemy) => (int)(current + enemy.Health)); } if (ObjectManager.Player.Health < x) { R.Cast(ObjectManager.Player.Position); } } AIHeroClient t = null; if (KindredECharge != null) { t = KindredECharge; TargetSelector.SetTarget(KindredECharge); } else { t = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); } if (!t.IsValidTarget()) { return; } if (ComboActive && !t.HasKindredUltiBuff()) { if (t.IsValidTarget(Q.Range + Orbwalking.GetRealAutoAttackRange(null) + 65) && !t.HasKindredUltiBuff()) { if (GetValue<bool>("Combo.Q.Use")) { var x = CommonUtils.GetDashPosition(E, t, 400); Q.Cast(x); } if (GetValue<bool>("Combo.E.Use") && E.IsReady() && t.IsValidTarget(E.Range)) { E.CastOnUnit(t); } if (GetValue<bool>("Combo.W.Use") && W.IsReady() && t.IsValidTarget(W.Range/2)) { W.Cast(t.Position); } } } }
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 Orbwalking_BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { foreach ( var target in HeroManager.Enemies.Where( e => e.IsValid && e.Distance(ObjectManager.Player) < Orbwalking.GetRealAutoAttackRange(null) + 65 && e.IsVisible).Where(target => target.HasBuff("kindredcharge"))) { Orbwalker.ForceTarget(target); } }
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(AIHeroClient 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); }
public override void ExecuteLane() { if (E.IsReady()) { var minions = MinionManager.GetMinions(ObjectManager.Player.Position, E.Range, MinionTypes.All, MinionTeam.Enemy); if (minions != null) { var eJ = Program.Config.Item("UseE.Lane").GetValue <StringList>().SelectedIndex; if (eJ != 0) { var mE = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, E.Range + 175, MinionTypes.All); var locW = E.GetCircularFarmLocation(mE, 175); if (locW.MinionsHit >= eJ && E.IsInRange(locW.Position.To3D())) { foreach ( var x in ObjectManager.Get <Obj_AI_Minion>() .Where(m => m.IsEnemy && !m.IsDead && m.Distance(locW.Position) < 100)) { E.CastOnUnit(x); } } } } if (Q.IsReady()) { var jE = Program.Config.Item("UseQ.Lane").GetValue <StringList>().SelectedIndex; if (jE != 0) { var totalAa = ObjectManager.Get <Obj_AI_Minion>() .Where( m => m.IsEnemy && !m.IsDead && m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null))) .Sum(mob => (int)mob.Health); totalAa = (int)(totalAa / ObjectManager.Player.TotalAttackDamage); if (totalAa > jE) { Q.Cast(); } } } } }
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 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 ? Orbwalking.GetRealAutoAttackRange(null) + 65 + W.Range : spell.Range, menuItem.Color); } } }
public override void Orbwalking_BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { args.Process = !GetValue <KeyBind>("Combo.Insec").Active; if (GetValue <bool>("Misc.UseQ.Inhibitor") && args.Target is Obj_BarracksDampener && Q.IsReady()) { if (((Obj_BarracksDampener)args.Target).Health >= Player.TotalAttackDamage * 3) { Q.Cast(); } } if (GetValue <bool>("Misc.UseQ.Nexus") && args.Target is Obj_HQ && Q.IsReady()) { Q.Cast(); } var unit = args.Target as Obj_AI_Turret; if (unit != null) { if (GetValue <bool>("UseEM") && E.IsReady()) { if (((Obj_AI_Turret)args.Target).Health >= Player.TotalAttackDamage * 3) { E.CastOnUnit(unit); } } if (GetValue <bool>("Misc.UseQ.Turret") && Q.IsReady()) { if (((Obj_AI_Turret)args.Target).Health >= Player.TotalAttackDamage * 3) { Q.Cast(); } } } if (Q.IsReady() && args.Target is AIHeroClient) { var t = args.Target as AIHeroClient; if (t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) - 65) && ComboActive) { Q.Cast(); } } }
private static void QLogic() { #region Q逻辑 //Q消耗 if (Config.Item("消耗Q兵").GetValue <bool>() && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { var ms = MinionManager.GetMinions(Q.Range); if (ms != null && ms.Count > 0) { var t = ms.Find(m => Q.GetDmg(m) > m.Health && m.CountEnemiesInRange(200) > 0); if (t != null) { Q.Cast(t); } } } if (Config.Item("清兵Q").GetValue <bool>() && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { var ms = MinionManager.GetMinions(Q.Range); if (ms != null && ms.Count >= 3) { var t = ms.Find(m => Q.GetDmg(m) > m.Health); if (t != null) { Q.Cast(t); } } } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { var target = Orbwalker.GetTarget() as Obj_AI_Hero; if (target != null && target.IsValid && !Orbwalking.CanAttack() && !Player.IsWindingUp && target.Health < Q.GetDmg(target) + W.GetDmg(target)) { Q.Cast(target); } } //Q抢人头 foreach (var enemy in HeroManager.Enemies.Where(e => e.IsValidTarget(Q.Range) && Q.GetDmg(e) + OktwCommon.GetIncomingDamage(e) > e.Health)) { Q.Cast(enemy); } #endregion }
private static void Obj_AI_Base_OnDoCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args) { //if (sender.IsMe) //{ // if (args.SData.Name == "JhinRShotMis") // { // RCharge.Index++; // RCharge.CastT = Game.ClockTime; // } // if (args.SData.Name == "JhinRShotMis4") // { // RCharge.Index = 0; // RCharge.CastT = Game.ClockTime; // RCharge.Target = null; // } //} if (sender.IsMe && !Orbwalking.IsAutoAttack(Args.SData.Name) && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { if (Args.Target is Obj_AI_Hero && Config.Item("ComboW").GetValue <bool>() && W.IsReady()) { var target = (Obj_AI_Hero)Args.Target; if (!target.IsDead && !target.IsZombie && target.IsValidTarget(W.Range) && target.IsHPBarRendered) { if (target.HasWBuff() && Config.Item("标记W").GetValue <bool>()) { W.CastSpell(target); return; } else { var WPred = W.GetPrediction(target); if (WPred.Hitchance >= HitChance.VeryHigh) { W.Cast(WPred.UnitPosition, true); return; } } } } } }
public override void ExecuteLane() { if (Q.IsReady() && AsheQCastReady) { var jQ = GetValue <StringList>("UseQ.Lane").SelectedIndex; if (jQ != 0) { var totalAa = ObjectManager.Get <Obj_AI_Minion>() .Where( m => m.IsEnemy && !m.IsDead && m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null))) .Sum(mob => (int)mob.Health); totalAa = (int)(totalAa / ObjectManager.Player.TotalAttackDamage); if (totalAa > jQ) { Q.Cast(); } } } if (E.IsReady()) { var minions = MinionManager.GetMinions( ObjectManager.Player.Position, E.Range, MinionTypes.All, MinionTeam.Enemy); if (minions != null) { var jE = GetValue <StringList>("UseW.Lane").SelectedIndex; if (jE != 0) { var mE = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, W.Range, MinionTypes.All); if (mE.Count >= jE) { W.Cast(mE[0].Position); } } } } }
public override void Spellbook_OnCastSpell(Spellbook sender, SpellbookCastSpellEventArgs args) { var nClosesTarget = HeroManager.Enemies.Find(e => e.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65)); { if (nClosesTarget != null) { if (GetValue <bool>("UseWMC") && ObjectManager.Player.Spellbook.GetSpell(SpellSlot.W).Level > 0 && Math.Abs(W.Cooldown) < 0.00001 && args.Slot != SpellSlot.W) { var lastMana = ObjectManager.Player.Mana - ObjectManager.Player.Spellbook.GetSpell(args.Slot).SData.Mana; if (lastMana < ObjectManager.Player.Spellbook.GetSpell(SpellSlot.W).SData.Mana) { args.Process = false; } } } } }
public override void GameOnUpdate(EventArgs args) { if (!Orbwalking.CanMove(100)) { 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 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(); } } } } }
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); } } }
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 ExecuteLane() { return; 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) > Orbwalking.GetRealAutoAttackRange(null) + 65); Q.Cast(minion); break; } } }
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 DrawingOnEndScene(EventArgs args) { return; var nClosesEnemy = HeroManager.Enemies.Find(e => e.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null))); if (nClosesEnemy != null) { var aaRange = Orbwalking.GetRealAutoAttackRange(null) + 65 - ObjectManager.Player.Distance(nClosesEnemy); Render.Circle.DrawCircle(ObjectManager.Player.Position, aaRange, Color.BurlyWood); Vector2 wcPositive = ObjectManager.Player.Position.To2D() - Vector2.Normalize(nClosesEnemy.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated((float)Math.PI / 180) * aaRange; Vector2 wcPositive2 = ObjectManager.Player.Position.To2D() - Vector2.Normalize(nClosesEnemy.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(30 * (float)Math.PI / 180) * aaRange; Vector2 wcPositive3 = ObjectManager.Player.Position.To2D() - Vector2.Normalize(nClosesEnemy.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(-30 * (float)Math.PI / 180) * aaRange; Vector2 wcPositive2x = ObjectManager.Player.Position.To2D() - Vector2.Normalize(nClosesEnemy.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(60 * (float)Math.PI / 180) * aaRange; Vector2 wcPositive3x = ObjectManager.Player.Position.To2D() - Vector2.Normalize(nClosesEnemy.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(-60 * (float)Math.PI / 180) * aaRange; if (E.IsReady()) { var runHere = Vector2.Zero; if (!wcPositive.IsWall()) { runHere = wcPositive; } else if (!wcPositive2.IsWall()) { runHere = wcPositive2; } else if (!wcPositive3.IsWall()) { runHere = wcPositive3; } else if (!wcPositive2x.IsWall()) { runHere = wcPositive2x; } else if (!wcPositive3x.IsWall()) { runHere = wcPositive3x; } if (runHere != Vector2.Zero && ObjectManager.Player.Distance(runHere) > ObjectManager.Player.BoundingRadius * 2) { E.Cast(runHere); } } Render.Circle.DrawCircle(wcPositive2.To3D(), 80f, Color.Red); Render.Circle.DrawCircle(wcPositive3.To3D(), 80f, Color.Yellow); Render.Circle.DrawCircle(wcPositive.To3D(), 80, Color.BurlyWood); Render.Circle.DrawCircle(wcPositive2x.To3D(), 80f, Color.Red); Render.Circle.DrawCircle(wcPositive3x.To3D(), 80f, Color.Yellow); } //if (Q.IsReady()) //{ return; foreach (var t in HeroManager.Enemies.Where(e => e.IsValidTarget(1100))) { var toPolygon = new CommonGeometry.Rectangle(ObjectManager.Player.Position.To2D(), ObjectManager.Player.Position.To2D() .Extend(t.Position.To2D(), t.Distance(ObjectManager.Player.Position)), 30).ToPolygon(); toPolygon.Draw(System.Drawing.Color.Red, 1); var o = ObjectManager .Get <Obj_AI_Base>( ).FirstOrDefault(e => e.IsEnemy && !e.IsDead && e.NetworkId != t.NetworkId && toPolygon.IsInside(e) && ObjectManager.Player.Distance(t.Position) > ObjectManager.Player.Distance(e) && e.Distance(t) > t.BoundingRadius && e.Distance(ObjectManager.Player) > ObjectManager.Player.BoundingRadius); if (o != null) { Render.Circle.DrawCircle(o.Position, 105f, Color.GreenYellow); Q.CastOnUnit(o); } Vector2 wcPositive = ObjectManager.Player.Position.To2D() - Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated((float)Math.PI / 180) * (E.Range - 50); Render.Circle.DrawCircle(wcPositive.To3D(), 60, Color.BurlyWood); Render.Circle.DrawCircle(wcPositive.To3D(), 80f, Color.BurlyWood); Render.Circle.DrawCircle(wcPositive.To3D(), 100f, Color.BurlyWood); } //} return; foreach (var t in HeroManager.Enemies.Where(e => e.IsValidTarget(1100))) { var toPolygon = new CommonGeometry.Rectangle(ObjectManager.Player.Position.To2D(), ObjectManager.Player.Position.To2D().Extend(t.Position.To2D(), t.Distance(ObjectManager.Player.Position)), 40).ToPolygon(); toPolygon.Draw(System.Drawing.Color.Red, 1); foreach (var obj in ObjectManager.Get <Obj_AI_Base>()) { } //Console.WriteLine(hero.ChampionName); for (int j = 20; j < 361; j += 20) { Vector2 wcPositive = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(j * (float)Math.PI / 180) * E.Range; if (!wcPositive.IsWall() && t.Distance(wcPositive) > E.Range) { Render.Circle.DrawCircle(wcPositive.To3D(), 105f, Color.GreenYellow); } //if (!wcPositive.IsWall()) //{ // ListWJumpPositions.Add(wcPositive); //} //Vector2 wcNegative = ObjectManager.Player.Position.To2D() + // Vector2.Normalize(hero.Position.To2D() - ObjectManager.Player.Position.To2D()) // .Rotated(-j * (float)Math.PI / 180) * E.Range; //Render.Circle.DrawCircle(wcNegative.To3D(), 105f, Color.White); //if (!wcNegative.IsWall()) //{ // ListWJumpPositions.Add(wcNegative); //} } } }
public override void ExecuteCombo() { var t = HeroManager.Enemies.Find( e => e.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65) && e.CanGetDamage()); if (hasPassive && t != null) { Orbwalker.ForceTarget(t); } if (!hasPassive && t.IsValidTarget() && Q.IsReady()) { Q.CastOnUnit(t); } if (GetValue <bool>("Combo.W.Use") && !hasPassive && t.IsValidTarget() && W.IsReady()) { W.Cast(t.Position); } if (t.IsValidTarget() && GetValue <bool>("Combo.E.Use") && E.IsReady() && !hasPassive) { var x = CommonUtils.GetDashPosition(E, t, 200); E.Cast(x); } if (!t.IsValidTarget() && t.IsValidTarget(qExtended.Range)) { var useQExtended = GetValue <StringList>("UseQExtendedC").SelectedIndex; if (useQExtended != 0) { switch (useQExtended) { case 1: { var tx = QMinion(t); if (tx.IsValidTarget(Q.Range)) { Q.CastOnUnit(tx); } break; } case 2: { var enemy = HeroManager.Enemies.Find(e => e.IsValidTarget(qExtended.Range) && !e.IsZombie); if (enemy != null) { var tx = QMinion(enemy); if (tx.IsValidTarget()) { Q.CastOnUnit(tx); } } break; } } } } }
public override void ExecuteJungle() { var jungleQValue = GetValue <StringList>("Jungle.UseQ").SelectedIndex; if (jungleQValue != 0 && Q.IsReady()) { var bigMobsQ = Utils.Utils.GetMobs(Q.Range, jungleQValue == 2 ? Utils.Utils.MobTypes.BigBoys : Utils.Utils.MobTypes.All); if (bigMobsQ != null && bigMobsQ.Health > ObjectManager.Player.TotalAttackDamage * 2 && !hasPassive) { Q.CastOnUnit(bigMobsQ); } } var jungleWValue = GetValue <StringList>("Jungle.UseW").SelectedIndex; if (jungleWValue != 0 && W.IsReady()) { var bigMobsQ = Utils.Utils.GetMobs(W.Range, jungleWValue == 2 ? Utils.Utils.MobTypes.BigBoys : Utils.Utils.MobTypes.All); if (bigMobsQ != null && bigMobsQ.Health > ObjectManager.Player.TotalAttackDamage * 2 && !hasPassive) { W.Cast(bigMobsQ.Position); } } var jungleEValue = GetValue <StringList>("Jungle.UseE").SelectedIndex; if (jungleEValue != 0 && E.IsReady()) { var jungleMobs = Marksman.Utils.Utils.GetMobs(Q.Range + Orbwalking.GetRealAutoAttackRange(null) + 65, Marksman.Utils.Utils.MobTypes.All); if (jungleMobs != null && !hasPassive) { switch (GetValue <StringList>("Jungle.UseE").SelectedIndex) { case 1: { if (!jungleMobs.BaseSkinName.ToLower().Contains("baron") || !jungleMobs.BaseSkinName.ToLower().Contains("dragon")) { if (jungleMobs.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65)) { E.Cast( jungleMobs.IsValidTarget( Orbwalking.GetRealAutoAttackRange(null) + 65) ? Game.CursorPos : jungleMobs.Position); } } break; } case 2: { if (!jungleMobs.BaseSkinName.ToLower().Contains("baron") || !jungleMobs.BaseSkinName.ToLower().Contains("dragon")) { jungleMobs = Marksman.Utils.Utils.GetMobs( E.Range + Orbwalking.GetRealAutoAttackRange(null) + 65, Marksman.Utils.Utils.MobTypes.BigBoys); if (jungleMobs != null) { E.Cast( jungleMobs.IsValidTarget( Orbwalking.GetRealAutoAttackRange(null) + 65) ? Game.CursorPos : jungleMobs.Position); } } break; } } } } }
public override void ExecuteJungle() { if (Q.IsReady() && AsheQCastReady) { var jE = GetValue <StringList>("UseQJ").SelectedIndex; if (jE != 0) { if (jE == 1) { var jungleMobs = Utils.Utils.GetMobs( Orbwalking.GetRealAutoAttackRange(null) + 65, Utils.Utils.MobTypes.BigBoys); if (jungleMobs != null) { Q.Cast(); } } else { var totalAa = MinionManager.GetMinions( ObjectManager.Player.Position, Orbwalking.GetRealAutoAttackRange(null) + 165, MinionTypes.All, MinionTeam.Neutral).Sum(mob => (int)mob.Health); totalAa = (int)(totalAa / ObjectManager.Player.TotalAttackDamage); if (totalAa > jE) { Q.Cast(); } } } } if (W.IsReady()) { var jungleMobs = Marksman.Utils.Utils.GetMobs(W.Range, Marksman.Utils.Utils.MobTypes.All); if (jungleMobs != null) { var jW = GetValue <StringList>("UseWJ").SelectedIndex; switch (jW) { case 1: { jungleMobs = Marksman.Utils.Utils.GetMobs( W.Range, Marksman.Utils.Utils.MobTypes.All, jW); W.CastOnUnit(jungleMobs); break; } case 2: { jungleMobs = Utils.Utils.GetMobs(W.Range, Utils.Utils.MobTypes.BigBoys); if (jungleMobs != null) { W.CastOnUnit(jungleMobs); } break; } } } } }
public override void GameOnUpdate(EventArgs args) { 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 useW = Config.Item("UseWC" + Id).GetValue <bool>(); var t = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (Program.Config.SubMenu("Combo").Item("UseRC").GetValue <bool>() && R.IsReady() && t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 300) && AsheQ >= 2 && t.Health > R.GetDamage(t) + ObjectManager.Player.TotalAttackDamage * 4) { R.Cast(t); } if (Q.IsReady() && AsheQCastReady) { if (t.IsValidTarget(Orbwalking.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 = Orbwalking.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); } }
private static bool InAttackRange(Obj_AI_Hero target) { if ((Config.GetStringIndex("伤害类型" + Player.ChampionName) == 1 || Config.GetStringIndex("伤害类型" + Player.ChampionName) == 3) && Orbwalking.InAutoAttackRange(target)) { return(true); } if (Config.GetStringIndex("伤害类型" + Player.ChampionName) == 2 && (Q.CanCast(target) || W.CanCast(target) || E.CanCast(target) || R.CanCast(target) || Orbwalking.InAutoAttackRange(target))) { return(true); } return(false); }
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(); }