Example #1
0
 public void OnPostAttack(AttackableUnit target)
 {
     if (target == null || !target.IsHero)
     {
         return;
     }
     if (_spellConfig.E.Ready && this.E2Enabled && !_spellConfig.IsFirst(_spellConfig.E))
     {
         _spellConfig.E.Cast();
     }
     else if (_spellConfig.W.Ready && this.Mode == 1)
     {
         _spellConfig.W.CastOnUnit(Global.Player);
     }
 }
Example #2
0
        public void OnGapcloser(Obj_AI_Hero sender, GapcloserArgs args)
        {
            if (sender.IsMe || !sender.IsEnemy || !_spellConfig.W.Ready || !_spellConfig.IsFirst(_spellConfig.W) || !_wardTracker.IsWardReady() ||
                args.EndPosition.Distance(Global.Player) > 425)
            {
                return;
            }

            _wardManager.WardJump(Game.CursorPos, _spellConfig.WardRange);
        }
Example #3
0
        public void OnPostAttack(AttackableUnit target)
        {
            if (target == null)
            {
                return;
            }

            if (_spellConfig.W.Ready && WEnabled)
            {
                _spellConfig.W.Cast(Global.Player);
            }

            if (_spellConfig.E.Ready && EEnabled)
            {
                if (!_spellConfig.IsFirst(_spellConfig.E))
                {
                    _spellConfig.E.Cast();
                }
            }
        }
Example #4
0
        public void OnKeyPressed()
        {
            if (!Enabled)
            {
                return;
            }

            if (_spellConfig.W.Ready && _spellConfig.IsFirst(_spellConfig.W) && _wardTracker.IsWardReady())
            {
                var cursorDist = (int)Global.Player.Distance(Game.CursorPos);
                var dist       = cursorDist <= _spellConfig.WardRange ? cursorDist : _spellConfig.WardRange;
                _wardManager.WardJump(Game.CursorPos, dist);
            }
        }
Example #5
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();
                }
            }
        }
Example #6
0
        public void OnCreate(GameObject sender)
        {
            if (DidJustWard || !_spellConfig.IsFirst(_spellConfig.W) || !IsAtWall)
            {
                return;
            }

            var ward = sender as Obj_AI_Minion;

            if (ward == null || !ward.Name.ToLower().Contains("ward"))
            {
                return;
            }

            LastWardCreated = Game.TickCount;
            WardName        = ward.Name;
            WardPosition    = ward.ServerPosition;

            DebugConsole.Write("Located Ally Ward.", ConsoleColor.Green);
            Global.Player.SpellBook.CastSpell(SpellSlot.W, WardPosition); // Bug: This position is unrealistic and does not work.
        }
Example #7
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);
                    }
                }
            }
        }