Пример #1
0
 public Volibear()
 {
     this.Q = new Spell.Active(SpellSlot.Q, 750);
     this.W = new Spell.Targeted(SpellSlot.W, 395);
     this.E = new Spell.Active(SpellSlot.E, 415);
     this.R = new Spell.Active(SpellSlot.R);
 }
Пример #2
0
 public Shen()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 2000, SkillShotType.Linear, 500, 2500, 150);
     this.W = new Spell.Active(SpellSlot.W);
     this.E = new Spell.Skillshot(SpellSlot.E, 610, SkillShotType.Linear, 500, 1600, 50);
     this.R = new Spell.Targeted(SpellSlot.R, 31000);
 }
Пример #3
0
 public Teemo()
 {
     this.Q = new Spell.Targeted(SpellSlot.Q, 680);
     this.W = new Spell.Active(SpellSlot.W);
     this.E = new Spell.Active(SpellSlot.E);
     this.R = new Spell.Skillshot(SpellSlot.R, 300, SkillShotType.Circular, 500, 1000, 120);
 }
Пример #4
0
 public Maokai()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 600, SkillShotType.Linear, 500, 1200, 110);
     this.W = new Spell.Targeted(SpellSlot.W, 525);
     this.E = new Spell.Skillshot(SpellSlot.E, 1075, SkillShotType.Circular, 1000, 1500, 225);
     this.R = new Spell.Active(SpellSlot.R, 475);
 }
Пример #5
0
 public JarvanIv()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 830, SkillShotType.Linear);
     this.W = new Spell.Active(SpellSlot.W, 520);
     this.E = new Spell.Skillshot(SpellSlot.E, 860, SkillShotType.Circular);
     this.R = new Spell.Targeted(SpellSlot.R, 650);
 }
Пример #6
0
 public MissFortune()
 {
     this.Q = new Spell.Targeted(SpellSlot.Q, 650);
     this.W = new Spell.Active(SpellSlot.W);
     this.E = new Spell.Skillshot(SpellSlot.E, 1000, SkillShotType.Circular, 500, int.MaxValue, 200);
     this.R = new Spell.Skillshot(SpellSlot.R, 1400, SkillShotType.Cone, 0, int.MaxValue);
 }
Пример #7
0
 public Trundle()
 {
     this.Q = new Spell.Active(SpellSlot.Q);
     this.W = new Spell.Skillshot(SpellSlot.W, 900, SkillShotType.Circular, 0, int.MaxValue, 1000);
     this.E = new Spell.Skillshot(SpellSlot.E, 1000, SkillShotType.Circular, 250, int.MaxValue, 225);
     this.R = new Spell.Targeted(SpellSlot.R, 700);
 }
Пример #8
0
 public Janna()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 1100, SkillShotType.Linear, 300);
     this.W = new Spell.Targeted(SpellSlot.W, 600);
     this.E = new Spell.Targeted(SpellSlot.E, 800);
     this.R = new Spell.Active(SpellSlot.R, 725);
 }
Пример #9
0
 public DrMundo()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 1000, SkillShotType.Linear, 50, 2000, 60);
     this.W = new Spell.Active(SpellSlot.W, 162);
     this.E = new Spell.Active(SpellSlot.E);
     this.R = new Spell.Active(SpellSlot.R);
 }
Пример #10
0
 public Yasuo()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 475, SkillShotType.Linear);
     this.W = new Spell.Skillshot(SpellSlot.W, 400, SkillShotType.Linear);
     this.E = new Spell.Targeted(SpellSlot.E, 475);
     this.R = new Spell.Active(SpellSlot.R, 1200);
 }
Пример #11
0
 public MasterYi()
 {
     this.Q = new Spell.Targeted(SpellSlot.Q, 625);
     this.W = new Spell.Active(SpellSlot.W);
     this.E = new Spell.Active(SpellSlot.E);
     this.R = new Spell.Active(SpellSlot.R);
 }
Пример #12
0
 public FiddleSticks()
 {
     this.Q = new Spell.Targeted(SpellSlot.Q, 575);
     this.W = new Spell.Targeted(SpellSlot.W, 575);
     this.E = new Spell.Targeted(SpellSlot.E, 750);
     this.R = new Spell.Skillshot(SpellSlot.R, 800, SkillShotType.Circular, 1750, Int32.MaxValue, 600);
 }
