Пример #1
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = ChampionSpell.FromLibrary("Aatrox", SpellSlot.Q, ChampionSpell.CastType.Circle);
            var W = new ChampionSpell(SpellSlot.W, 125, ChampionSpell.CastType.Self);
            var E = ChampionSpell.FromLibrary("Aatrox", SpellSlot.E, ChampionSpell.CastType.Cone);
            var R = new ChampionSpell(SpellSlot.R, 350, ChampionSpell.CastType.Self);

            W.CastCondition = (unit) =>
                {
                    var healPercent = Configuration.Main.Item("AbsorbPercent").GetValue<Slider>();
                    var damagePercent = Configuration.Main.Item("DamagePercent").GetValue<Slider>();
                    var currentPercent = ObjectManager.Player.HealthPercentage();
                    var name = ObjectManager.Player.GetSpell(SpellSlot.W).Name;

                    return !name.Equals("AatroxW")
                               ? healPercent.Value > currentPercent
                               : currentPercent > damagePercent.Value;
                };

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #2
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = new ChampionSpell(SpellSlot.Q, 600, ChampionSpell.CastType.Linear);
            var W = new ChampionSpell(SpellSlot.W, 525, ChampionSpell.CastType.Target);
            var E = new ChampionSpell(SpellSlot.E, 1100, ChampionSpell.CastType.Circle);

            result.Add(Q);
            result.Add(W);
            result.Add(E);

            return result;
        }
