private static void LaneClear(GameObjectProcessSpellCastEventArgs Args) { if (Args.SData == null || !Orbwalking.IsAutoAttack(Args.SData.Name) || Args.Target == null || !Orbwalking.isLaneClear || !Args.Target.IsEnemy || !ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) || !ManaManager.SpellFarm) { return; } if (Menu.GetBool("LaneClearW") && W.IsReady()) { if (Args.Target.Type == GameObjectType.obj_AI_Turret || Args.Target.Type == GameObjectType.obj_Turret || Args.Target.Type == GameObjectType.obj_LampBulb) { if (!Args.Target.IsDead) { W.Cast(); } } else { var minion = (Obj_AI_Minion)Args.Target; if (minion != null && minion.Health <= DamageCalculate.GetWDamage(minion)) { W.Cast(); Orbwalker.ForceTarget(minion); } } } }
internal static void Init() { if (Menu.GetBool("KillStealQ") && Q.IsReady()) { foreach ( var target in HeroManager.Enemies.Where(x => x.Check(Q.Range) && x.Health < DamageCalculate.GetQDamage(x))) { if (target.IsValidTarget(Q.Range)) { Q.CastOnUnit(target, true); } } } if (Menu.GetBool("KillStealE") && E.IsReady()) { foreach ( var target in HeroManager.Enemies.Where(x => x.Check(E.Range + EWidth) && x.Health < DamageCalculate.GetEDamage(x))) { if (target.IsValidTarget(E.Range + EWidth - 100)) { SpellManager.CastE(target); } } } }
internal static void Init() { if (ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) && ManaManager.SpellFarm) { var minions = MinionManager.GetMinions(Me.Position, Q.Range); if (minions.Any()) { if (Menu.GetBool("LaneClearQ") && Q.IsReady() && minions.Count >= Menu.GetSlider("LaneClearQCount")) { Q.Cast(true); } if (Menu.GetBool("LaneClearW") && W.IsReady()) { var minion = minions.FirstOrDefault(x => x.Health <= DamageCalculate.GetWDamage(x)); if (minion != null) { W.Cast(true); Orbwalker.ForceTarget(minion); } } } } }
/// <summary> /// R 技能鑄造 /// </summary> /// <param name="useR"></param> private static void RCast(bool useR, bool useIgnite) { var target = TargetSelector.GetSelectedTarget() ?? TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); var comboDmg = target != null?Common.DamageCalculate.GetComboDamage(target) : 0; if (target != null && useR) { useR = (Menu.Item("DontUlt" + target.ChampionName.ToLower()) != null && Menu.Item("DontUlt" + target.ChampionName.ToLower()).GetValue <bool>() == false); } if (target != null && useR && comboDmg > target.Health && !target.IsZombie && !Q.IsReady()) { R.Cast(target); } // 點燃鑄造 if (target != null && useIgnite && Ignite != SpellSlot.Unknown && Ignite.IsReady()) { if (DamageCalculate.GetIgniteDmage(target) > target.Health) { player.Spellbook.CastSpell(Ignite, target); } } }
private static void Combo() { if (ComboMenu["ComboQ"].Cast <CheckBox>().CurrentValue&& Q.IsReady()) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (target.IsValidTarget(Q.Range) && ComboMenu["ComboQ" + target.ChampionName].Cast <CheckBox>().CurrentValue&& !HaveShiled(target)) { CastQ(target); } } if (ComboMenu["ComboW"].Cast <CheckBox>().CurrentValue&& W.IsReady()) { if ((EntityManager.Heroes.Enemies.Any(x => x.IsValidTarget(Q.Range)) && !Q.IsReady()) || Player.HasBuffOfType(BuffType.Slow)) { Player.Instance.Spellbook.CastSpell(SpellSlot.W); } } if (ComboMenu["ComboE"].Cast <CheckBox>().CurrentValue&& E.IsReady()) { var target = TargetSelector.GetTarget(Player.Instance.GetAutoAttackRange() + 65, DamageType.Physical); if (target.IsValidTarget() && !Q.IsReady()) { Player.Instance.Spellbook.CastSpell(SpellSlot.E); Orbwalker.ForcedTarget = target; } } if (ComboMenu["ComboR"].Cast <CheckBox>().CurrentValue&& R.IsReady()) { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (target.IsValidTarget(R.Range) && target.HasBuff("rocketgrab2")) { Player.Instance.Spellbook.CastSpell(SpellSlot.R); } else if (target.IsValidTarget(R.Range) && target.Health < DamageCalculate.GetRDamage(target) && !IsUnKillable(target)) { Player.Instance.Spellbook.CastSpell(SpellSlot.R); } else if (Player.Instance.CountEnemyChampionsInRange(R.Range) >= 3) { Player.Instance.Spellbook.CastSpell(SpellSlot.R); } else if (Player.Instance.CountEnemyChampionsInRange(R.Range) >= 2 && Player.Instance.IsMelee) { Player.Instance.Spellbook.CastSpell(SpellSlot.R); } } }
private static void Combo() { if (MenuInit.ComboEDash && E.IsReady()) { var target = TargetSelector.GetTarget(Player.Instance.GetAutoAttackRange() + E.Range, DamageType.Physical); if (target.IsValidTarget(Player.Instance.GetAutoAttackRange() + E.Range) && !target.IsValidTarget(Player.Instance.GetAutoAttackRange())) { ELogic(target, 0); } } if (MenuInit.ComboQExtend && QExtend.IsReady() && !Player.Instance.IsDashing() && !havePassive && !havePassiveBuff) { var target = TargetSelector.GetTarget(QExtend.Range, DamageType.Physical); if (target.IsValidTarget(QExtend.Range) && !target.IsValidTarget(Q.Range)) { QLogic(target); } } if (MenuInit.ComboR && R.IsReady()) { var target = TargetSelector.GetTarget(R.Range, DamageType.Physical); if (target.IsValidTarget(R.Range) && !target.IsUnKillable() && !Player.Instance.IsUnderEnemyturret() && !target.IsValidTarget(Player.Instance.GetAutoAttackRange())) { if (EntityManager.Heroes.Enemies.Any(x => x.NetworkId != target.NetworkId && x.Distance(target) <= 550)) { return; } var rAmmo = new float[] { 20, 25, 30 }[Player.Instance.Spellbook.GetSpell(SpellSlot.R).Level - 1]; var rDMG = DamageCalculate.GetRDamage(target) * rAmmo; if (target.Health + target.HPRegenRate * 3 < rDMG) { if (target.DistanceToPlayer() <= 800 && target.Health < rDMG * 0.6) { R.Cast(target); return; } if (target.DistanceToPlayer() <= 1000 && target.Health < rDMG * 0.4) { R.Cast(target); } } } } }
internal static void Init() { if (ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) && ManaManager.SpellFarm) { if (Menu.GetBool("LaneClearQ") && Q.IsReady()) { var qMinion = MinionManager.GetMinions(Me.Position, Q.Range) .FirstOrDefault( x => x.Health <DamageCalculate.GetQDamage(x) && x.Health> Me.GetAutoAttackDamage(x)); if (qMinion != null && qMinion.IsValidTarget(Q.Range)) { Q.CastOnUnit(qMinion, true); } } if (Menu.GetBool("LaneClearE") && E.IsReady()) { var eMinions = MinionManager.GetMinions(Me.Position, E.Range + EWidth); if (eMinions.Any()) { var eMinion = eMinions.FirstOrDefault(x => x.IsValidTarget(E.Range)); var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); if (target != null && target.IsValidTarget(E.Range)) { var exEMinions = MinionManager.GetMinions(target.Position, E.Range); var eFarm = SpellManager.GetBestLineFarmLocation( exEMinions.Select(x => x.Position.To2D()).ToList(), target.Position, E.Width, EWidth); if (eFarm.MinionsHit + 1 >= Menu.GetSlider("LaneClearECount")) { SpellManager.FixECast(target.Position, eFarm.Position.To3D()); } } else if (eMinion != null) { var exEMinions = MinionManager.GetMinions(eMinion.Position, E.Range); var eFarm = SpellManager.GetBestLineFarmLocation( exEMinions.Select(x => x.Position.To2D()).ToList(), eMinion.Position, E.Width, EWidth); if (eFarm.MinionsHit >= Menu.GetSlider("LaneClearECount")) { SpellManager.FixECast(eMinion.Position, eFarm.Position.To3D()); } } } } } }
internal static void R2Logic(Obj_AI_Hero target) { if (target == null || R.Instance.Name == "RivenFengShuiEngine") { return; } if (target.Check(850)) { switch (Menu.GetList("R2Mode")) { case 0: if (DamageCalculate.GetRDamage(target) > target.Health && target.DistanceToPlayer() < 600) { var pred = R.GetPrediction(target, true); if (pred.Hitchance >= HitChance.VeryHigh) { R.Cast(pred.CastPosition, true); } } break; case 1: if (target.HealthPercent < 20 || (target.Health > DamageCalculate.GetRDamage(target) + Me.GetAutoAttackDamage(target) * 2 && target.HealthPercent < 40) || (target.Health <= DamageCalculate.GetRDamage(target)) || (target.Health <= DamageCalculate.GetComboDamage(target) * 1.3)) { var pred = R.GetPrediction(target, true); if (pred.Hitchance >= HitChance.VeryHigh) { R.Cast(pred.CastPosition, true); } } break; case 2: if (target.DistanceToPlayer() < 600) { var pred = R.GetPrediction(target, true); if (pred.Hitchance >= HitChance.VeryHigh) { R.Cast(pred.CastPosition, true); } } break; } } }
internal static void Init() { var target = TargetSelector.GetSelectedTarget() ?? TargetSelector.GetTarget(900, TargetSelector.DamageType.Physical); if (target.Check(900f)) { if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() && DamageCalculate.GetComboDamage(target) > target.Health) { Me.Spellbook.CastSpell(Ignite, target); return; } if (Menu.GetBool("ComboE") && E.IsReady() && Me.CanMoveMent() && target.DistanceToPlayer() <= 650 && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 100) { EDash(target); } if (Menu.GetBool("ComboQ") && Q.IsReady() && Me.CanMoveMent() && qStack == 0 && target.DistanceToPlayer() <= Q.Range + Orbwalking.GetRealAutoAttackRange(Me) && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 && Utils.TickCount - lastQTime > 900) { if (!Me.IsDashing()) { SpellManager.CastQ(target); } } if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range) && !target.HasBuffOfType(BuffType.SpellShield)) { WLogic(target); } if (Menu.GetBool("ComboR") && R.IsReady()) { if (Menu.GetKey("R1Combo") && R.Instance.Name == "RivenFengShuiEngine" && !E.IsReady()) { if (target.DistanceToPlayer() < 500 && Me.CountEnemiesInRange(500) >= 1) { R.Cast(true); } } else if (R.Instance.Name == "RivenIzunaBlade") { SpellManager.R2Logic(target); } } } }
internal static void Init() { var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (target.Check(Q.Range)) { if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() && target.IsValidTarget(600) && (target.Health < DamageCalculate.GetComboDamage(target) || target.Health < Me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite))) { Me.Spellbook.CastSpell(Ignite, target); } if (Menu.Item("ComboR", true).GetValue <bool>() && R.IsReady() && target.IsValidTarget(R.Range) && !SpellManager.HaveBear) { var rPred = R.GetPrediction(target, true); if (rPred.Hitchance >= HitChance.VeryHigh) { if (rPred.AoeTargetsHitCount >= Menu.GetSlider("ComboRCount") && SpellManager.HaveStun) { R.Cast(rPred.CastPosition, true); } if (target.Health < DamageCalculate.GetComboDamage(target)) { if (SpellManager.BuffCounts == 3 && Menu.GetBool("ComboE") && E.IsReady()) { E.Cast(); } R.Cast(rPred.CastPosition, true); } } } if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range) && ((R.IsReady() && SpellManager.HaveBear) || !R.IsReady() || (target.Health > DamageCalculate.GetComboDamage(target) && SpellManager.HaveStun))) { Q.CastOnUnit(target, true); } if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range - 50) && ((R.IsReady() && SpellManager.HaveBear) || !R.IsReady() || (target.Health > DamageCalculate.GetComboDamage(target) && SpellManager.HaveStun))) { W.Cast(target.Position, true); } } }
internal static void Init() { if (Menu.GetKey("EnableFlashR")) { Orbwalking.MoveTo(Game.CursorPos); foreach (var target in HeroManager.Enemies.Where(em => em.Check(R.Range + 425f))) { if (E.IsReady() && !SpellManager.HaveStun) { E.Cast(); } var RPred = R.GetPrediction(target, true); var RHitCount = R.GetPrediction(target, true).AoeTargetsHitCount; if (RPred.Hitchance >= HitChance.High && SpellManager.HaveStun) { if (Me.CountAlliesInRange(1000) >= Menu.GetSlider("FlashRCountsAlliesinRange") && Me.CountEnemiesInRange(R.Range + 425) >= Menu.GetSlider("FlashRCountsEnemiesinRange") && RHitCount >= Menu.GetSlider("FlashRCountsEnemiesinRange")) { Me.Spellbook.CastSpell(Flash, R.GetPrediction(target, true).CastPosition); if (!Flash.IsReady()) { R.Cast(R.GetPrediction(target, true).CastPosition, true); } } if (Menu.GetBool("FlashRCanKillEnemy") && Me.CountEnemiesInRange(R.Range + 425) == 1 && Q.IsReady() && Ignite.IsReady() && target.Health < DamageCalculate.GetComboDamage(target)) { Me.Spellbook.CastSpell(Flash, R.GetPrediction(target, true).CastPosition); if (!Flash.IsReady()) { R.Cast(R.GetPrediction(target, true).CastPosition, true); Me.Spellbook.CastSpell(Ignite, target); Q.Cast(target, true); } } if (Menu.GetBool("FlashRCanKillEnemy") && Me.CountEnemiesInRange(R.Range + 425) == 1 && Q.IsReady() && target.Health < DamageCalculate.GetComboDamage(target)) { Me.Spellbook.CastSpell(Flash, R.GetPrediction(target, true).CastPosition); if (!Flash.IsReady()) { R.Cast(R.GetPrediction(target, true).CastPosition, true); Q.Cast(target, true); } } } } } }
private static void ComboLogic() { var target = TargetSelector.GetSelectedTarget() ?? TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (target != null && !target.IsDead && !target.IsZombie && target.IsHPBarRendered) { if (Menu.Item("ComboQ").GetValue <bool>() && Q.IsReady() && target.IsValidTarget(Q.Range) && Q.CanCast(target)) { Q.Cast(true); } if (Menu.Item("ComboW").GetValue <bool>() && W.IsReady()) { if (player.HealthPercent <= Menu.Item("WM").GetValue <Slider>().Value) { W.Cast(true); } var ally = HeroManager.Allies.Where( x => x.IsValidTarget(W.Range) && x.HealthPercent <= Menu.Item("WA").GetValue <Slider>().Value).FirstOrDefault(); if (ally != null) { W.Cast(true); } } if (Menu.Item("ComboR").GetValue <bool>() && R.IsReady() && target.IsValidTarget(R.Range)) { if (target.Health <= DamageCalculate.GetRDamage(target) + player.GetAutoAttackDamage(target) * 2) { R.Cast(target); } else { R.CastIfWillHit(target, Menu.Item("RComboMin").GetValue <Slider>().Value, true); } } if (Menu.Item("IgniteCombo").GetValue <bool>() && Ignite != SpellSlot.Unknown && Ignite.IsReady()) { if (DamageCalculate.GetIgniteDmage(target) > target.Health) { player.Spellbook.CastSpell(Ignite, target); } } } }
private static void JungleSteal() { var mobs = ObjectManager.Get <Obj_AI_Minion>() .Where( x => x != null && x.IsMonster && x.Distance(Player.Instance) <= 950 && !x.Name.ToLower().Contains("mini") && !x.Name.ToLower().Contains("respawn") && !x.Name.ToLower().Contains("plant")) .OrderBy(x => x.MaxHealth); foreach (var mob in mobs) { if (mob.Distance(Player.Instance) > (Q.IsReady() ? Q.Range : R.IsReady() ? R.Range : 1000)) { continue; } if (JungleStealMenu["JungleAlly"].Cast <CheckBox>().CurrentValue&& EntityManager.Heroes.Allies.Any( x => !x.IsDead && !x.IsMe && x.Distance(mob) <= JungleStealMenu["JungleAllyRange"].Cast <Slider>().CurrentValue)) { continue; } if (JungleStealMenu[mob.CharData.BaseSkinName] != null && JungleStealMenu[mob.CharData.BaseSkinName].Cast <CheckBox>().CurrentValue) { if (JungleStealMenu["JungleR"].Cast <CheckBox>().CurrentValue&& mob.Distance(Player.Instance) <= R.Range && mob.Health <= DamageCalculate.GetRDamage(mob)) { Player.Instance.Spellbook.CastSpell(SpellSlot.R); } else if (JungleStealMenu["JungleQ"].Cast <CheckBox>().CurrentValue&& mob.Distance(Player.Instance) <= Q.Range && mob.Health <= DamageCalculate.GetQDamage(mob)) { var Pred = Q.GetPrediction(mob); if (Pred.HitChance == HitChance.High && !Pred.CollisionObjects.Any()) { Q.Cast(mob.Position); } } } } }
internal static void InitTick() { if (MenuInit.KillStealR && isRActive && R1.IsReady()) { foreach ( var target in EntityManager.Heroes.Enemies.Where( x => x.IsValidRange(R.Range) && DamageCalculate.GetRDamage(x) > x.Health && !x.IsUnKillable())) { if (target.IsValidRange(R.Range - 100) && !target.IsValidRange(500)) { R1.Cast(target.Position); } } } }
internal static void Init() { if (SpellManager.isCastingUlt) { return; } var target = TargetSelector.GetTarget(E.Range + 300f, TargetSelector.DamageType.Magical); if (target.Check(E.Range + 300f)) { if (Menu.GetBool("ComboDot") && Ignite != SpellSlot.Unknown && Ignite.IsReady() && target.IsValidTarget(600) && (target.Health < DamageCalculate.GetComboDamage(target) || target.Health < Me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite))) { Me.Spellbook.CastSpell(Ignite, target); } switch (Menu.GetList("ComboMode")) { case 0: SpellManager.QEWLogic(Menu.GetBool("ComboQ"), Menu.GetBool("ComboW"), Menu.GetBool("ComboE")); break; case 1: SpellManager.EQWLogic(Menu.GetBool("ComboQ"), Menu.GetBool("ComboW"), Menu.GetBool("ComboE")); break; } if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range)) { W.Cast(); } if (Menu.GetBool("ComboR") && R.IsReady() && HeroManager.Enemies.Any(x => x.DistanceToPlayer() <= R.Range) && !Q.IsReady() && !W.IsReady() && !E.IsReady()) { Orbwalker.SetAttack(false); Orbwalker.SetMovement(false); R.Cast(); } } }
internal static void Init() { if (ManaManager.HasEnoughMana(Menu.GetSlider("LastHitMana"))) { if (Menu.GetBool("LastHitQ") && Q.IsReady()) { var qMinions = MinionManager.GetMinions(Me.Position, Q.Range) .FirstOrDefault( x => x.Health > Me.GetAutoAttackDamage(x) && x.Health < DamageCalculate.GetQDamage(x)); if (qMinions != null && qMinions.IsValidTarget(Q.Range)) { Q.CastOnUnit(qMinions, true); } } } }
internal static void Init() { if (SpellManager.isCastingUlt) { return; } if (Menu.GetBool("LastHitQ") && Q.IsReady()) { var qMinion = MinionManager.GetMinions(Me.Position, Q.Range) .FirstOrDefault(x => x.Health < DamageCalculate.GetQDamage(x)); if (qMinion != null && qMinion.IsValidTarget(Q.Range)) { Q.CastOnUnit(qMinion, true); } } }
//攻撃を受けたとき public void ReceiveAttack(DamageCalculate d) { if (d.SendBuff1 != null) { if (AwakeBuff_HP.Contains(d.SendBuff1) == false) { AwakeBuff_HP.Add(d.SendBuff1); } } if (d.SendBuff2 != null) { if (AwakeBuff_N.Contains(d.SendBuff2) == false) { AwakeBuff_N.Add(d.SendBuff2); //Debug.Log("www"); } } //OnDefeated();//イベント送信 _parameter.HP = _parameter.HP - (d.ATKPOWER - (_parameter.DEF + (int)BuffMathFunc(Buff_Others.Kind.DEF))); }
internal static void Init() { if (SpellManager.isCastingUlt || !ManaManager.SpellFarm) { return; } if (Menu.GetBool("LaneClearQ") && Q.IsReady()) { if (Menu.GetBool("LaneClearQLH")) { var qMinion = MinionManager.GetMinions(Me.Position, Q.Range) .FirstOrDefault(x => x.Health < DamageCalculate.GetQDamage(x)); if (qMinion != null && qMinion.IsValidTarget(Q.Range)) { Q.CastOnUnit(qMinion, true); } } else { var qMinions = MinionManager.GetMinions(Me.Position, Q.Range); if (qMinions.Count >= 2) { Q.CastOnUnit(qMinions.FirstOrDefault(), true); } } } if (Menu.GetBool("LaneClearW") && W.IsReady()) { var wMinions = MinionManager.GetMinions(Me.Position, W.Range); if (wMinions.Count >= Menu.GetSlider("LaneClearWCount")) { W.Cast(); } } }
internal static void Init() { foreach (var target in HeroManager.Enemies.Where(x => x.IsValidTarget(R.Range))) { if (target.Check(R.Range + E.Range - 100)) { if (W.IsReady() && Menu.GetBool("KillStealW") && target.IsValidTarget(W.Range) && target.Health < DamageCalculate.GetWDamage(target)) { W.Cast(true); } if (R.IsReady() && Menu.GetBool("KillStealR") && R.Instance.Name == "RivenIzunaBlade" && DamageCalculate.GetRDamage(target) > target.Health + target.HPRegenRate) { if (E.IsReady() && Menu.GetBool("KillStealE")) { if (Me.ServerPosition.CountEnemiesInRange(R.Range + E.Range) < 3 && Me.HealthPercent > 50 && target.IsValidTarget(R.Range + E.Range - 100)) { if (E.IsReady()) { E.Cast(target.Position, true); LeagueSharp.Common.Utility.DelayAction.Add(100, () => R.CastIfHitchanceEquals(target, HitChance.High, true)); } } } else { if (target.IsValidTarget(R.Range - 50)) { R.CastIfHitchanceEquals(target, HitChance.High, true); } } } } } }
internal static void Init() { if (Menu.GetBool("KillStealR") && R.IsReady()) { if (Menu.GetBool("KillStealRNotCombo") && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { return; } foreach ( var target in HeroManager.Enemies.Where( x => x.DistanceToPlayer() <= R.Range && x.Health <= DamageCalculate.GetRDamage(x) && !x.HasBuff("willrevive"))) { if (target.DistanceToPlayer() <= R.Range && !target.IsDead && Me.CanMoveMent()) { R.CastOnUnit(target, true); } } } if (Menu.GetBool("KillStealQ") && Q.IsReady()) { foreach ( var target in HeroManager.Enemies.Where( x => x.DistanceToPlayer() <= Q.Range && x.Health <= DamageCalculate.GetQDamage(x))) { if (target.IsValidTarget(Q.Range) && !target.IsDead && Me.CanMoveMent()) { Q.Cast(true); return; } } } }
internal static bool R2Logic(AIHeroClient target) { if (!target.IsValidRange() || R.Name == "RivenFengShuiEngine" || MenuInit.ComboR2 == 3) { return(false); } switch (MenuInit.ComboR2) { case 0: if (target.HealthPercent < 20 || (target.Health > DamageCalculate.GetRDamage(target) + Player.Instance.GetAutoAttackDamage(target) * 2 && target.HealthPercent < 40) || (target.Health <= DamageCalculate.GetRDamage(target)) || (target.Health <= DamageCalculate.GetComboDamage(target))) { return(R1.Cast(target.Position)); } break; case 1: if (DamageCalculate.GetRDamage(target) > target.Health && target.DistanceToPlayer() < 600) { return(R1.Cast(target.Position)); } break; case 2: if (target.DistanceToPlayer() < 600) { return(R1.Cast(target.Position)); } break; } return(false); }
internal static bool CanQHit(Obj_AI_Hero target) { if (target == null) { return(false); } if (target.DistanceToPlayer() > Q.Range) { return(false); } if (target.DistanceToPlayer() <= 240) { return(false); } if (target.Health < DamageCalculate.GetRDamage(target) && R.IsReady() && target.IsValidTarget(R.Range)) { return(false); } return(true); }
internal static void Init() { CanShield = ((Menu.GetList("ComboMode") == 0 && Me.HealthPercent <= Menu.GetSlider("ComboShieldHP")) || Menu.GetList("ComboMode") == 1) && Q.Level > 0 && W.Level > 0 && E.Level > 0; var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (target.Check(Q.Range)) { if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() && target.IsValidTarget(600) && (target.Health < DamageCalculate.GetComboDamage(target) || target.Health < Me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite))) { Me.Spellbook.CastSpell(Ignite, target); } if (Utils.TickCount - LastCastTime > 500) { switch (Menu.GetList("ComboMode")) { case 0: NormalCombo(target, Menu.GetBool("ComboQ"), Menu.GetBool("ComboW"), Menu.GetBool("ComboE")); break; case 1: ShieldCombo(target, Menu.GetBool("ComboQ"), Menu.GetBool("ComboW"), Menu.GetBool("ComboE")); break; default: BurstCombo(target, Menu.GetBool("ComboQ"), Menu.GetBool("ComboW"), Menu.GetBool("ComboE")); break; } } } }
internal static void InitTick() { var target = TargetSelector.GetTarget(EntityManager.Heroes.Enemies.Where(x => x.IsValidRange(800f)), DamageType.Physical); if (target != null && target.IsValidRange(800f)) { if (MenuInit.ComboDot && Ignite != SpellSlot.Unknown && Player.Instance.Spellbook.GetSpell(Ignite).IsReady&& target.IsValidRange(600) && ((target.Health < DamageCalculate.GetComboDamage(target) && target.IsValidRange(400)) || target.Health < DamageCalculate.GetIgniteDmage(target)) && Player.Instance.Spellbook.CastSpell(Ignite, target)) { return; } if (MenuInit.ComboYoumuu && Item.HasItem(3142) && Item.CanUseItem(3142) && target.IsValidRange(580) && Item.UseItem(3142)) { return; } if (MenuInit.ComboR1 && R.IsReady() && !isRActive && target.Health <= DamageCalculate.GetComboDamage(target) * 1.3 && target.IsValidRange(600f) && R1Logic(target)) { return; } if (MenuInit.ComboR2 != 3 && R.IsReady() && isRActive && R2Logic(target)) { return; } if (MenuInit.ComboQGap && Q.IsReady() && Environment.TickCount - lastQTime > 1200 && !Player.Instance.IsDashing() && target.IsValidRange(480) && target.DistanceToPlayer() > Player.Instance.GetAutoAttackRange() + Player.Instance.BoundingRadius + 50 && Prediction.Position.PredictUnitPosition(target, 1).DistanceToPlayer() > Player.Instance.GetAutoAttackRange() + 50) { CastQ(target); return; } if (MenuInit.ComboEGap && E.IsReady() && target.IsValidRange(600) && target.DistanceToPlayer() > Player.Instance.GetAutoAttackRange() + Player.Instance.BoundingRadius + 50) { Player.Instance.Spellbook.CastSpell(SpellSlot.E, target.Position); return; } if (MenuInit.ComboWLogic && W.IsReady() && target.IsValidRange(W.Range)) { if (qStack == 0 && Player.Instance.Spellbook.CastSpell(SpellSlot.W)) { return; } if (Q.IsReady() && qStack > 1 && Player.Instance.Spellbook.CastSpell(SpellSlot.W)) { return; } if (Player.Instance.HasBuff("RivenFeint") && Player.Instance.Spellbook.CastSpell(SpellSlot.W)) { return; } if (!target.IsFacing(Player.Instance)) { Player.Instance.Spellbook.CastSpell(SpellSlot.W); } } } }
internal static void Init() { var target = TargetSelector.GetTarget(600f, TargetSelector.DamageType.Physical); if (target != null) { if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() && target.DistanceToPlayer() <= 600f && (target.Health < DamageCalculate.GetComboDamage(target) || target.Health < DamageCalculate.GetIgniteDmage(target))) { Me.Spellbook.CastSpell(Ignite, target); } if (HeroManager.Enemies.Any(x => x.DistanceToPlayer() <= 400)) { SpellManager.CastItem(); } if (Menu.GetKey("ComboR") && R.IsReady()) { foreach (var rTarget in HeroManager.Enemies.Where(x => x.DistanceToPlayer() <= R.Range && x.Health <= DamageCalculate.GetRDamage(x) && !x.HasBuff("willrevive"))) { if (rTarget.IsValidTarget(R.Range)) { R.CastOnUnit(target, true); } } } if (Menu.GetBool("ComboQLock") && Me.HasBuff("dariusqcast") && Me.CountEnemiesInRange(800) < 3) { Orbwalker.SetMovement(false); Orbwalker.SetAttack(false); if (target.DistanceToPlayer() <= 250) { EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Me.Position.Extend(target.Position, -Q.Range)); } else if (target.DistanceToPlayer() <= Q.Range) { EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); } else { EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, target.Position); } } else { Orbwalker.SetMovement(true); Orbwalker.SetAttack(true); } if (Menu.GetBool("ComboQ") && Q.IsReady() && target.DistanceToPlayer() <= Q.Range && SpellManager.CanQHit(target) && Me.CanMoveMent()) { if (Menu.GetBool("ComboSaveMana") && Me.Mana < SpellManager.RMana + Q.Instance.SData.Mana) { return; } if (Utils.TickCount - lastETime > 1000) { Q.Cast(true); } } if (Menu.GetBool("ComboE") && E.IsReady() && target.DistanceToPlayer() <= E.Range - 30 && !Orbwalking.InAutoAttackRange(target) && !target.HaveShiled()) { if (Menu.GetBool("ComboSaveMana") && Me.Mana < SpellManager.RMana + Q.Instance.SData.Mana) { return; } var pred = E.GetPrediction(target); E.Cast(pred.UnitPosition, true); } } }
private void Combo() { var target = TargetSelector.GetSelectedTarget() ?? TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical); if (target.Check(QExtend.Range)) { if (Menu.GetBool("ComboR") && R.IsReady() && target.IsValidTarget(R.Range)) { if (Menu.GetBool("RSafe") && !Me.UnderTurret(true)) { foreach ( var rTarget in HeroManager.Enemies.Where( x => x.IsValidTarget(R.Range) && !Menu.GetBool("Dontr" + target.ChampionName.ToLower())) .OrderByDescending(x => E.IsReady() ? E.GetDamage(x) : 0 + Q.GetDamage(x) * 2)) { if (rTarget.CountEnemiesInRange(R.Range) <= Menu.GetSlider("RSwap")) { if (Menu.GetBool("RAlly") && Me.UnderAllyTurret() && rTarget.DistanceToPlayer() <= 350) { R.CastOnUnit(rTarget); } if (Menu.GetBool("RKill") && target.Health < DamageCalculate.GetComboDamage(target)) { R.CastOnUnit(rTarget); } } } } } if (Menu.GetBool("ComboE") && E.IsReady() && target.IsValidTarget(E.Range) && (Q.IsReady() || target.Health < E.GetDamage(target))) { SpellManager.PredCast(E, target, true); } if (Menu.GetBool("ComboW") && W.IsReady()) { if (target.DistanceToPlayer() <= Orbwalking.GetRealAutoAttackRange(Me)) { if (Menu.GetBool("ComboWAlways")) { W.Cast(); } if (Me.HealthPercent <= Menu.GetSlider("ComboWLowHp")) { W.Cast(); } } if (Menu.GetBool("ComboWBuff") && HaveEBuff(target) && Q.IsReady()) { W.Cast(); } } if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(QExtend.Range)) { if (!HaveEBuff(target) && target.IsValidTarget(Q.Range)) { if (Menu.GetBool("ComboFirstE") && E.IsReady() && Menu.GetBool("ComboE") && target.IsValidTarget(E.Range)) { SpellManager.PredCast(E, target, true); } else { SpellManager.PredCast(Q, target); } } else if (target.IsValidTarget(QExtend.Range) && HaveEBuff(target)) { QExtend.Cast(target); } } } }
internal static void Init() { AIHeroClient target = null; target = TargetSelector.GetSelectedTarget() ?? TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (target.Check(Q.Range)) { if (Menu.GetBool("ComboDot") && Ignite != SpellSlot.Unknown && Ignite.IsReady() && target.IsValidTarget(600) && (target.Health < DamageCalculate.GetComboDamage(target) || target.Health < Me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite))) { Me.Spellbook.CastSpell(Ignite, target); } if (Me.Level < 6) { if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range)) { var qPred = Q.GetPrediction(target, true); if (qPred.Hitchance >= HitChance.VeryHigh) { Q.Cast(qPred.CastPosition, true); } } if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range)) { W.Cast(true); } if (Menu.GetBool("ComboE") && E.IsReady() && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 && target.IsValidTarget(E.Range - 30) && !target.HasBuffOfType(BuffType.SpellShield)) { E.Cast(true); } } else { switch (Menu.GetList("ComboMode")) { case 0: if (Menu.GetBool("ComboR") && R.IsReady() && Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(R.Range) && target.DistanceToPlayer() >= 600) { Q.Cast(target, true); R.Cast(target, true); } if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range)) { var qPred = Q.GetPrediction(target, true); if (qPred.Hitchance >= HitChance.VeryHigh) { Q.Cast(qPred.CastPosition, true); } } if (Menu.GetBool("ComboR") && R.IsReady() && target.IsValidTarget(R.Range)) { LogicCast(target); } if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range)) { W.Cast(true); } if (Menu.GetBool("ComboE") && E.IsReady() && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 && target.IsValidTarget(E.Range - 30) && !target.HasBuffOfType(BuffType.SpellShield)) { E.Cast(true); } break; case 1: if (target.IsValidTarget(R.Range)) { if (Menu.GetBool("ComboR") && R.IsReady() && Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(R.Range) && target.DistanceToPlayer() >= Menu.GetSlider("MisayaRange")) { R.Cast(target, true); Q.Cast(target, true); } if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range)) { var qPred = Q.GetPrediction(target, true); if (qPred.Hitchance >= HitChance.VeryHigh) { Q.Cast(qPred.CastPosition, true); } } if (Menu.GetBool("ComboR") && R.IsReady() && target.IsValidTarget(R.Range)) { LogicCast(target); } if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range)) { W.Cast(true); } if (Menu.GetBool("ComboE") && E.IsReady() && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 && target.IsValidTarget(E.Range - 30) && !target.HasBuffOfType(BuffType.SpellShield)) { E.Cast(true); } } break; } } } }
private static void KillSteal() { if (MenuInit.KillStealQ && Q.IsReady() && PlayerMana > QMana + EMana) { foreach (var target in EntityManager.Heroes.Enemies .Where(x => x.IsValidTarget(QExtend.Range) && !x.IsUnKillable() && x.Health < DamageCalculate.GetQDamage(x))) { QLogic(target); return; } } if (MenuInit.KillStealW && W.IsReady() && PlayerMana > WMana + QMana + EMana) { foreach (var target in EntityManager.Heroes.Enemies .Where(x => x.IsValidTarget(W.Range) && !x.IsUnKillable() && x.Health < DamageCalculate.GetWDamage(x))) { if (target.IsValidTarget(W.Range)) { W.PredCast(target, false); return; } } } }
internal static bool CanCastE(Vector3 pos, AIHeroClient target) { if (pos == Vector3.Zero || target == null || target.IsDead) { return(false); } if (Menu.GetList("Eturret") == 0 && pos.UnderTurret(true)) { return(false); } if (Menu.GetList("Eturret") == 1 && pos.UnderTurret(true)) { if (Me.HealthPercent <= Menu.GetSlider("EturretHP") && target.Health > DamageCalculate.GetComboDamage(target) * 0.85) { return(false); } } if (Menu.GetBool("LogicE")) { if (HeroManager.Enemies.Count(x => x.Distance(pos) <= R.Range) >= 3) { if (HeroManager.Enemies.Count(x => x.Distance(pos) <= R.Range) == 3) { if (HeroManager.Enemies.Count(x => x.Health < DamageCalculate.GetComboDamage(target) * 1.45) <= 2) { return(false); } } else if (HeroManager.Enemies.Count(x => x.Distance(pos) <= R.Range) == 4) { if (HeroManager.Enemies.Count(x => x.Health < DamageCalculate.GetComboDamage(target) * 1.45) < 2) { return(false); } } else if (HeroManager.Enemies.Count(x => x.Distance(pos) <= R.Range) == 5) { if (HeroManager.Enemies.Count(x => x.Health < DamageCalculate.GetComboDamage(target) * 1.45) < 3) { return(false); } } } else { if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { if (target.Health > (HeroManager.Allies.Any(x => x.DistanceToPlayer() <= E.Range) ? DamageCalculate.GetComboDamage(target) + Me.Level * 45 : DamageCalculate.GetComboDamage(target))) { return(false); } } else if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { if (pos.UnderTurret(true)) { return(false); } } } } return(true); }