// } private static void SpecialUlt() { Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); var target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); if (GetOrbCount() == Config.Item("SpheresNumber").GetValue <Slider>().Value) { R.Cast(target); } if (Config.Item("SpheresNumber").GetValue <Slider>().Value == 4) { Q.Cast(Player.Position); } if (Config.Item("SpheresNumber").GetValue <Slider>().Value == 5) { if (Q.IsReady() && GetOrbCount() < 5) { Q.Cast(Player.Position); } } if (Config.Item("SpheresNumber").GetValue <Slider>().Value == 6) { if (Q.IsReady() && GetOrbCount() < 6) { Q.Cast(Player.Position); var sphere = GetGrabableObjectPos(true); if (sphere.To2D().IsValid() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 300) { W.Cast(sphere); W.LastCastAttemptT = Utils.TickCount; } else if (target != null && Player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1 && W.IsReady() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 100) { if (OrbManager.WObject(false) != null) { W.From = OrbManager.WObject(false).ServerPosition; W.Cast(Player, false, true); } } } } if (Config.Item("SpheresNumber").GetValue <Slider>().Value == 7) { if (Q.IsReady() && GetOrbCount() < 5) { Q.Cast(Player.Position); } var sphere = GetGrabableObjectPos(true); if (sphere.To2D().IsValid() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 300) { W.Cast(sphere); W.LastCastAttemptT = Utils.TickCount; } else if (target != null && Player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1 && W.IsReady() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 100) { if (OrbManager.WObject(false) != null) { W.From = OrbManager.WObject(false).ServerPosition; W.Cast(Player, false, true); } } if (Q.IsReady() && GetOrbCount() > 7) { Q.Cast(Player.Position); } } }
private static void Combo() { var target = TargetSelector.GetTarget(1300, TargetSelector.DamageType.Magical); if (Q.IsReady() && (Config.Item("UseQCombo").GetValue <bool>())) { var Qprediction = Q.GetPrediction(target); if (Qprediction.Hitchance >= HitChance.VeryHigh) { Q.Cast(Qprediction.CastPosition); } } if (Player.Spellbook.GetSpell(SpellSlot.W).ToggleState == 1 && W.IsReady()) { var WGrabObject = GetGrabableObjectPos(target == null); if (WGrabObject.To2D().IsValid() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 300) { W.Cast(WGrabObject); W.LastCastAttemptT = Utils.TickCount; } else if (target != null && Player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1 && W.IsReady() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 100) { if (OrbManager.WObject(false) != null) { W.From = OrbManager.WObject(false).ServerPosition; W.Cast(target, false, true); } } } else if (target != null && Player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1 && W.IsReady() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 100) { if (OrbManager.WObject(false) != null) { W.From = OrbManager.WObject(false).ServerPosition; W.Cast(target, false, true); } } if (E.IsReady() && (Config.Item("UseECombo").GetValue <bool>())) { foreach (var orb in OrbManager.GetOrbs(true)) { if (Player.Distance(orb) < E.Range + 100) { var startPoint = orb.To2D().Extend(Player.ServerPosition.To2D(), 100); var endPoint = Player.ServerPosition.To2D() .Extend(orb.To2D(), Player.Distance(orb) > 200 ? 1300 : 1000); QE.Delay = E.Delay + Player.Distance(orb) / E.Speed; QE.From = orb; var enemyPred = QE.GetPrediction(target); if (enemyPred.Hitchance >= HitChance.VeryHigh && enemyPred.UnitPosition.To2D().Distance(startPoint, endPoint, false) < QE.Width + target.BoundingRadius) { E.Cast(orb, true); W.LastCastAttemptT = Utils.TickCount; return; } } } } if (E.IsReady() && Q.IsReady() && (Config.Item("UseQECombo").GetValue <bool>())) { QE.Delay = E.Delay + Q.Range / E.Speed; QE.From = Player.ServerPosition.To2D().Extend(target.ServerPosition.To2D(), Q.Range).To3D(); var prediction = QE.GetPrediction(target); if (prediction.Hitchance >= HitChance.High) { Q.Cast(Player.ServerPosition.To2D().Extend(prediction.CastPosition.To2D(), Q.Range - 100)); QET = Utils.TickCount; W.LastCastAttemptT = Utils.TickCount; } } if (R.IsReady() && (Config.Item("UseRCombo").GetValue <bool>())) { if (target.Health < R.GetDamage(target)) { R.Cast(target); } } }