Пример #13
0
 public Diana()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 830, SkillShotType.Cone, 500, 1600, 195);
     this.W = new Spell.Active(SpellSlot.W, 350);
     this.E = new Spell.Active(SpellSlot.E, 200);
     this.R = new Spell.Targeted(SpellSlot.R, 825);
 }
Пример #14
0
 public Singed()
 {
     this.Q = new Spell.Active(SpellSlot.Q);
     this.W = new Spell.Skillshot(SpellSlot.W, 1000, SkillShotType.Circular, 500, 700, 350);
     this.E = new Spell.Targeted(SpellSlot.E, 125);
     this.R = new Spell.Active(SpellSlot.R);
 }
Пример #15
0
 public Sejuani()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 650, SkillShotType.Linear, 0, 1600, 70);
     this.W = new Spell.Active(SpellSlot.W, 350);
     this.E = new Spell.Active(SpellSlot.E, 1000);
     this.R = new Spell.Skillshot(SpellSlot.R, 1175, SkillShotType.Linear, 250, 1600, 110);
 }
Пример #16
0
 public Pantheon()
 {
     this.Q = new Spell.Targeted(SpellSlot.Q, 600);
     this.W = new Spell.Targeted(SpellSlot.W, 600);
     this.E = new Spell.Skillshot(SpellSlot.E, 600, SkillShotType.Cone, 250, 2000, 70);
     this.R = new Spell.Skillshot(SpellSlot.R, 2000, SkillShotType.Circular);
 }
Пример #17
0
 public Morgana()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 1200, SkillShotType.Linear, 250, 1200, 80);
     this.W = new Spell.Skillshot(SpellSlot.W, 900, SkillShotType.Circular, 250, 2200, 400);
     this.E = new Spell.Targeted(SpellSlot.E, 750);
     this.R = new Spell.Active(SpellSlot.R, 600);
 }
Пример #18
0
 public Sona()
 {
     this.Q = new Spell.Active(SpellSlot.Q, 850);
     this.W = new Spell.Active(SpellSlot.W, 1000);
     this.E = new Spell.Active(SpellSlot.E, 350);
     this.R = new Spell.Skillshot(SpellSlot.R, 1000, SkillShotType.Circular, 250, 2400, 140);
 }
Пример #19
0
 public Vladimir()
 {
     this.Q = new Spell.Targeted(SpellSlot.Q, 600);
     this.W = new Spell.Active(SpellSlot.W, 150);
     this.E = new Spell.Active(SpellSlot.E, 600);
     this.R = new Spell.Skillshot(SpellSlot.R, 750, SkillShotType.Circular, 250, int.MaxValue, 170);
 }
Пример #20
0
 public Nami()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 875, SkillShotType.Circular, 1, int.MaxValue, 150);
     this.W = new Spell.Targeted(SpellSlot.W, 725);
     this.E = new Spell.Targeted(SpellSlot.E, 800);
     this.R = new Spell.Skillshot(SpellSlot.R, 2750, SkillShotType.Linear, 250, 500, 160);
 }
Пример #21
0
 public Braum()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 1000, SkillShotType.Linear, 250, 1700, 60);
     this.W = new Spell.Targeted(SpellSlot.W, 650);
     this.E = new Spell.Skillshot(SpellSlot.E, 500, SkillShotType.Cone, 250, 2000, 250);
     this.R = new Spell.Skillshot(SpellSlot.R, 1300, SkillShotType.Linear, 250, 1300, 115);
 }
Пример #22
0
 public Katarina()
 {
     this.Q = new Spell.Targeted(SpellSlot.Q, 675);
     this.W = new Spell.Active(SpellSlot.W, 375);
     this.E = new Spell.Targeted(SpellSlot.E, 700);
     this.R = new Spell.Active(SpellSlot.R, 550);
 }
Пример #23
0
 public Warwick()
 {
     this.Q = new Spell.Targeted(SpellSlot.Q, 400);
     this.W = new Spell.Active(SpellSlot.W, 1250);
     this.E = new Spell.Active(SpellSlot.E, 1500);
     this.R = new Spell.Targeted(SpellSlot.R, 700);
 }
Пример #24
0
 public Skarner()
 {
     this.Q = new Spell.Targeted(SpellSlot.Q, 600);
     this.W = new Spell.Skillshot(SpellSlot.W, 700, SkillShotType.Circular);
     this.E = new Spell.Active(SpellSlot.E, 325);
     this.R = new Spell.Targeted(SpellSlot.R, 700);
 }
