private void DrawAvailableRange(EventArgs args) { if (!annie.GetParamBool("drawskillranges")) { return; } if (annie.GetParamKeyBind("flashtibbers") && (annie.Spells.R.IsReady()) && (FlashSpell.IsReady(annie.Player)) && (annie.CheckStun())) { Render.Circle.DrawCircle(annie.Player.Position, annie.Spells.RFlash.Range, Color.DarkGreen, 3); } else { Render.Circle.DrawCircle(annie.Player.Position, annie.Spells.MaxRangeCombo, Color.DarkGreen, 3); } }
private void FlashTibbersLogic(EventArgs args) { if (!annie.GetParamKeyBind("flashtibbers")) { return; } if ((annie.Spells.R.IsReady()) && (FlashSpell.IsReady(annie.Player)) && (annie.CheckStun())) { int minToCast = annie.GetParamSlider("minenemiestoflashr"); if (minToCast > 1) { foreach ( PredictionOutput pred in ObjectManager.Get <Obj_AI_Hero>() .Where(x => x.IsValidTarget(annie.Spells.RFlash.Range)) .Select(x => annie.Spells.RFlash.GetPrediction(x, true)) .Where(pred => pred.Hitchance >= HitChance.High && pred.AoeTargetsHitCount >= minToCast) ) { PredictionOutput pred1 = pred; annie.Player.Spellbook.CastSpell(FlashSpell.Slot(annie.Player), pred1.CastPosition); Utility.DelayAction.Add(10, () => annie.Spells.R.Cast(pred1.CastPosition)); } } else { Obj_AI_Hero target = TargetSelector.GetTarget( annie.Spells.RFlash.Range, TargetSelector.DamageType.Magical); if (target != null) { annie.Player.Spellbook.CastSpell(FlashSpell.Slot(annie.Player), target.Position); Utility.DelayAction.Add(50, () => annie.Spells.R.Cast(target.Position)); } } } if (annie.GetParamBool("orbwalktoflashtibbers")) { annie.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); } annie.AnnieOrbwalker.ComboMode(); }