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); } }
public override void ComboMode() { AIHeroClient target = TargetSelector.GetTarget(spells.MaxRangeCombo, TargetSelector.DamageType.Magical); if ((target == null) || (!CanAttack(target))) { return; } if (annie.GetParamBool("usertocombo") && spells.R.IsReady() && spells.R.CanCast() && target.IsValidTarget(spells.R.Range) && !spells.CheckOverkill(target)) { int minEnemiesToR = annie.GetParamSlider("minenemiestor"); if (minEnemiesToR == 1 && annie.CheckStun()) { spells.R.Cast(target.Position); } else { foreach (PredictionOutput pred in ObjectManager.Get <AIHeroClient>() .Where(x => x.IsValidTarget(spells.R.Range)) .Select(x => spells.R.GetPrediction(x, true)) .Where(pred => pred.Hitchance >= HitChance.High && pred.AoeTargetsHitCount >= minEnemiesToR) ) { spells.R.Cast(pred.CastPosition); } } } if (!annie.GetParamBool("supportmode") && spells.R.GetDamage(target) > target.Health + 50f && spells.R.IsReady() && spells.R.CanCast() && spells.R.CanCast(target) && !spells.CheckOverkill(target)) { spells.R.Cast(target.Position); } if ((spells.W.IsReady()) && (annie.GetParamBool("usewtocombo")) && (target.IsValidTarget(spells.W.Range))) { spells.W.Cast(target.Position); } if ((spells.Q.IsReady()) && (annie.GetParamBool("useqtocombo")) && (target.IsValidTarget(spells.Q.Range))) { spells.Q.Cast(target); } }
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(); }