Exemplo n.º 1
0
        public static void Execute()
        {
            var Champ = EntityManager.Heroes.Enemies.Where(x => x.Health < HandleDamageIndicator(x));

            if (MenuValue.Combo.UseQ && Q.IsReady() && Q.ToggleState != 2 && Core.GameTickCount - LastQTick > 120)
            {
                var target = Q.GetTarget(Champ);
                if (target != null)
                {
                    var pred = Q.GetPrediction(target);
                    if (pred.CanNext(Q, MenuValue.General.QHitChance, false))
                    {
                        Q.Cast(pred.CastPosition);
                        LastQTick = Core.GameTickCount;
                    }
                }
            }
            if (MenuValue.Combo.UseW && W.IsReady())
            {
                var target = W.GetTarget(Champ);
                if (target != null)
                {
                    if (QMissile == null)
                    {
                        var pred = W.GetPrediction(target);
                        W.Cast(pred.CastPosition);
                    }
                    else
                    {
                        if (target.Distance(QMissile) <= 300)
                        {
                            var pos = QMissile.Position.Extend(target, QMissile.Distance(target) + 10).To3DWorld();
                            if (W.IsInRange(pos))
                            {
                                W.Cast(pos);
                            }
                        }
                    }
                }
            }
            if (MenuValue.Combo.UseE && E.IsReady())
            {
                var target = E.GetTarget(Champ);
                if (target != null && (target.HasBuff(IcedName) || !MenuValue.Combo.OnlyIced))
                {
                    E.Cast(target);
                }
            }
            if (MenuValue.Combo.UseR && R.IsReady() && Storm == null)
            {
                var target = R.GetTarget(Champ);
                if (target != null)
                {
                    var pred = R.GetPrediction(target);
                    R.Cast(pred.CastPosition);
                }
            }
        }
Exemplo n.º 2
0
        static Anivia()
        {
            Q = new Spell.Skillshot(SpellSlot.Q, DamageType.Magical)
            {
                AllowedCollisionCount = int.MaxValue,
            };

            W = new Spell.Skillshot(SpellSlot.W, 1000, SkillShotType.Circular, 600, int.MaxValue, 100, DamageType.Magical)
            {
                AllowedCollisionCount = int.MaxValue,
            };

            E = new Spell.Targeted(SpellSlot.E, 650);

            R = new Spell.Skillshot(SpellSlot.R, 750, SkillShotType.Circular, 50, int.MaxValue, 400, DamageType.Magical)
            {
                AllowedCollisionCount = int.MaxValue,
            };

            QActive = new Spell.Active(SpellSlot.Q, 230, DamageType.Magical);

            ROff = new Spell.Active(SpellSlot.R, 400, DamageType.Magical);

            DamageIndicator.DamageDelegate = HandleDamageIndicator;

            #region Event
            Obj_GeneralParticleEmitter.OnCreate += delegate(GameObject sender, EventArgs args)
            {
                var missile = sender as Obj_GeneralParticleEmitter;
                if (sender != null)
                {
                    if (missile.Name.Equals("cryo_storm_green_team.troy"))
                    {
                        Storm = missile;
                    }
                }
            };
            Obj_GeneralParticleEmitter.OnDelete += delegate(GameObject sender, EventArgs args)
            {
                var missile = sender as Obj_GeneralParticleEmitter;
                if (sender != null)
                {
                    if (missile.Name.Equals("cryo_storm_green_team.troy"))
                    {
                        Storm = null;
                    }
                }
            };
            MissileClient.OnCreate += delegate(GameObject sender, EventArgs args)
            {
                var missile = sender as MissileClient;
                if (sender != null && missile.SpellCaster.IsMe)
                {
                    if (missile.SData.Name.Equals("FlashFrostSpell"))
                    {
                        QMissile = missile;
                    }
                }
            };
            MissileClient.OnDelete += delegate(GameObject sender, EventArgs args)
            {
                var missile = sender as MissileClient;
                if (sender != null && missile.SpellCaster.IsMe && missile.SData.Name.Equals("FlashFrostSpell"))
                {
                    QMissile = null;
                }
            };
            AIHeroClient.OnBuffGain += delegate(Obj_AI_Base sender, Obj_AI_BaseBuffGainEventArgs args)
            {
                var hero = sender as AIHeroClient;
                if (hero != null && hero.IsEnemy)
                {
                    if (args.Buff.Name.Equals("chilled") && QActive.IsReady() && QMissile.IsInRange(hero, QActive.Range))
                    {
                        QActive.Cast();
                    }
                    if (args.Buff.Name.Equals(IcedName) && MenuValue.General.AutoE && E.IsReady() && E.IsInRange(hero))
                    {
                        E.Cast(hero);
                    }
                }
            };
            AIHeroClient.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (!sender.IsMe)
                {
                    return;
                }
                if (args.Slot.Equals(SpellSlot.Q))
                {
                    LastQTick = Core.GameTickCount;
                }
            };
            #endregion
        }