Пример #25
0
 public Renekton()
 {
     this.Q = new Spell.Active(SpellSlot.Q, 225);
     this.W = new Spell.Active(SpellSlot.W);
     this.E = new Spell.Skillshot(SpellSlot.E, 450, SkillShotType.Linear);
     this.R = new Spell.Active(SpellSlot.R);
 }
Пример #26
0
 public Karthus()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 950, SkillShotType.Circular, 1000, int.MaxValue, 160);
     this.W = new Spell.Skillshot(SpellSlot.W, 1000, SkillShotType.Circular, 500, int.MaxValue, 70);
     this.E = new Spell.Active(SpellSlot.E, 505);
     this.R = new Spell.Skillshot(SpellSlot.R, 25000, SkillShotType.Circular, 3000, int.MaxValue, int.MaxValue);
 }
Пример #27
0
 public Chogath()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 950, SkillShotType.Circular, 750, int.MaxValue, 175);
     this.W = new Spell.Skillshot(SpellSlot.W, 575, SkillShotType.Cone, 250, 1750, 100);
     this.E = new Spell.Active(SpellSlot.E);
     this.R = new Spell.Targeted(SpellSlot.R, 500);
 }
Пример #28
0
 public Tristana()
 {
     this.Q = new Spell.Active(SpellSlot.Q, 550);
     this.W = new Spell.Skillshot(SpellSlot.W, 900, SkillShotType.Circular, 450, int.MaxValue, 180);
     this.E = new Spell.Targeted(SpellSlot.E, 550);
     this.R = new Spell.Targeted(SpellSlot.R, 550);
 }
Пример #29
0
 public Fiora()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 750, SkillShotType.Linear);
     this.W = new Spell.Skillshot(SpellSlot.W, 750, SkillShotType.Linear, 500, 3200, 70);
     this.E = new Spell.Active(SpellSlot.E, 200);
     this.R = new Spell.Targeted(SpellSlot.R, 500);
 }
Пример #30
0
 public Heimerdinger()
 {
     this.Q = new Spell.Skillshot(SpellSlot.Q, 350, SkillShotType.Linear, (int)0.5f, 1450, (int)40f);
     this.W = new Spell.Skillshot(SpellSlot.W, 1325, SkillShotType.Cone, (int)0.5f, 902, 200);
     this.E = new Spell.Skillshot(SpellSlot.E, 970, SkillShotType.Circular, (int)0.5f, 2500, 120);
     this.R = new Spell.Active(SpellSlot.R, 350);
 }
Пример #31
0
 public static float GetRealDamage(this Spell.SpellBase spell, Obj_AI_Base target)
 {
     return(spell.Slot.GetRealDamage(target));
 }
Пример #32
0
 /// <summary>
 ///     Returns true if the spell will kill the target.
 /// </summary>
 public static bool WillKill(this Spell.SpellBase spell, Obj_AI_Base target, float MultiplyDmgBy = 1, float ExtraDamage = 0, DamageType ExtraDamageType = DamageType.True)
 {
     return(Player.Instance.GetSpellDamage(target, spell.Slot) * MultiplyDmgBy + Player.Instance.CalculateDamageOnUnit(target, ExtraDamageType, ExtraDamage) >= Prediction.Health.GetPrediction(target, spell.CastDelay + Game.Ping / 2));
 }
Пример #33
0
 public static AIHeroClient GetTgt(this Spell.SpellBase spell, int extraRange = 200)
 {
     return(TargetSelector.GetTarget(spell.Range + extraRange, spell.DamageType));
 }
Пример #34
0
 public static bool Mana(this Spell.SpellBase spell, Menu m)
 {
     return(ObjectManager.Player.ManaPercent > m.slider(spell.Slot + "Mana"));
 }
Пример #35
0
 public static AIHeroClient GetTarget(this Spell.SpellBase spell, int additionalRange = 50)
 {
     return(TargetSelector.GetTarget(spell.Range + additionalRange, spell.DamageType));
 }
Пример #36
0
 private static void Q_OnSpellCasted(Spell.SpellBase spell, GameObjectProcessSpellCastEventArgs args)
 {
     isCharging = false;
 }
