Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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();
        }