private void OnInterrupter(Obj_AI_Hero sender, DZInterrupter.InterruptableTargetEventArgs args) { if (Variables.Spells[SpellSlot.R].IsReady() && sender.IsValidTarget(Variables.Spells[SpellSlot.Q].Range) && args.DangerLevel >= DZInterrupter.DangerLevel.High && Variables.AssemblyMenu.GetItemValue<bool>("dzaio.champion.orianna.extra.interrupter")) { switch ( Variables.AssemblyMenu.GetItemValue<StringList>("dzaio.champion.orianna.extra.interrupter.mode") .SelectedIndex) { case 0: this.BallManager.ProcessCommand(new Command() { SpellCommand = Commands.Q, Where = sender.ServerPosition }); var actionDelay = (int) (BallManager.BallPosition.Distance(sender.ServerPosition) / Variables.Spells[SpellSlot.Q].Speed * 1000f + Variables.Spells[SpellSlot.Q].Delay * 1000f + Game.Ping / 2f + 100f); Utility.DelayAction.Add( actionDelay, () => { var enemiesInRange = BallManager.BallPosition.GetEnemiesInRange(Variables.Spells[SpellSlot.R].Range); if (enemiesInRange.Count >= 1 && enemiesInRange.Any(n => n.NetworkId == sender.NetworkId)) { Variables.Spells[SpellSlot.R].Cast(); } }); break; case 1: var ballPosition = BallManager.BallPosition; if (sender.IsValidTarget(Variables.Spells[SpellSlot.R].Range / 2f, true, ballPosition)) { var enemiesInRange = BallManager.BallPosition.GetEnemiesInRange(Variables.Spells[SpellSlot.R].Range); if (enemiesInRange.Count >= 1 && enemiesInRange.Any(n => n.NetworkId == sender.NetworkId)) { Variables.Spells[SpellSlot.R].Cast(); } } break; } } }
private void OnInterrupter(Obj_AI_Hero sender, DZInterrupter.InterruptableTargetEventArgs args) { if (Variables.AssemblyMenu.GetItemValue<bool>("dzaio.champion.trundle.extra.interrupter") && ObjectManager.Player.ManaPercent > 20 && args.DangerLevel > DZInterrupter.DangerLevel.Medium && sender.IsValidTarget(Variables.Spells[SpellSlot.E].Range) && Variables.Spells[SpellSlot.E].IsReady()) { Variables.Spells[SpellSlot.E].Cast(sender.ServerPosition); } }
private void OnInterrupter(Obj_AI_Hero sender, DZInterrupter.InterruptableTargetEventArgs args) { if (Variables.AssemblyMenu.GetItemValue<bool>("dzaio.champion.veigar.extra.interrupter") && ObjectManager.Player.ManaPercent > 20 && args.DangerLevel > DZInterrupter.DangerLevel.Medium && sender.IsValidTarget(Variables.Spells[SpellSlot.E].Range) && Variables.Spells[SpellSlot.E].IsReady()) { Variables.Spells[SpellSlot.E].SPredictionCastRing(sender, 80f, HitChance.Medium); } }
private void OnInterrupter(Obj_AI_Hero sender, DZInterrupter.InterruptableTargetEventArgs args) { if (Variables.Spells[SpellSlot.R].IsReady() && Variables.AssemblyMenu.GetItemValue<bool>("dzaio.champion.warwick.extra.interruptR") && args.DangerLevel >= DZInterrupter.DangerLevel.High) { var interruptPosition = sender.ServerPosition; if (interruptPosition.IsSafe() && sender.IsValidTarget(Variables.Spells[SpellSlot.R].Range)) { Variables.Spells[SpellSlot.R].CastOnUnit(sender); } } }
private void OnInterrupter(Obj_AI_Hero sender, DZInterrupter.InterruptableTargetEventArgs args) { if (Variables.AssemblyMenu.GetItemValue<bool>("dzaio.champion.bard.extra.interrupter") && Variables.Spells[SpellSlot.Q].IsReady() && sender.IsValidTarget() && args.DangerLevel >= DZInterrupter.DangerLevel.High) { HandleQ(sender); } }
private void OnInterrupter(Obj_AI_Hero sender, DZInterrupter.InterruptableTargetEventArgs args) { }
private void OnInterrupter(Obj_AI_Hero sender, DZInterrupter.InterruptableTargetEventArgs args) { if (args.DangerLevel > DZInterrupter.DangerLevel.Medium) { var qRangeReduction = 0.75f; var qJumpRange = 280f; var qTickInterval = 500f; var target = sender; if (target.IsValidTarget(Variables.Spells[SpellSlot.Q].Range*qRangeReduction)) { //Calculate the dash End Position and update the prediction accordingly var dashEndPos = ObjectManager.Player.GetDashInfo().EndPos; var QPrediction = Variables.Spells[SpellSlot.Q].GetPrediction(target); if (dashEndPos != Vector2.Zero) { Variables.Spells[SpellSlot.Q].UpdateSourcePosition(dashEndPos.To3D()); QPrediction = Variables.Spells[SpellSlot.Q].GetPrediction(target); Variables.Spells[SpellSlot.Q].UpdateSourcePosition(ObjectManager.Player.ServerPosition); } if (QPrediction.Hitchance >= HitChance.High && Variables.Spells[SpellSlot.Q].IsKillable(target)) { if (IsPlayerNotBusy() && (Environment.TickCount - LastQCastTick >= qTickInterval)) { Variables.Spells[SpellSlot.Q].Cast(QPrediction.CastPosition); LastQCastTick = Environment.TickCount; } } } } }