private static void Game_OnTick(EventArgs args) { if (HasEndBuff) { if (!ModeManager.IsNone) { Champion.ForceQ2(); } } }
private static void Game_OnTick(EventArgs args) { if (MissileIsValid) { SpellManager.Q1.SourcePosition = _missile.Position; SpellManager.Q1.RangeCheckSource = _missile.Position; SpellManager.Q1.AllowedCollisionCount = int.MaxValue; SpellManager.Q1.CastDelay = 0; } else { SpellManager.Q1.SourcePosition = Util.MyHero.Position; SpellManager.Q1.RangeCheckSource = Util.MyHero.Position; SpellManager.Q1.AllowedCollisionCount = 0; SpellManager.Q1.CastDelay = 250; } if (IsTryingToSmite) { if (IsWaitingMissile)// { var canSmite = false; if (Game.Time - _lastCastTime <= 0.25f) { if ((SpellManager.Q1.Width + _smiteTarget.BoundingRadius).Pow() > Util.MyHero.Distance(_smiteTarget, true)) { canSmite = true; } } else if (WillHit(_smiteTarget)) { var pred = SpellManager.Q1.GetPrediction(_smiteTarget); var width = _smiteTarget.BoundingRadius + SpellManager.Q1.Width;// var timeToArriveQ = (_missile.Distance(pred.CastPosition) - width) / SpellManager.Q1.Speed - SpellManager.SmiteCastDelay - (Game.Ping / 2000f + 0.07f); if (timeToArriveQ <= 0) { canSmite = true; } } if (canSmite && _smiteTarget.IsInSmiteRange()) { Util.MyHero.Spellbook.CastSpell(SpellManager.Smite.Slot, _smiteTarget); } } } if (EndTime - Game.Time <= 0.25f) { if (!ModeManager.IsNone) { Champion.ForceQ2(); } } }
private static void Game_OnTick(EventArgs args) { if (MissileIsValid) { SpellManager.Q1.SourcePosition = Missile.Position; SpellManager.Q1.RangeCheckSource = Missile.Position; SpellManager.Q1.AllowedCollisionCount = int.MaxValue; SpellManager.Q1.CastDelay = 0; } else { SpellManager.Q1.SourcePosition = Util.myHero.Position; SpellManager.Q1.RangeCheckSource = Util.myHero.Position; SpellManager.Q1.AllowedCollisionCount = 0; SpellManager.Q1.CastDelay = 250; } if (IsTryingToSmite) { if (IsWaitingMissile)// { var CanSmite = false; if (Game.Time - LastCastTime <= 0.25f) { if (SpellManager.Q1.Width + Smite_Target.BoundingRadius > Extensions.Distance(Util.myHero, Smite_Target)) { CanSmite = true; } } else if (WillHit(Smite_Target)) { var pred = SpellManager.Q1.GetPrediction(Smite_Target); var width = Smite_Target.BoundingRadius + SpellManager.Q1.Width;// var TimeToArriveQ = (Extensions.Distance(Missile, pred.CastPosition) - width) / SpellManager.Q1.Speed - SpellManager.Smite_Delay + Game.Ping / 2000 - 0.1f; if (TimeToArriveQ <= 0) { CanSmite = true; } } if (CanSmite) { Util.myHero.Spellbook.CastSpell(SpellManager.Smite.Slot, Smite_Target); } } } if (EndTime - Game.Time < 0.25f) { if (!ModeManager.IsNone) { Champion.ForceQ2(); } } }
public static void CastQ2(Obj_AI_Base target) { if (SpellSlot.Q.IsReady() && !SpellSlot.Q.IsFirstSpell() && target.IsValidTarget(Q2.Range)) { if (target.HaveQ()) { Util.MyHero.Spellbook.CastSpell(SpellSlot.Q, true); } else if (_Q.EndTime - Game.Time < 0.5f) { Champion.ForceQ2(target); } } }
private static void Obj_AI_Base_OnBuffLose(Obj_AI_Base sender, Obj_AI_BaseBuffLoseEventArgs args) { if (args.Buff.Caster.IsMe) { if (!sender.IsMe) { if (args.Buff.Name.ToLower().Contains("blindmonkrkick")) { Target = null; //Chat.Print("Speed: " + Extensions.Distance(StartPos, sender)/(args.Buff.EndTime - args.Buff.StartTime)); if (sender.HaveQ()) { if (!ModeManager.IsNone) { Champion.ForceQ2(sender); } } } } } }
public static void Execute() { var target = TargetSelector.Target; if (Orbwalker.CanMove && Game.Time - LastGapcloseAttempt > 0.25f) { if (target.IsValidTarget() && Extensions.Distance(Util.myHero, ExpectedEndPosition, true) > Extensions.Distance(target, ExpectedEndPosition, true) && IsReady) { var gapclosepos = target.Position + (target.Position - ExpectedEndPosition).Normalized() * DistanceBetween; Orbwalker.MoveTo(gapclosepos); } else { Orbwalker.MoveTo(Util.mousePos); } } if (target.IsValidTarget()) { if (IsReady) { if (IsActive) { if (SpellManager.CanCastQ1) { var predtarget = SpellManager.Q1.GetPrediction(target); if (Menu.GetCheckBoxValue("Object") && predtarget.CollisionObjects.Count() > 1) { foreach (Obj_AI_Base minion in EntityManager.MinionsAndMonsters.Get(EntityManager.MinionsAndMonsters.EntityType.Both, EntityManager.UnitTeam.Enemy, Util.myHero.Position, SpellManager.Q2.Range).Where(m => m.IsValidTarget() && SpellSlot.Q.GetSpellDamage(m) < Prediction.Health.GetPrediction(m, SpellManager.Q1.CastDelay + 1000 * (int)(Extensions.Distance(Util.myHero, m) / SpellManager.Q1.Speed)) && Extensions.Distance(Util.myHero, target, true) > Extensions.Distance(m, target, true) && Extensions.Distance(m, target, true) < Math.Pow(WardManager.WardRange - DistanceBetween - Offset, 2)).OrderBy(m => Extensions.Distance(target, m, true))) { var pred = SpellManager.Q1.GetPrediction(minion); if (pred.HitChancePercent >= SpellSlot.Q.HitChancePercent()) { SpellManager.Q1.Cast(pred.CastPosition); } } foreach (AIHeroClient enemy in EntityManager.Heroes.Enemies.Where(m => m.NetworkId != target.NetworkId && m.IsValidTarget(SpellManager.Q2.Range) && SpellSlot.Q.GetSpellDamage(m) < m.Health && Extensions.Distance(Util.myHero, target, true) > Extensions.Distance(m, target, true) && Extensions.Distance(m, target, true) < Math.Pow(WardManager.WardRange - DistanceBetween - Offset, 2)).OrderBy(m => Extensions.Distance(target, m, true))) { SpellManager.CastQ1(enemy); } } SpellManager.CastQ1(target); } if (Extensions.Distance(Util.myHero, target, true) > Math.Pow(WardManager.WardRange - DistanceBetween, 2)) { if (_Q.HasQ2Buff) { if (_Q.IsValidTarget && Extensions.Distance(target, _Q.Target, true) < Math.Pow(WardManager.WardRange - DistanceBetween - Offset, 2)) { TargetSelector.ForcedTarget = target; Champion.ForceQ2(target); } } } } if (Extensions.Distance(Util.myHero, target, true) < Math.Pow(WardManager.WardRange - DistanceBetween, 2) && !IsRecent) { switch (Priority) { case 0: if (WardManager.CanWardJump) { WardJump(target); } else if (SpellManager.Flash_IsReady) { Flash(target); } break; case 1: if (SpellManager.Flash_IsReady) { Flash(target); } else if (WardManager.CanWardJump) { WardJump(target); } break; } } CastR(target); } else { NormalCombo.Execute(); } } }