Exemplo n.º 1
0
        public void OnUpdate()
        {
            var target = Global.TargetSelector.GetTarget(_spellConfig.Q.Range);

            if (target == null)
            {
                return;
            }

            if (_spellConfig.Q.Ready && this.Q1Enabled)
            {
                if (_spellConfig.IsQ2() && this.Q2Enabled || !_spellConfig.IsQ2())
                {
                    _spellConfig.Q.Cast(target);
                }
            }

            if (_spellConfig.E.Ready)
            {
                if (_spellConfig.IsFirst(_spellConfig.E) && this.EEnabled && target.IsValidTarget(_spellConfig.E.Range))
                {
                    _spellConfig.E.Cast(target);
                }
            }

            if (_spellConfig.W.Ready && _spellConfig.IsFirst(_spellConfig.W) && !_spellConfig.E.Ready && !_spellConfig.Q.Ready && this.Mode == 0)
            {
                var turret = GameObjects.AllyTurrets.OrderBy(x => x.Distance(Global.Player)).FirstOrDefault();
                if (turret != null)
                {
                    _wardManager.WardJump(turret.ServerPosition, _spellConfig.WardRange);
                }
            }
        }
Exemplo n.º 2
0
        public double Damage(Obj_AI_Base target)
        {
            if (target == null)
            {
                return(0);
            }

            var dmg = Global.Player.GetAutoAttackDamage(target);

            if (_spellConfig.E.Ready)
            {
                dmg += Global.Player.GetSpellDamage(target, SpellSlot.E) + dmg;
            }

            if (_spellConfig.Q.Ready)
            {
                if (_spellConfig.IsQ2())
                {
                    dmg += Global.Player.GetSpellDamage(target, SpellSlot.Q, DamageStage.SecondCast) + dmg;
                }
                else
                {
                    dmg += Global.Player.GetSpellDamage(target, SpellSlot.Q) + Global.Player.GetSpellDamage(target, SpellSlot.Q, DamageStage.SecondCast) + dmg;
                }
            }

            if (_spellConfig.R.Ready)
            {
                dmg += Global.Player.GetSpellDamage(target, SpellSlot.R);
            }
            return(dmg);
        }
Exemplo n.º 3
0
        public void OnUpdate()
        {
            var target = GameObjects.EnemyHeroes.FirstOrDefault(x => x.Distance(Global.Player) < spellConfig.R.Range && x.HealthPercent() <= 40);

            if (target == null || !target.IsValidTarget())
            {
                return;
            }

            if (this.SmiteEnabled && SummonerSpells.IsValid(SummonerSpells.Smite) && target.Health < SummonerSpells.SmiteChampions())
            {
                SummonerSpells.Smite.CastOnUnit(target);
            }
            if (spellConfig.Q.Ready &&
                (spellConfig.IsQ2()
                    ? target.Health < Global.Player.GetSpellDamage(target, SpellSlot.Q, DamageStage.SecondCast)
                    : target.Health < Global.Player.GetSpellDamage(target, SpellSlot.Q)) &&
                target.IsValidTarget(spellConfig.Q.Range) && this.QEnabled)
            {
                spellConfig.Q.Cast(target);
            }
            else if (spellConfig.E.Ready && target.Health < Global.Player.GetSpellDamage(target, SpellSlot.E) && target.IsValidTarget(spellConfig.E.Range) && this.EEnabled)
            {
                spellConfig.E.Cast();
            }
            else if (spellConfig.R.Ready && target.Health < Global.Player.GetSpellDamage(target, SpellSlot.R) && target.IsValidTarget(spellConfig.R.Range) && this.REnabled)
            {
                spellConfig.R.CastOnUnit(target);
            }
            else if (this.IgniteEnabled && SummonerSpells.IsValid(SummonerSpells.Ignite) && target.Health < SummonerSpells.IgniteDamage(target))
            {
                SummonerSpells.Ignite.Cast(target);
            }
        }
Exemplo n.º 4
0
        public void OnPostAttack(AttackableUnit target)
        {
            if (target == null)
            {
                return;
            }

            if (spellConfig.Q.Ready && !spellConfig.IsQ2() && target.IsValidTarget(spellConfig.Q.Range))
            {
                spellConfig.Q.Cast();
            }

            else if (spellConfig.W.Ready && this.WEnabled)
            {
                spellConfig.W.Cast(Global.Player);
            }
            else if (spellConfig.E.Ready && this.EEnabled)
            {
                if (!spellConfig.IsFirst(spellConfig.E))
                {
                    spellConfig.E.Cast();
                }
            }
        }