Пример #3
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = ChampionSpell.FromLibrary("Malzahar", SpellSlot.Q, ChampionSpell.CastType.Circle);
            var W = new ChampionSpell(SpellSlot.W, 800, ChampionSpell.CastType.Circle);
            var E = new ChampionSpell(SpellSlot.E, 650, ChampionSpell.CastType.Target);
            var R = new ChampionSpell(SpellSlot.R, 700, ChampionSpell.CastType.Target);

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #4
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = new ChampionSpell(SpellSlot.Q, 350, ChampionSpell.CastType.Self);
            var W = new ChampionSpell(SpellSlot.W, 350, ChampionSpell.CastType.Self);
            var E = ChampionSpell.FromLibrary("Skarner", SpellSlot.E, ChampionSpell.CastType.Linear);
            var R = new ChampionSpell(SpellSlot.R, 350, ChampionSpell.CastType.Target);

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #5
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = new ChampionSpell(SpellSlot.Q, 125, ChampionSpell.CastType.AaAttack);
            var W = ChampionSpell.FromLibrary("Talon", SpellSlot.W, ChampionSpell.CastType.Linear);
            var E = new ChampionSpell(SpellSlot.E, 700, ChampionSpell.CastType.Target);
            var R = new ChampionSpell(SpellSlot.R, 500, ChampionSpell.CastType.Self);

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #6
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = ChampionSpell.FromLibrary("DrMundo", SpellSlot.Q, ChampionSpell.CastType.LinearCollision);
            var W = new ChampionSpell(SpellSlot.W, 300, ChampionSpell.CastType.Self);
            var E = new ChampionSpell(SpellSlot.E, 300, ChampionSpell.CastType.Self);
            var R = new ChampionSpell(SpellSlot.R, int.MaxValue, ChampionSpell.CastType.Self);

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #7
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = new ChampionSpell(SpellSlot.Q, 325, ChampionSpell.CastType.AaAttack);
            var W = new ChampionSpell(SpellSlot.W, 325, ChampionSpell.CastType.Self);
            var E = ChampionSpell.FromLibrary("Shyvana", SpellSlot.E, ChampionSpell.CastType.Linear);
            var R = ChampionSpell.FromLibrary("Shyvana", SpellSlot.R, ChampionSpell.CastType.LinearCollision);

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #8
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = new ChampionSpell(SpellSlot.Q, 325, ChampionSpell.CastType.AaAttack);
            var W = new ChampionSpell(SpellSlot.W, 600, ChampionSpell.CastType.Target);
            var E = new ChampionSpell(SpellSlot.E, 650, ChampionSpell.CastType.Circle);
            var R = new ChampionSpell(SpellSlot.R, 325, ChampionSpell.CastType.Self);

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #9
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = ChampionSpell.FromLibrary("Gragas", SpellSlot.Q, ChampionSpell.CastType.Circle);
            var W = new ChampionSpell(SpellSlot.W, 400, ChampionSpell.CastType.Self);
            var E = ChampionSpell.FromLibrary("Gragas", SpellSlot.E, ChampionSpell.CastType.LinearCollision);
            var R = ChampionSpell.FromLibrary("Gragas", SpellSlot.R, ChampionSpell.CastType.Circle);

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #10
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = ChampionSpell.FromLibrary("Cassiopeia", SpellSlot.Q, ChampionSpell.CastType.Circle);
            var W = new ChampionSpell(SpellSlot.W, 850, ChampionSpell.CastType.Circle);
            var E = new ChampionSpell(SpellSlot.E, 700, ChampionSpell.CastType.Target);
            var R = ChampionSpell.FromLibrary("Cassiopeia", SpellSlot.R, ChampionSpell.CastType.Cone);

            E.CastCondition = (Obj_AI_Base unit) => { return unit.HasBuffOfType(BuffType.Poison); };

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #11
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = new ChampionSpell(SpellSlot.Q, 650, ChampionSpell.CastType.Target);
            var W = new ChampionSpell(SpellSlot.W, 125, ChampionSpell.CastType.AaAttack);
            var E = new ChampionSpell(SpellSlot.E, 400, ChampionSpell.CastType.Cone);
            var R = new ChampionSpell(SpellSlot.R, 500, ChampionSpell.CastType.Circle);

            R.CastCondition = (u) => R.Instance.Instance.ManaCost < ObjectManager.Player.Mana;

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #12
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = ChampionSpell.FromLibrary("Olaf", SpellSlot.Q, ChampionSpell.CastType.LinearCollision);
            var W = new ChampionSpell(SpellSlot.W, 325, ChampionSpell.CastType.Self);
            var E = new ChampionSpell(SpellSlot.E, 325, ChampionSpell.CastType.Target);
            var R = new ChampionSpell(SpellSlot.R, int.MaxValue, ChampionSpell.CastType.Self);

            R.CastCondition = (unit) => { return ObjectManager.Player.HasCC(CLEANSABLE_BUFFS); };

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #13
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = new ChampionSpell(SpellSlot.Q, 325, ChampionSpell.CastType.AaAttack);
            var W = new ChampionSpell(SpellSlot.W, 350, ChampionSpell.CastType.Self);
            var E = ChampionSpell.FromLibrary("Rengar", SpellSlot.E, ChampionSpell.CastType.LinearCollision);

            Q.CastCondition = (Obj_AI_Base unit) =>
                {
                    var mana = ObjectManager.Player.Mana;
                    return mana < 5
                           || (mana == 5
                               && !(E.IsReady(unit)
                                    && E.Instance.WillHit(unit.ServerPosition, ObjectManager.Player.ServerPosition))
                               && ObjectManager.Player.HealthPercentage() > 75);
                };

            W.CastCondition = (Obj_AI_Base unit) =>
                {
                    var mana = ObjectManager.Player.Mana;
                    return mana < 5
                           || (mana == 5
                               && !(E.IsReady(unit)
                                    && E.Instance.WillHit(unit.ServerPosition, ObjectManager.Player.ServerPosition))
                               && ObjectManager.Player.HealthPercentage() < 75);
                };

            E.CastCondition = (Obj_AI_Base unit) =>
                {
                    var mana = ObjectManager.Player.Mana;
                    return mana < 5
                           || (mana == 5
                               && (E.IsReady(unit)
                                   && E.Instance.WillHit(unit.ServerPosition, ObjectManager.Player.ServerPosition)));
                };

            result.Add(Q);
            result.Add(W);
            result.Add(E);

            return result;
        }