Пример #37
0
 public static float Mana(this Spell.SpellBase spell)
 {
     return(spell.Handle.SData.Mana);
 }
Пример #38
0
 public static float GetRealDamage(this Spell.SpellBase spell, Obj_AI_Base target)
 {
     return(GetRealDamage(spell.Slot, target, spell.IsMiniSpell() ? TransformStates.Mini : TransformStates.Mega));
 }
Пример #39
0
        public static bool SmartCast(this Spell.SpellBase spell, int hitChance = 75, Obj_AI_Base target = null)
        {
            if (!spell.IsReady())
            {
                return(false);
            }

            var mode = Orbwalker.ActiveModesFlags;

            var skillShot = spell as Spell.Skillshot;

            #region Combo
            //Combo logic
            if (mode.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                //Get target if null
                if (target == null)
                {
                    target = spell.GetTgt();
                }

                if (target == null)
                {
                    return(false);
                }

                //IsSkillshot
                if (skillShot != null)
                {
                    if (skillShot.AllowedCollisionCount > 1)
                    {
                        var enemyCount = Player.Instance.CountEnemiesInRange(spell.Range + 100);
                        if (enemyCount >= 2)
                        {
                            skillShot.CastIfItWillHit(1, hitChance);
                            return(true);
                        }

                        if (enemyCount >= 3)
                        {
                            skillShot.CastIfItWillHit(2, hitChance);
                            return(true);
                        }
                    }
                    skillShot.CastMinimumHitchance(target, hitChance);
                    return(true);
                }

                if (target.IsValidTarget(spell.Range))
                {
                    spell.Cast(target);
                    return(true);
                }
            }
            #endregion Combo

            #region Harass
            //Harass logic
            if (mode.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                //Get target if null
                if (target == null)
                {
                    target = spell.GetTgt();
                }

                if (target == null)
                {
                    return(false);
                }

                //IsSkillshot
                if (skillShot != null)
                {
                    if (skillShot.AllowedCollisionCount > 1)
                    {
                        if (Player.Instance.CountEnemiesInRange(spell.Range + 100) >= 2)
                        {
                            skillShot.CastIfItWillHit(1, hitChance);
                            return(true);
                        }

                        if (Player.Instance.CountEnemiesInRange(spell.Range + 100) >= 3)
                        {
                            skillShot.CastIfItWillHit(2, hitChance);
                            return(true);
                        }
                    }

                    skillShot.CastMinimumHitchance(target, hitChance);
                    return(true);
                }

                if (target.IsValidTarget(spell.Range))
                {
                    spell.Cast(target);
                    return(true);
                }
            }
            #endregion Harass

            #region JungleClear

            if (mode.HasFlag(Orbwalker.ActiveModes.JungleClear))
            {
                if (target == null)
                {
                    target =
                        EntityManager.MinionsAndMonsters.GetJungleMonsters().OrderByDescending(m => m.MaxHealth)
                        .ThenBy(m => m.Distance(Player.Instance)).FirstOrDefault(
                            m => m.IsValidTarget(spell.Range));
                }

                if (target != null && target.IsValidTarget(spell.Range))
                {
                    //IsSkillshot
                    skillShot?.CastMinimumHitchance(target, hitChance);
                    spell.Cast(target);
                }
            }

            #endregion JungleClear

            #region LaneClear
            if (mode.HasFlag(Orbwalker.ActiveModes.LaneClear))
            {
                //IsSkillShot
                if (skillShot != null)
                {
                    if (skillShot.AllowedCollisionCount > 1)
                    {
                        var minionCount = Player.Instance.CountEnemyMinionsInRange(spell.Range + 100);
                        if (minionCount >= 2)
                        {
                            skillShot.CastOnBestFarmPosition(1);
                            return(true);
                        }

                        if (minionCount >= 3)
                        {
                            skillShot.CastOnBestFarmPosition(2);
                            return(true);
                        }
                    }

                    if (target == null)
                    {
                        return(false);
                    }

                    skillShot.CastMinimumHitchance(target, hitChance);
                    return(true);
                }
                if (target != null && target.IsValidTarget(spell.Range))
                {
                    spell.Cast(target);
                    return(true);
                }
            }
            #endregion LaneClear

            return(false);
        }