Exemplo n.º 3
0
        private static void Combo()
        {
            var Enemies = EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(DemSpells.Q.Range) && !x.HasUndyingBuff());
            var target  = TargetSelector.GetTarget(1200, DamageType.Magical, myhero.Position);

            if (QMissile != null && (QMissile.Distance(target.Position) < 200 || EntityManager.Heroes.Enemies.Where(x => x.Distance(QMissile.Position) < 200).Count() >= 1) &&
                DemSpells.Q.Cast(myhero.Position))
            {
                return;
            }

            if (RMissile != null && EntityManager.Heroes.Enemies.Where(x => x.Distance(RMissile.Position) < 400).Count() == 0 &&
                DemSpells.R.Cast(myhero.Position))
            {
                return;
            }

            if (Enemies == null)
            {
                return;
            }

            if (check(combo, "CQ") && DemSpells.Q.IsReady() && QMissile == null && target.ValidTarget(DamageType.Magical, (int)DemSpells.Q.Range))
            {
                if (myhero.HasBuff("FlashFrost"))
                {
                    return;
                }

                var AOE = Prediction.Position.PredictCircularMissileAoe(Enemies.ToArray <Obj_AI_Base>(), DemSpells.Q.Range, 190, DemSpells.Q.CastDelay, DemSpells.Q.Speed);

                foreach (var result in AOE.Where(x => x.CollisionObjects.Contains(target) && x.HitChancePercent >= slider(pred, "QPred"))
                         .OrderByDescending(x => x.CollisionObjects.Count()))
                {
                    DemSpells.Q.Cast(result.CastPosition);
                    break;
                }
                return;
            }

            if (check(combo, "CW") && DemSpells.W.GetPrediction(target).CastPosition.Distance(target.Position) >= 100 && DemSpells.W.Cast(DemSpells.W.GetPrediction(target).CastPosition))
            {
                return;
            }

            if (check(combo, "CE") && DemSpells.E.IsReady())
            {
                foreach (AIHeroClient enemy in Enemies.Where(x => x.ValidTarget(DamageType.Magical, (int)DemSpells.E.Range)).OrderByDescending(x => TargetSelector.GetPriority(x)))
                {
                    if (DemSpells.E.CanCast(enemy) && (!check(combo, "CESTUN") ||
                                                       (check(combo, "CESTUN") && HasChill(enemy)) ||
                                                       (check(combo, "CESTUN") && !HasChill(enemy) && !DemSpells.Q.IsReady() && !DemSpells.R.IsReady())))
                    {
                        DemSpells.E.Cast(enemy);
                        break;
                    }
                    else
                    {
                        continue;
                    }
                }
                return;
            }

            if (check(combo, "CR") && DemSpells.R.IsReady() && RMissile == null)
            {
                if (myhero.HasBuff("GlacialStorm"))
                {
                    return;
                }

                var AoEPred = Prediction.Position.GetPredictionAoe(Enemies.ToArray <Obj_AI_Base>(),
                                                                   new Prediction.Position.PredictionData(Prediction.Position.PredictionData.PredictionType.Circular, (int)DemSpells.R.Range, 300, 0, 250, int.MaxValue));

                foreach (var result in AoEPred.Where(x => x.CollisionObjects.Any()).OrderByDescending(x => x.CollisionObjects.Count()))
                {
                    DemSpells.R.Cast(result.CastPosition);

                    break;
                }
                return;
            }
        }