Пример #14
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = new ChampionSpell(SpellSlot.Q, 325, ChampionSpell.CastType.Target);
            var W = ChampionSpell.FromLibrary("Khazix", SpellSlot.W, ChampionSpell.CastType.LinearCollision);
            var E = ChampionSpell.FromLibrary("Khazix", SpellSlot.E, ChampionSpell.CastType.Circle);
            var R = new ChampionSpell(SpellSlot.R, 400, ChampionSpell.CastType.Self);

            Q.CastCondition = (unit) =>
                {
                    if (ObjectManager.Player.Spellbook.GetSpell(SpellSlot.Q).Name == "khazixqlong")
                    {
                        Q.Range = 375;
                    }

                    return true; // always return true, this will make the condition checked and passed each call
                };

            E.CastCondition = (unit) =>
                {
                    if (ObjectManager.Player.Spellbook.GetSpell(SpellSlot.E).Name == "khazixelong")
                    {
                        E.Range = 900;
                    }

                    return true; // always return true, this will make the condition checked and passed each call
                };

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #15
0
        /// <summary>
        ///     The get spells.
        /// </summary>
        /// <returns>
        /// </returns>
        protected override List<ChampionSpell> GetSpells()
        {
            var result = new List<ChampionSpell>();

            var Q = new ChampionSpell(SpellSlot.Q, 625, ChampionSpell.CastType.Target);
            var W = new ChampionSpell(SpellSlot.W, int.MaxValue, ChampionSpell.CastType.Self);
            var E = new ChampionSpell(SpellSlot.E, 1300, ChampionSpell.CastType.Self);
            var R = new ChampionSpell(SpellSlot.R, int.MaxValue, ChampionSpell.CastType.Circle);

            W.CreateHandler(ChampionSpell.HandlerType.OnSelfHealthBelow); // Create heal handle

            W.CastCondition = (unit) =>
                {
                    // Cleanse all CC with W... TODO: Test
                    return ObjectManager.Player.HasCC(CLEANSABLE_BUFFS);
                };

            result.Add(Q);
            result.Add(W);
            result.Add(E);
            result.Add(R);

            return result;
        }
Пример #16
0
 /// <summary>
 ///     Remove the specified spell from the spell list
 /// </summary>
 /// <param name="spell"></param>
 public void Remove(ChampionSpell spell)
 {
     this.Spells.Remove(spell);
 }
Пример #17
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="Zed" /> class.
        /// </summary>
        public Zed()
        {
            this.championSpellQ = ChampionSpell.FromLibrary("Zed", SpellSlot.Q, ChampionSpell.CastType.Linear);
            this.championSpellQ.CastCondition = (unit) =>
                {
                    if (this.ShadowW != null && unit.Distance(this.ShadowW.ServerPosition) <= 900
                        && unit.Distance(ObjectManager.Player.ServerPosition) > 450)
                    {
                        this.championSpellQ.From = this.ShadowW.ServerPosition;
                    }
                    else
                    {
                        this.championSpellQ.From = ObjectManager.Player.ServerPosition;
                    }

                    return true;
                };
            this.championSpellW = new ChampionSpell(SpellSlot.W, 550f, ChampionSpell.CastType.Linear)
                                      {
                                          CastCondition = unit => true, CastFunction = (unit) =>
                                              {
                                                  if (DelayW >= (Environment.TickCount - this.tickW)
                                                      || (this.ShadowStage != ShadowCastStage.First)
                                                      || (unit.HasBuff("zedulttargetmark")
                                                          && LastCastedSpell.LastCastPacketSent != null
                                                          && LastCastedSpell.LastCastPacketSent.Slot == SpellSlot.R
                                                          && this.UltimateStage == UltimateCastStage.Cooldown))
                                                  {
                                                      return;
                                                  }

                                                  var position = unit.ServerPosition.Extend(
                                                      ObjectManager.Player.Position,
                                                      -200);
                                                  this.championSpellW.Instance.Cast(position);
                                                  this.tickW = Environment.TickCount;
                                              }
                                      };
            this.championSpellE = new ChampionSpell(SpellSlot.E, 270f, ChampionSpell.CastType.Self)
                                      {
                                          CastCondition =
                                              (unit) =>
                                              (unit.Distance(ObjectManager.Player.ServerPosition)
                                               <= this.championSpellE.Range)
                                              || ((this.ShadowW != null
                                                   && this.ShadowW.Distance(unit) <= this.championSpellE.Range)
                                                  || (this.ShadowR != null
                                                      && this.ShadowR.Distance(unit) <= this.championSpellE.Range)),
                                      };
            this.championSpellR = new ChampionSpell(SpellSlot.R, 650f, ChampionSpell.CastType.Target);
        }
Пример #18
0
 /// <summary>
 ///     Insert a new spell into the spell list
 /// </summary>
 /// <param name="spell"></param>
 public void Add(ChampionSpell spell)
 {
     this.Spells.Add(spell);
 }