Exemplo n.º 5
0
        public void OnUpdate()
        {
            if (!this.Enabled || Global.Orbwalker.IsWindingUp)
            {
                return;
            }

            var minions = GameObjects.EnemyMinions.LastOrDefault(x => x.IsValidTarget(spellConfig.Q.Range) && x.Distance(Global.Player) > 300 &&
                                                                 x.Health * 0.9 < Global.Player.GetSpellDamage(x, SpellSlot.Q) && x.MaxHealth > 6);

            if (minions == null || !spellConfig.Q.Ready || spellConfig.IsQ2())
            {
                return;
            }
            spellConfig.Q.Cast(minions);
        }
Exemplo n.º 6
0
        public void OnPostAttack(AttackableUnit mobPre)
        {
            var mob = mobPre as Obj_AI_Minion;

            if (mob == null)
            {
                return;
            }

            var count = GameObjects.Jungle.Count(x => x.Distance(Global.Player) <= spellConfig.Q.Range / 2f);

            if (count <= 1 && mob.Health < Global.Player.GetAutoAttackDamage(mob))
            {
                return;
            }

            if (Global.Player.Level <= 4)
            {
                if (spellConfig.PassiveStack() >= 1)
                {
                    return;
                }

                if (spellConfig.Q.Ready)
                {
                    spellConfig.Q.Cast(mob);
                }

                if (spellConfig.W.Ready && this.WEnabled && !spellConfig.IsQ2())
                {
                    spellConfig.W.CastOnUnit(Global.Player);
                }
                else if (spellConfig.E.Ready && this.EEnabled && !spellConfig.IsQ2())
                {
                    if (spellConfig.IsFirst(spellConfig.E))
                    {
                        if (Items.CanUseTiamat())
                        {
                            Items.CastTiamat(false);
                            DelayAction.Queue(50, () => spellConfig.E.Cast(mob));
                        }
                        else
                        {
                            spellConfig.E.Cast(mob);
                        }
                    }
                    else
                    {
                        spellConfig.E.Cast();
                    }
                }
            }
            else if (Global.Player.Level <= 8)
            {
                if (spellConfig.PassiveStack() >= 1)
                {
                    return;
                }

                if (spellConfig.Q.Ready)
                {
                    spellConfig.Q.Cast(mob);
                }

                if (spellConfig.W.Ready && this.WEnabled)
                {
                    spellConfig.W.CastOnUnit(Global.Player);
                }
                else if (spellConfig.E.Ready && this.EEnabled)
                {
                    if (spellConfig.IsFirst(spellConfig.E))
                    {
                        if (Items.CanUseTiamat())
                        {
                            Items.CastTiamat(false);
                            DelayAction.Queue(50, () => spellConfig.E.Cast(mob));
                        }
                        else
                        {
                            spellConfig.E.Cast(mob);
                        }
                    }
                    else
                    {
                        spellConfig.E.Cast();
                    }
                }
            }
            else
            {
                if (spellConfig.Q.Ready)
                {
                    spellConfig.Q.Cast(mob);
                }
                else
                {
                    if (spellConfig.E.Ready && this.EEnabled)
                    {
                        if (Items.CanUseTiamat())
                        {
                            Items.CastTiamat(false);
                            DelayAction.Queue(50, () => spellConfig.E.Cast(mob));
                        }
                        else
                        {
                            spellConfig.E.Cast(mob);
                        }
                    }

                    if (spellConfig.W.Ready && this.WEnabled)
                    {
                        if (spellConfig.E.Ready && this.EEnabled && !spellConfig.IsFirst(spellConfig.E))
                        {
                            return;
                        }
                        spellConfig.W.CastOnUnit(Global.Player);
                    }
                }
            }
        }