Пример #40
0
        public static void OnSkillShotDetected_OnDetect(DetectedSkillshotData args)
        {
            if (args.Caster == null || !args.Caster.IsEnemy || !args.WillHit(Player.Instance) || !Program.SubMenu["enabled"].Cast <CheckBox>().CurrentValue)
            {
                return;
            }

            var hero   = args.Caster as AIHeroClient;
            var player = Player.Instance;

            #region Skillshots

            foreach (var shot in Shots.Where(shot => args.Data.MissileName == shot))
            {
                if (player.BaseSkinName == "Zyra")
                {
                    W = new Spell.SimpleSkillshot(SpellSlot.W);
                    E = new Spell.SimpleSkillshot(SpellSlot.E);
                    {
                        if (hero != null && W.IsReady() && E.IsReady())
                        {
                            W.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                            E.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                        }
                    }
                }

                if (player.BaseSkinName == "Sivir")
                {
                    E = new Spell.Active(SpellSlot.E);
                    {
                        if (hero != null && E.IsReady())
                        {
                            E.Cast();
                        }
                    }
                }

                if (player.BaseSkinName == "Heimerdinger")
                {
                    Q = new Spell.SimpleSkillshot(SpellSlot.Q);
                    {
                        if (hero != null && Q.IsReady())
                        {
                            Q.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                        }
                    }
                }

                if (player.BaseSkinName == "Leblanc")
                {
                    R  = new Spell.Active(SpellSlot.R);
                    R1 = new Spell.SimpleSkillshot(SpellSlot.R);
                    {
                        if (hero != null && R.IsReady())
                        {
                            if (player.Spellbook.Spells[3].Name == "LeblancR")
                            {
                                R.Cast();
                                R1.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                            }
                            else
                            {
                                R1.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                            }
                        }
                    }
                }

                if (player.BaseSkinName == "Shaco")
                {
                    W = new Spell.SimpleSkillshot(SpellSlot.W);
                    {
                        if (hero != null && W.IsReady())
                        {
                            W.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                        }
                    }
                }

                if (player.BaseSkinName == "Fiora")
                {
                    W = new Spell.SimpleSkillshot(SpellSlot.W);
                    {
                        if (hero != null && W.IsReady())
                        {
                            W.Cast(hero.ServerPosition);
                        }
                    }
                }

                if (player.BaseSkinName == "Fizz")
                {
                    W = new Spell.Active(SpellSlot.E);
                    {
                        if (hero != null && E.IsReady() && E.ToggleState != 1)
                        {
                            E.Cast();
                        }
                    }
                }

                if (player.BaseSkinName == "Malzahar")
                {
                    W = new Spell.SimpleSkillshot(SpellSlot.W);
                    {
                        if (hero != null && W.IsReady())
                        {
                            W.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                        }
                    }
                }

                if (player.BaseSkinName == "MonkeyKing")
                {
                    W = new Spell.Active(SpellSlot.W);
                    {
                        if (hero != null && W.IsReady())
                        {
                            W.Cast();
                        }
                    }
                }

                if (player.BaseSkinName == "Yasuo")
                {
                    W = new Spell.SimpleSkillshot(SpellSlot.W);
                    {
                        if (hero != null && W.IsReady())
                        {
                            W.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 5));
                        }
                    }
                }

                if (player.BaseSkinName == "Nocturne")
                {
                    E = new Spell.Active(SpellSlot.E);
                    {
                        if (hero != null && E.IsReady())
                        {
                            E.Cast();
                        }
                    }
                }
            }

            #endregion

            #region Hooks

            foreach (var hook in Hooks.Where(hook => args.Data.MissileName == hook))
            {
                if (player.BaseSkinName == "Zyra")
                {
                    W = new Spell.SimpleSkillshot(SpellSlot.W);
                    E = new Spell.SimpleSkillshot(SpellSlot.E);
                    {
                        if (hero != null && W.IsReady() && E.IsReady())
                        {
                            W.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                            E.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                        }
                    }
                }

                if (player.BaseSkinName == "Sivir")
                {
                    E = new Spell.Active(SpellSlot.E);
                    {
                        if (hero != null && E.IsReady())
                        {
                            E.Cast();
                        }
                    }
                }

                if (player.BaseSkinName == "Anivia")
                {
                    W = new Spell.SimpleSkillshot(SpellSlot.W);
                    {
                        if (hero != null && W.IsReady())
                        {
                            Core.DelayAction(() => W.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 50)), (int)player.Distance(hero) / 2);
                        }
                    }
                }

                if (player.BaseSkinName == "Heimerdinger")
                {
                    Q = new Spell.SimpleSkillshot(SpellSlot.Q);
                    {
                        if (hero != null && Q.IsReady())
                        {
                            Q.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                        }
                    }
                }

                if (player.BaseSkinName == "Leblanc")
                {
                    R  = new Spell.Active(SpellSlot.R);
                    R1 = new Spell.SimpleSkillshot(SpellSlot.R);
                    {
                        if (hero != null && R.IsReady())
                        {
                            if (player.Spellbook.Spells[3].Name == "LeblancR")
                            {
                                R.Cast();
                                R1.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                            }
                            else
                            {
                                R1.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 50));
                            }
                        }
                    }
                }

                if (player.BaseSkinName == "Shaco")
                {
                    W = new Spell.SimpleSkillshot(SpellSlot.W);
                    {
                        if (hero != null && W.IsReady())
                        {
                            W.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                        }
                    }
                }

                if (player.BaseSkinName == "Fiora")
                {
                    W = new Spell.SimpleSkillshot(SpellSlot.W);
                    {
                        if (hero != null && W.IsReady())
                        {
                            W.Cast(hero.ServerPosition);
                        }
                    }
                }

                if (player.BaseSkinName == "Fizz")
                {
                    E = new Spell.Active(SpellSlot.E);
                    {
                        if (hero != null && E.IsReady() && E.ToggleState != 1)
                        {
                            E.Cast();
                        }
                    }
                }

                if (player.BaseSkinName == "Malzahar")
                {
                    W = new Spell.SimpleSkillshot(SpellSlot.W);
                    {
                        if (hero != null && W.IsReady())
                        {
                            W.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 80));
                        }
                    }
                }

                if (player.BaseSkinName == "Trundle")
                {
                    E = new Spell.SimpleSkillshot(SpellSlot.E, 1000);
                    {
                        if (hero != null && E.IsReady())
                        {
                            Core.DelayAction(() => E.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 50)), (int)player.Distance(hero) / 2);
                        }
                    }
                }

                if (player.BaseSkinName == "MonkeyKing")
                {
                    W = new Spell.Active(SpellSlot.W);
                    {
                        if (hero != null && W.IsReady())
                        {
                            W.Cast();
                        }
                    }
                }

                if (player.BaseSkinName == "Yasuo")
                {
                    W = new Spell.SimpleSkillshot(SpellSlot.W);
                    {
                        if (hero != null && W.IsReady())
                        {
                            W.Cast((Vector3)player.ServerPosition.Extend(hero.ServerPosition, 5));
                        }
                    }
                }

                if (player.BaseSkinName == "Nocturne")
                {
                    E = new Spell.Active(SpellSlot.E);
                    {
                        if (hero != null && E.IsReady())
                        {
                            E.Cast();
                        }
                    }
                }
            }

            #endregion
        }
Пример #41
0
        public List <Spell.SpellBase> Spells(Type q, Type w, Type e, Type r)
        {
            Spell.SpellBase qBase          = null;
            var             firstOrDefault = Player.Spellbook.Spells.Find(s => s.Slot == SpellSlot.Q);
            var             qData          = firstOrDefault.SData;
            var             qData2         =
                SpellDatabase.Spells.Find(
                    s =>
                    string.Equals(s.ChampionName, Player.ChampionName, StringComparison.CurrentCultureIgnoreCase) &&
                    s.Slot == SpellSlot.Q);

            Spell.SpellBase wBase = null;
            firstOrDefault = Player.Spellbook.Spells.Find(s => s.Slot == SpellSlot.W);
            var wData  = firstOrDefault.SData;
            var wData2 =
                SpellDatabase.Spells.Find(
                    s =>
                    string.Equals(s.ChampionName, Player.ChampionName, StringComparison.CurrentCultureIgnoreCase) &&
                    s.Slot == SpellSlot.W);

            Spell.SpellBase eBase = null;
            firstOrDefault = Player.Spellbook.Spells.Find(s => s.Slot == SpellSlot.E);
            var eData  = firstOrDefault.SData;
            var eData2 =
                SpellDatabase.Spells.Find(
                    s =>
                    string.Equals(s.ChampionName, Player.ChampionName, StringComparison.CurrentCultureIgnoreCase) &&
                    s.Slot == SpellSlot.E);

            Spell.SpellBase rBase = null;
            firstOrDefault = Player.Spellbook.Spells.Find(s => s.Slot == SpellSlot.R);
            var rData  = firstOrDefault.SData;
            var rData2 =
                SpellDatabase.Spells.Find(
                    s =>
                    string.Equals(s.ChampionName, Player.ChampionName, StringComparison.CurrentCultureIgnoreCase) &&
                    s.Slot == SpellSlot.R);

            switch (q)
            {
            case Type.Active:
                qBase = new Spell.Active(SpellSlot.Q, (uint)qData.CastRange);
                break;

            case Type.Skillshot:
                qBase = new Spell.Skillshot(SpellSlot.Q, Convert.ToUInt32(qData2.Range * 0.95), qData2.Type, qData2.Delay,
                                            qData2.MissileSpeed, qData2.Radius);
                break;

            case Type.Targeted:
                qBase = new Spell.Targeted(SpellSlot.Q, (uint)qData.CastRange);
                break;
            }

            switch (w)
            {
            case Type.Active:
                wBase = new Spell.Active(SpellSlot.W, (uint)wData.CastRange);
                break;

            case Type.Skillshot:
                wBase = new Spell.Skillshot(SpellSlot.W, Convert.ToUInt32(wData2.Range * 0.95), wData2.Type, wData2.Delay,
                                            wData2.MissileSpeed, wData2.Radius);
                break;

            case Type.Targeted:
                wBase = new Spell.Targeted(SpellSlot.W, (uint)wData.CastRange);
                break;
            }

            switch (e)
            {
            case Type.Active:
                eBase = new Spell.Active(SpellSlot.E, (uint)eData.CastRange);
                break;

            case Type.Skillshot:
                eBase = new Spell.Skillshot(SpellSlot.E, Convert.ToUInt32(eData2.Range * 0.95), eData2.Type, eData2.Delay,
                                            eData2.MissileSpeed, eData2.Radius);
                break;

            case Type.Targeted:
                eBase = new Spell.Targeted(SpellSlot.E, (uint)eData.CastRange);
                break;
            }

            switch (r)
            {
            case Type.Active:
                rBase = new Spell.Active(SpellSlot.R, (uint)rData.CastRange);
                break;

            case Type.Skillshot:
                rBase = new Spell.Skillshot(SpellSlot.R, Convert.ToUInt32(rData2.Range * 0.95), rData2.Type, rData2.Delay,
                                            rData2.MissileSpeed, rData2.Radius);
                break;

            case Type.Targeted:
                rBase = new Spell.Targeted(SpellSlot.R, (uint)rData.CastRange);
                break;
            }

            return(new List <Spell.SpellBase>
            {
                qBase,
                wBase,
                eBase,
                rBase
            });
        }