Exemplo n.º 7
0
        public void OnUpdate()
        {
            var target = Global.TargetSelector.GetTarget(1600);

            if (target == null)
            {
                return;
            }

            var distance = target.Distance(Global.Player) - target.BoundingRadius;

            if (_spellConfig.Q.Ready && Q1Enabled)
            {
                if (distance > 1300)
                {
                    return;
                }

                if (_spellConfig.IsQ2())
                {
                    if (TurretCheckEnabled && target.IsUnderEnemyTurret() || !Q2Enabled)
                    {
                        return;
                    }

                    if (_spellConfig.QAboutToEnd || distance >= Global.Player.AttackRange + 300)
                    {
                        _spellConfig.Q.Cast();
                    }
                }
                else
                {
                    _spellConfig.QSmite(target);
                    _spellConfig.Q.Cast(target);
                }
            }

            if (_spellConfig.R.Ready && _spellConfig.Q.Ready && Q1Enabled && distance <= 550 && target.Health <= Global.Player.GetSpellDamage(target, SpellSlot.R) +
                Global.Player.GetSpellDamage(target, SpellSlot.Q) +
                Global.Player.GetSpellDamage(target, SpellSlot.Q, DamageStage.SecondCast))
            {
                _spellConfig.R.CastOnUnit(target);
                _spellConfig.Q.Cast(target);
            }


            if (_spellConfig.W.Ready && _spellConfig.IsFirst(_spellConfig.W) && _wardTracker.IsWardReady() && WEnabled && WardEnabled && distance > (_spellConfig.Q.Ready ? 1000 : _spellConfig.WardRange))
            {
                if (Game.TickCount - _spellConfig.Q.LastCastAttemptT <= 3000 || target.Position.CountEnemyHeroesInRange(2000) > 1)
                {
                    return;
                }

                _wardManager.WardJump(target.Position, _spellConfig.WardRange);
            }

            if (_spellConfig.E.Ready && EEnabled && _spellConfig.IsFirst(_spellConfig.E) && distance <= 350)
            {
                if (Items.CanUseTiamat())
                {
                    Items.CastTiamat(false);
                    DelayAction.Queue(50, () => _spellConfig.E.Cast(target));
                }
                else
                {
                    _spellConfig.E.Cast(target);
                }
            }
        }
Exemplo n.º 8
0
        public void OnKeyPressed()
        {
            if (!this.Enabled || !Target.IsValidTarget() || Global.Player.Level < 6)
            {
                return;
            }

            Temp.IsBubbaKush = this.Bk;

            var dist = GetInsecPosition().Distance(Global.Player);

            if (_spellConfig.Q.Ready && !(this.CanWardJump && dist <= _spellConfig.WardRange && this.QLast))
            {
                if (_spellConfig.IsQ2())
                {
                    _spellConfig.Q.Cast();
                }
                else if (!Global.Player.IsDashing())
                {
                    if (Target.IsValidTarget(_spellConfig.Q.Range))
                    {
                        _lastQUnit = Target;

                        _spellConfig.QSmite(Target);
                        _spellConfig.Q.Cast(Target);
                    }

                    if (!this.ObjectEnabled || this.EnemyObject == null)
                    {
                        return;
                    }

                    _lastQUnit = this.EnemyObject;
                    _spellConfig.Q.Cast(this.EnemyObject);
                }
            }

            if (this.CanWardJump && dist <= InsecRange())
            {
                if (dist <= _spellConfig.WardRange)
                {
                    _wardManager.WardJump(GetInsecPosition(), (int)dist);
                }
                else if (this.FlashReady)
                {
                    if (Game.TickCount - _spellConfig.LastQ1CastAttempt <= 900 || _lastQUnit != null && _spellConfig.IsQ2() && InsecInRange(_lastQUnit.ServerPosition))
                    {
                        return;
                    }

                    if (Game.TickCount - _spellConfig.Q.LastCastAttemptT <= 1000)
                    {
                        return;
                    }

                    _wardManager.WardJump(GetInsecPosition(), _spellConfig.WardRange);
                }
            }

            if (_spellConfig.R.Ready)
            {
                if (dist <= 125 || this.FlashReady)
                {
                    if (_isBkActive)
                    {
                        var enemy = GameObjects.EnemyHeroes.FirstOrDefault(x => x.IsValidTarget(_spellConfig.R.Range) && x.NetworkId != Target.NetworkId);
                        if (enemy != null)
                        {
                            _spellConfig.R.CastOnUnit(enemy);
                        }
                    }
                    else if (Target.IsValidTarget(_spellConfig.R.Range))
                    {
                        _spellConfig.R.CastOnUnit(Target);
                    }
                }

                if (_insecManager.InsecKickValue == 0 && this.FlashReady && GetInsecPosition().Distance(Global.Player) <= 425 && GetInsecPosition().Distance(Global.Player) > 220 &&
                    (!this.CanWardJump || _wardTracker.DidJustWard))
                {
                    if (Global.Player.GetDashInfo().EndPos.Distance(GetInsecPosition()) <= 215 || this.CanWardJump)
                    {
                        return;
                    }

                    SummonerSpells.Flash.Cast(GetInsecPosition());
                    _spellConfig.R.CastOnUnit(Target);
                }
            }
        }