Пример #42
0
 public static Color GetColor(this Spell.SpellBase spell)
 {
     return(ColorTranslation.ContainsKey(spell.Slot) ? ColorTranslation[spell.Slot] : Color.Wheat);
 }
Пример #43
0
 public static bool SmartCast(this Spell.SpellBase spell, Obj_AI_Base target)
 {
     return(spell.SmartCast(50, target));
 }
Пример #44
0
 /// <summary>
 ///     Returns true The spell slot isn't Unknown
 /// </summary>
 public static bool IsVaild(this Spell.SpellBase spell)
 {
     return(spell.Slot != SpellSlot.Unknown);
 }
Пример #45
0
 public static System.Drawing.Color c(Spell.SpellBase spell)
 {
     return(spell.IsReady() ? System.Drawing.Color.White : System.Drawing.Color.OrangeRed);
 }
Пример #46
0
 public static void CastE(this Spell.SpellBase spell, Obj_AI_Base target)
 {
     E.CastE(target.Position);
 }
Пример #47
0
 protected static AIHeroClient GetTarget(Spell.SpellBase spell, DamageType damageType)
 {
     return(TargetSelector.SelectedTarget != null && spell.IsInRange(TargetSelector.SelectedTarget)
         ? TargetSelector.SelectedTarget
         : TargetSelector.GetTarget(spell.Range, damageType, Player.Instance.Position));
 }
Пример #48
0
 public static string ready(Spell.SpellBase spell)
 {
     return(spell.IsReady() ? ": Ready" : ": CoolDown");
 }