Example #1
0
 public static void ExecuteSpells()
 {
     Q = new Spell(SpellSlot.Q,300f);
     W = new Spell(SpellSlot.W);
     E = new Spell(SpellSlot.E,550f);
     E.SetTargetted(0.25F, 1600f);
     R = new Spell(SpellSlot.R);
 }
Example #2
0
        public static void Load()
        {
            Q = new Spell(SpellSlot.Q, 1050);
            W = new Spell(SpellSlot.W, 700);
            E = new Spell(SpellSlot.E, 800);
            R = new Spell(SpellSlot.R);

            Q.SetSkillshot(0.25f, 60f, 1700f, true, SkillshotType.SkillshotLine);
        }
Example #3
0
 public static void init()
 {
     Q = new Spell(SpellSlot.Q, 1060f);
     Q.SetSkillshot(0.25f, 70f, 1800f, true, SkillshotType.SkillshotLine);
     W = new Spell(SpellSlot.W, 670f);
     E = new Spell(SpellSlot.E, 430f);
     E.SetSkillshot(0.25f, 350f, 0.25f, false, SkillshotType.SkillshotCircle);
     R = new Spell(SpellSlot.R, 375f);
 }
Example #4
0
        public override void Init()
        {
            Q = new Spell(SpellSlot.Q, 600);
            W = new Spell(SpellSlot.W);
            E = new Spell(SpellSlot.E, 950);
            R = new Spell(SpellSlot.R, 1200);

            E.SetSkillshot(0.25f, 60f, 2000f, true, SkillshotType.SkillshotLine);
            R.SetSkillshot(0.425f, 200f, 1600f, true, SkillshotType.SkillshotLine);
        }
Example #5
0
 public PositionSaver(Menu menu, Spell spellToUse)
 {
     _core = new PositionSaverCore();
     _isEnabled = menu.Add(new MenuBool("positionsaverenabled", "Auto use in custom positions", true));
     _saveKey = menu.Add(new MenuKeyBind("positionsaversavekey", "Save cursor pos as custom pos!", Keys.I, KeyBindType.Press));
     _deleteOneKey = menu.Add(new MenuKeyBind("positionsaverdeleteone", "Delete cursor position", Keys.J, KeyBindType.Press));
     _deleteKey = menu.Add(new MenuKeyBind("positionsaverpurge", "Delete all positions", Keys.Delete, KeyBindType.Press));
     _spellToUse = spellToUse;
     Drawing.OnDraw += OnDraw;
 }
Example #6
0
            public static void Load()
            {
                Q = new Spell(SpellSlot.Q);
                W = new Spell(SpellSlot.W, 300);
                E = new Spell(SpellSlot.E, 1000f);
                E.SetSkillshot(0.25f, 70, 1500f, true, SkillshotType.SkillshotLine);
                R = new Spell(SpellSlot.R);

                Ignite = Player.GetSpellSlot("SummonerDot");
            }
Example #7
0
            public static void Load()
            {
                Q = new Spell(SpellSlot.Q);
                W = new Spell(SpellSlot.W, 300);
                E = new Spell(SpellSlot.E, 1000f);
                E.SetSkillshot(0.25f, 70, 1500f, true, SkillshotType.SkillshotLine);
                R = new Spell(SpellSlot.R);

                Ignite = Player.GetSpellSlot("SummonerDot");
            }
Example #8
0
        //Summs
        public Evelynn()
        {
            Q = new Spell(SpellSlot.Q, 500);
            W = new Spell(SpellSlot.W, Q.Range);
            E = new Spell(SpellSlot.E, 225f + 2 * 65f);
            R = new Spell(SpellSlot.R, 650f);

            R.SetSkillshot(0.25f, 350f, float.MaxValue, false, SkillshotType.SkillshotCircle);

            var Key = Menu.Add(new Menu("Key", "Key"));
            {
                Key.Add(new MenuKeyBind("Combo", "Combo", System.Windows.Forms.Keys.Space, KeyBindType.Press));
                Key.Add(new MenuKeyBind("Harass", "Harass", System.Windows.Forms.Keys.C, KeyBindType.Press));
                Key.Add(new MenuKeyBind("LaneClear", "LaneClear", System.Windows.Forms.Keys.V, KeyBindType.Press));
            }

            var Combo = Menu.Add(new Menu("Combo", "Combo"));
            {

                Combo.Add(new MenuBool("UseQCombo", "Use Q", true));

                Combo.Add(new MenuBool("UseWCombo", "Use W ", true));

                Combo.Add(new MenuBool("UseECombo", "Use E", true));

                Combo.Add(new MenuBool("UseRCombo", "Use R", true));
            }

            var Harass = Menu.Add(new Menu("Harass", "Harass"));
            {
                Harass.Add(new MenuBool("HarassUseQ", "Use Q", true));
                Harass.Add(new MenuSlider("HarassQMana", comb + "Min Mana Percent", 40, 0, 100));
            }

            var LaneClear = Menu.Add(new Menu("LaneClear", "LaneClear"));
            {
                LaneClear.Add(new MenuSlider("lanejungleclearQmana", "LaneClear Min Mana", 40));
                LaneClear.Add(new MenuBool("useqlc", "Use Q to laneclear + to JungleClear!", true));
                LaneClear.Add(new MenuSlider("lanejungleclearEmana", "LaneClear Min Mana", 40));
                LaneClear.Add(new MenuBool("useelc", "Use E to laneclear + to JungleClear!", true));
            }

            var Draw = Menu.Add(new Menu("Draw", "Draw"));
            {
                Draw.Add(new MenuBool("DrawQ", "Draw Q Range"));
                Draw.Add(new MenuBool("DrawW", "Draw W Range"));
                Draw.Add(new MenuBool("DrawE", "Draw E Range"));
                Draw.Add(new MenuBool("DrawR", "Draw R Range"));
            }

            Game.OnUpdate += Game_OnUpdate;
            Drawing.OnDraw += Drawing_OnDraw;
            Variables.Orbwalker.OnAction += Orbwalker_OnAction;
        }
Example #9
0
        public static void Load()
        {
            Q = new Spell(SpellSlot.Q);
            W = new Spell(SpellSlot.W, 950);
            E = new Spell(SpellSlot.E, 1200);
            R = new Spell(SpellSlot.R, 900);

            W.SetSkillshot(0.25f, 120f, 1400f, false, SkillshotType.SkillshotCircle);

            Ignite = GameObjects.Player.GetSpellSlot("summonerDot");
        }
Example #10
0
        public static void OnLoad()
        {
            if (ObjectManager.Player.ChampionName != "Taliyah")
                return;

            main_menu = MainMenu.AddMenu("Taliyah", "taliyah");

            comboMenu = main_menu.AddSubMenu("Combo", "taliyah.combo");
            comboMenu.Add("taliyah.combo.useq", new CheckBox("Use Q"));
            comboMenu.Add("taliyah.combo.usew", new CheckBox("Use W"));
            comboMenu.Add("taliyah.combo.usee", new CheckBox("Use E"));

            harassMenu = main_menu.AddSubMenu("Harass", "taliyah.harass");
            harassMenu.Add("taliyah.harass.useq", new CheckBox("Use Q"));
            harassMenu.Add("taliyah.harass.manaperc", new Slider("Min. Mana", 40, 0, 100));

            laneclearMenu = main_menu.AddSubMenu("LaneClear", "taliyah.laneclear");
            laneclearMenu.Add("taliyah.laneclear.useq", new CheckBox("Use Q"));
            laneclearMenu.Add("taliyah.laneclear.useew", new CheckBox("Use EW", false));
            laneclearMenu.Add("taliyah.laneclear.minq", new Slider("Min. Q Hit", 3, 1, 6));
            laneclearMenu.Add("taliyah.laneclear.minew", new Slider("Min. EW Hit", 5, 1, 6));
            laneclearMenu.Add("taliyah.laneclear.manaperc", new Slider("Min. Mana", 40));

            drawing = main_menu.AddSubMenu("Drawings", "taliyah.drawing");
            drawing.Add("taliyah.drawing.drawq", new CheckBox("Draw Q", true));
            drawing.Add("taliyah.drawing.draww", new CheckBox("Draw W", true));
            drawing.Add("taliyah.drawing.drawe", new CheckBox("Draw E", true));
            drawing.Add("taliyah.drawing.drawr", new CheckBox("Draw R Minimap", true));

            main_menu.Add("taliyah.onlyq5", new CheckBox("Only cast 5x Q", false));
            main_menu.Add("taliyah.antigap", new CheckBox("Auto E to Gapclosers"));
            main_menu.Add("taliyah.interrupt", new CheckBox("Auto W to interrupt spells"));
            main_menu.Add("taliyah.pullenemy", new KeyBind("Pull Selected Target", false, KeyBind.BindTypes.HoldActive, 'T'));
            main_menu.Add("taliyah.pushenemy", new KeyBind("Push Selected Target", false, KeyBind.BindTypes.HoldActive, 'G'));

            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 900f);
            Q.SetSkillshot(0f, 60f, 2000f, true, SkillshotType.SkillshotLine);

            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 800f);
            W.SetSkillshot(0.5f, 50f, float.MaxValue, false, SkillshotType.SkillshotCircle);

            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 700f);
            E.SetSkillshot(0.25f, 150f, 2000f, false, SkillshotType.SkillshotLine);

            Game.OnWndProc += Game_OnWndProc;
            Game.OnUpdate += Game_OnUpdate;
            Drawing.OnDraw += Drawing_OnDraw;
            Obj_AI_Base.OnProcessSpellCast += Obj_AI_Hero_OnProcessSpellCast;
            Events.OnGapCloser += Events_OnGapCloser;
            Events.OnInterruptableTarget += Events_OnInterruptableTarget;
            GameObject.OnCreate += GameObject_OnCreate;
            GameObject.OnDelete += GameObject_OnDelete;
            Drawing.OnEndScene += Drawing_OnEndScene;
        }
Example #11
0
        public static void Load()
        {
            Q = new Spell(SpellSlot.Q);
            W = new Spell(SpellSlot.W, 950);
            E = new Spell(SpellSlot.E, 1200);
            R = new Spell(SpellSlot.R, 900);

            W.SetSkillshot(0.25f, 120f, 1400f, false, SkillshotType.SkillshotCircle);

            Ignite = GameObjects.Player.GetSpellSlot("summonerDot");
        }
Example #12
0
        /// <summary>
        /// Initialize all spells
        /// </summary>
        public static void Initialize()
        {
            Q = new Spell(SpellSlot.Q, 550);
            W = new Spell(SpellSlot.W, 2500);
            E = new Spell(SpellSlot.E, 750);
            R = new Spell(SpellSlot.R, 3500);

            W.SetSkillshot(0.75f, 40, float.MaxValue, false, SkillshotType.SkillshotLine);
            E.SetSkillshot(0.23f, 120, 1600, false, SkillshotType.SkillshotCircle);
            R.SetSkillshot(0.21f, 80, 5000, false, SkillshotType.SkillshotLine);
        }
Example #13
0
            public static void Load()
            {
                Q = new Spell(SpellSlot.Q, 680);
                W = new Spell(SpellSlot.W);
                E = new Spell(SpellSlot.E);
                R = new Spell(SpellSlot.R, 300);

                Q.SetTargetted(0.5f, 1500f);
                R.SetSkillshot(0.5f, 120f, 1000f, false, SkillshotType.SkillshotCircle);

                Ignite = Player.GetSpellSlot("SummonerDot");
            }
Example #14
0
        private static void LoadSpell()
        {
            Q = new Spell(SpellSlot.Q, 800f);
            W = new Spell(SpellSlot.W, 400f);
            E = new Spell(SpellSlot.E, 900f);
            R = new Spell(SpellSlot.R, 450f);

            Q.SetSkillshot(0.75f, 100f, float.MaxValue, false, SkillshotType.SkillshotLine);
            E.SetSkillshot(0.066f, 50f, 1900f, true, SkillshotType.SkillshotLine);

            Ignite = Me.GetSpellSlot("SummonerDot");
        }
Example #15
0
            public static void Load()
            {
                Q = new Spell(SpellSlot.Q, 680);
                W = new Spell(SpellSlot.W);
                E = new Spell(SpellSlot.E);
                R = new Spell(SpellSlot.R, 300);

                Q.SetTargetted(0.5f, 1500f);
                R.SetSkillshot(0.5f, 120f, 1000f, false, SkillshotType.SkillshotCircle);

                Ignite = Player.GetSpellSlot("SummonerDot");
            }
Example #16
0
        public override void Init()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 1100);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 1000);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 600);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R, 750);

            Q.SetSkillshot(0.25f, 200f, 850f, false, SkillshotType.SkillshotLine);
            R.SetSkillshot(0.25f, 200f, float.MaxValue, false, SkillshotType.SkillshotCircle);

            ObjManager.Load();
        }
Example #17
0
        public override void Init()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 850);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 350);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 950);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R, 500);

            Q.SetSkillshot(0.75f, 100f, float.MaxValue, false, SkillshotType.SkillshotLine);
            E.SetSkillshot(0.25f, 50f, 1900f, true, SkillshotType.SkillshotLine);

            LeagueSharp.Common.LSEvents.AfterAttack += Orbwalker_OnPostAttack;
        }
Example #18
0
        public override void Init()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 850);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 350);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 950);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R, 500);

            Q.SetSkillshot(0.75f, 100f, float.MaxValue, false, SkillshotType.SkillshotLine);
            E.SetSkillshot(0.25f, 50f, 1900f, true, SkillshotType.SkillshotLine);

            Orbwalker.OnPostAttack += Orbwalker_OnPostAttack;
        }
Example #19
0
        public override void Init()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 1100);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 1000);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 600);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R, 750);

            Q.SetSkillshot(0.25f, 200f, 850f, false, SkillshotType.SkillshotLine);
            R.SetSkillshot(0.25f, 200f, float.MaxValue, false, SkillshotType.SkillshotCircle);

            ObjManager.Load();
        }
Example #20
0
        public Kennen()
        {
            Q = new Spell(SpellSlot.Q, 1050).SetSkillshot(0.2f, 50, 1700, true, SkillshotType.SkillshotLine);
            W = new Spell(SpellSlot.W, 950);
            E = new Spell(SpellSlot.E);
            R = new Spell(SpellSlot.R, 550);
            Q.DamageType = W.DamageType = R.DamageType = DamageType.Magical;
            Q.MinHitChance = HitChance.VeryHigh;

            var comboMenu = MainMenu.Add(new Menu("Combo", "Combo"));
            {
                comboMenu.Bool("Ignite", "Use Ignite");
                comboMenu.Bool("Q", "Use Q");
                comboMenu.Bool("W", "Use W");
                comboMenu.Separator("R Settings");
                comboMenu.Bool("R", "Use R");
                comboMenu.Slider("RHpU", "If Enemy Hp < (%)", 60);
                comboMenu.Slider("RCountA", "Or Enemy >=", 2, 1, 5);
                comboMenu.Separator("Zhonya Settings For R Combo");
                comboMenu.Bool("Zhonya", "Use Zhonya");
                comboMenu.Slider("ZhonyaHpU", "If Hp < (%)", 20);
            }
            var hybridMenu = MainMenu.Add(new Menu("Hybrid", "Hybrid"));
            {
                hybridMenu.Bool("Q", "Use Q");
                hybridMenu.Separator("W Settings");
                hybridMenu.Bool("W", "Use W");
                hybridMenu.Slider("WMpA", "If Mp >=", 100, 0, 200);
                hybridMenu.Separator("Auto Q Settings");
                hybridMenu.KeyBind("AutoQ", "KeyBind", Keys.T, KeyBindType.Toggle);
                hybridMenu.Slider("AutoQMpA", "If Mp >=", 100, 0, 200);
            }
            var lhMenu = MainMenu.Add(new Menu("LastHit", "Last Hit"));
            {
                lhMenu.Bool("Q", "Use Q");
            }
            var ksMenu = MainMenu.Add(new Menu("KillSteal", "Kill Steal"));
            {
                ksMenu.Bool("Q", "Use Q");
                ksMenu.Bool("W", "Use W");
            }
            var drawMenu = MainMenu.Add(new Menu("Draw", "Draw"));
            {
                drawMenu.Bool("Q", "Q Range", false);
                drawMenu.Bool("W", "W Range", false);
                drawMenu.Bool("R", "R Range", false);
            }
            MainMenu.KeyBind("FleeE", "Use E To Flee", Keys.C);

            Game.OnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
        }
Example #21
0
        public static void Load()
        {
            Q = new Spell(SpellSlot.Q, 650);
            W = new Spell(SpellSlot.W, 200);
            E = new Spell(SpellSlot.E, 700);
            R = new Spell(SpellSlot.R, 500);

            Q.SetTargetted(0.5f, 1400);
            E.SetSkillshot(0.5f, 10f, float.MaxValue, false, SkillshotType.SkillshotCone);
            R.SetSkillshot(0.5f, 150f, float.MaxValue, false, SkillshotType.SkillshotCircle);

            Ignite = GameObjects.Player.GetSpellSlot("summonerDot");
        }
Example #22
0
        public static void Load()
        {
            Q = new Spell(SpellSlot.Q, 650);
            W = new Spell(SpellSlot.W, 200);
            E = new Spell(SpellSlot.E, 700);
            R = new Spell(SpellSlot.R, 500);

            Q.SetTargetted(0.5f, 1400);
            E.SetSkillshot(0.5f, 10f, float.MaxValue, false, SkillshotType.SkillshotCone);
            R.SetSkillshot(0.5f, 150f, float.MaxValue, false, SkillshotType.SkillshotCircle);

            Ignite = GameObjects.Player.GetSpellSlot("summonerDot");
        }
Example #23
0
        public static void OnLoad()
        {
            if (ObjectManager.Player.ChampionName != "Taliyah")
            {
                return;
            }

            main_menu = MainMenu.AddMenu("Taliyah", "taliyah");

            comboMenu = main_menu.AddSubMenu("Combo", "taliyah.combo");
            comboMenu.Add("useq", new CheckBox("Use Q"));
            comboMenu.Add("usew", new CheckBox("Use W"));
            comboMenu.Add("usee", new CheckBox("Use E"));

            harassMenu = main_menu.AddSubMenu("Harass", "taliyah.harass");
            harassMenu.Add("taliyah.harass.useq", new CheckBox("Use Q"));
            harassMenu.Add("taliyah.harass.manaperc", new Slider("Min. Mana", 40, 0, 100));

            laneclearMenu = main_menu.AddSubMenu("LaneClear", "taliyah.laneclear");
            laneclearMenu.Add("taliyah.laneclear.useq", new CheckBox("Use Q"));
            laneclearMenu.Add("taliyah.laneclear.useew", new CheckBox("Use EW", false));
            laneclearMenu.Add("taliyah.laneclear.minq", new Slider("Min. Q Hit", 3, 1, 6));
            laneclearMenu.Add("taliyah.laneclear.minew", new Slider("Min. EW Hit", 5, 1, 6));
            laneclearMenu.Add("taliyah.laneclear.manaperc", new Slider("Min. Mana", 40));


            main_menu.Add("taliyah.onlyq5", new CheckBox("Only cast 5x Q", false));
            main_menu.Add("taliyah.antigap", new CheckBox("Auto E to Gapclosers"));
            main_menu.Add("taliyah.interrupt", new CheckBox("Auto W to interrupt spells"));



            Q = new Spell(SpellSlot.Q, 900f);
            Q.SetSkillshot(0f, 60f, Q.Instance.SData.MissileSpeed, true, SkillshotType.SkillshotLine);

            W = new Spell(SpellSlot.W, 800f);
            W.SetSkillshot(0.5f, 50f, float.MaxValue, false, SkillshotType.SkillshotCircle);

            E = new Spell(SpellSlot.E, 700f);
            E.SetSkillshot(0.25f, 150f, 2000f, false, SkillshotType.SkillshotLine);

            Game.OnUpdate += Game_OnUpdate;
            Obj_AI_Base.OnProcessSpellCast += Obj_AI_Hero_OnProcessSpellCast;
            Events.OnGapCloser             += Events_OnGapCloser;
            Events.OnInterruptableTarget   += Events_OnInterruptableTarget;
            GameObject.OnCreate            += GameObject_OnCreate;
            GameObject.OnDelete            += GameObject_OnDelete;
        }
Example #24
0
 public KogMaw()
 {
     Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 1175);
     Q.SetSkillshot(0.25f, 70f, 1650f, true, SkillshotType.SkillshotLine);
     W = new LeagueSharp.SDK.Spell(SpellSlot.W, 630);
     E = new LeagueSharp.SDK.Spell(SpellSlot.E, 1250);
     E.SetSkillshot(0.25f, 120f, 1400f, false, SkillshotType.SkillshotLine);
     R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1200);
     R.SetSkillshot(1.2f, 75f, 12000f, false, SkillshotType.SkillshotCircle);
     InitializeMenu();
     DelayedOnUpdate          += OnUpdate;
     Drawing.OnDraw           += OnDraw;
     Orbwalker.OnPostAttack   += OnAction;
     AIHeroClient.OnSpellCast += OnDoCast;
     _rand = new Random();
 }
Example #25
0
 public Kalista()
 {
     Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 1150f);
     W = new LeagueSharp.SDK.Spell(SpellSlot.W, 5000);
     E = new LeagueSharp.SDK.Spell(SpellSlot.E, 1000f);
     R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1400f);
     Q.SetSkillshot(0.25f, 40f, 1200f, true, SkillshotType.SkillshotLine);
     InitMenu();
     DelayedOnUpdate                += OnUpdate;
     Drawing.OnDraw                 += HpBarDamageIndicator.Drawing_OnDraw;
     Drawing.OnDraw                 += OnDraw;
     Orbwalker.OnPostAttack         += Orbwalker_OnPostAttack;
     Orbwalker.OnPreAttack          += Orbwalker_OnPreAttack;
     Obj_AI_Base.OnProcessSpellCast += UltLogic_OnSpellcast;
     Game.OnUpdate += UltLogic_OnUpdate;
 }
Example #26
0
        public static Spell CreateSpell(this SpellDatabaseEntry entry)
        {
            try
            {
                var s         = new Spell(entry.Slot, entry.Range);
                var collision = entry.CollisionObjects.Length > 1;
                var type      = entry.SpellType.GetSkillshotType();

                s.SetSkillshot(entry.Delay, entry.Width, entry.MissileSpeed, collision, type);
                return(s);
            }
            catch
            {
                return(new Spell(SpellSlot.Unknown));
            }
        }
Example #27
0
 public static Tuple<LeagueSharp.SDK.Enumerations.HitChance, Vector3, List<Obj_AI_Base>> GetPrediction(AIHeroClient target, Spell spell)
 {
     switch (Utils.Prediction.PredictionMode)
     {
         case 1:
             {
                 var pred = spell.GetPrediction(target);
                 return new Tuple<LeagueSharp.SDK.Enumerations.HitChance, Vector3, List<Obj_AI_Base>>(pred.Hitchance, pred.UnitPosition, pred.CollisionObjects);
             }
         default:
             {
                 var pred = LeagueSharp.Common.Prediction.GetPrediction(target, spell.Delay, spell.Width, spell.Speed);
                 return new Tuple<LeagueSharp.SDK.Enumerations.HitChance, Vector3, List<Obj_AI_Base>>((HitChance)((int)pred.Hitchance), pred.UnitPosition, pred.CollisionObjects);
             }
     }
 }
Example #28
0
        public static Spell CreateSpell(this SpellDatabaseEntry entry)
        {
            try
            {
                var s = new Spell(entry.Slot, entry.Range);
                var collision = entry.CollisionObjects.Length > 1;
                var type = entry.SpellType.GetSkillshotType();

                s.SetSkillshot(entry.Delay, entry.Width, entry.MissileSpeed, collision, type);
                return s;
            }
            catch
            {
                return new Spell(SpellSlot.Unknown);
            }
        }
Example #29
0
        public override void Init()
        {
            HasMana = false;

            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 475);
            Q3 = new LeagueSharp.SDK.Spell(SpellSlot.Q, 1100);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 400);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 475);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1200);

            Q.SetSkillshot(0.325f, 55f, float.MaxValue, false, SkillshotType.SkillshotLine);
            Q3.SetSkillshot(0.3f, 90f, 1200f, false, SkillshotType.SkillshotLine);

            DashManager.Load();

            Events.OnGapCloser += Events_OnGapCloser;
        }
Example #30
0
        public Ashe()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 1100);
            W.SetSkillshot(250f, 75f, 1500f, true, SkillshotType.SkillshotLine);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 25000);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1400);

            R.SetSkillshot(0.25f, 100f, 1600f, false, SkillshotType.SkillshotLine);
            InitMenu();
            AIHeroClient.OnSpellCast     += OnDoCast;
            Orbwalker.OnPreAttack        += Orbwalker_OnPreAttack;
            DelayedOnUpdate              += OnUpdate;
            Drawing.OnDraw               += OnDraw;
            Events.OnGapCloser           += EventsOnOnGapCloser;
            Events.OnInterruptableTarget += OnInterruptableTarget;
        }
Example #31
0
        public Ashe()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 1100);
            W.SetSkillshot(250f, 75f, 1500f, true, SkillshotType.SkillshotLine);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 25000);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1400);

            R.SetSkillshot(250f, 100f, 1600f, false, SkillshotType.SkillshotLine);
            InitMenu();
            AIHeroClient.OnSpellCast += OnDoCast;
            Orbwalker.OnPreAttack += Orbwalker_OnPreAttack;
            DelayedOnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
            Events.OnGapCloser += EventsOnOnGapCloser;
            Events.OnInterruptableTarget += OnInterruptableTarget;
        }
Example #32
0
        public override void Init()
        {
            HasMana = false;

            Q  = new LeagueSharp.SDK.Spell(SpellSlot.Q, 475);
            Q3 = new LeagueSharp.SDK.Spell(SpellSlot.Q, 1100);
            W  = new LeagueSharp.SDK.Spell(SpellSlot.W, 400);
            E  = new LeagueSharp.SDK.Spell(SpellSlot.E, 475);
            R  = new LeagueSharp.SDK.Spell(SpellSlot.R, 1200);

            Q.SetSkillshot(0.325f, 55f, float.MaxValue, false, SkillshotType.SkillshotLine);
            Q3.SetSkillshot(0.3f, 90f, 1200f, false, SkillshotType.SkillshotLine);

            DashManager.Load();

            Events.OnGapCloser += Events_OnGapCloser;
        }
Example #33
0
        public static bool IsSpellHeroCollision(Obj_AI_Hero t, Spell QWER, int extraWith = 50)
        {
            foreach (var hero in GameObjects.EnemyHeroes.Where(hero => hero.IsValidTarget(QWER.Range + QWER.Width, true, QWER.RangeCheckFrom) && t.NetworkId != hero.NetworkId))
            {
                var prediction = QWER.GetPrediction(hero);
                var powCalc = Math.Pow((QWER.Width + extraWith + hero.BoundingRadius), 2);
                if (prediction.UnitPosition.ToVector2().DistanceSquared(QWER.From.ToVector2(), QWER.GetPrediction(t).CastPosition.ToVector2(),  true) <= powCalc)
                {
                    return true;
                }
                else if (prediction.UnitPosition.ToVector2().Distance(QWER.From.ToVector2(), t.ServerPosition.ToVector2(), true) <= powCalc)
                {
                    return true;
                }

            }
            return false;
        }
Example #34
0
            public static void Load()
            {
                Q = new Spell(SpellSlot.Q, 865);
                W = new Spell(SpellSlot.W, 585);
                E = new Spell(SpellSlot.E, 585);
                R = new Spell(SpellSlot.R);

                if(RyzeR)
                {
                    Q.SetSkillshot(0.25f, 50f, 1700f, false, SkillshotType.SkillshotLine);
                }
                else
                {
                    Q.SetSkillshot(0.25f, 50f, 1700f, true, SkillshotType.SkillshotLine);
                }

                Ignite = Player.GetSpellSlot("SummonerDot");
            }
Example #35
0
            public static void Load()
            {
                Q = new Spell(SpellSlot.Q, 865);
                W = new Spell(SpellSlot.W, 585);
                E = new Spell(SpellSlot.E, 585);
                R = new Spell(SpellSlot.R);

                if (RyzeR)
                {
                    Q.SetSkillshot(0.25f, 50f, 1700f, false, SkillshotType.SkillshotLine);
                }
                else
                {
                    Q.SetSkillshot(0.25f, 50f, 1700f, true, SkillshotType.SkillshotLine);
                }


                Ignite = Player.GetSpellSlot("SummonerDot");
            }
Example #36
0
 private static bool CastQKill(LeagueSharp.SDK.Spell spell, Obj_AI_Base target)
 {
     var pred = spell.GetPrediction(target, false, -1, LeagueSharp.SDK.CollisionableObjects.YasuoWall);
     if (pred.Hitchance < Q.MinHitChance)
     {
         return false;
     }
     var col = pred.GetCollision(LeagueSharp.SDK.CollisionableObjects.Heroes | LeagueSharp.SDK.CollisionableObjects.Minions);
     if (col.Count == 0)
     {
         return Q.Cast(pred.CastPosition);
     }
     var subDmg = Q.GetDamage(target, DamageStage.SecondForm);
     if (target is AIHeroClient && target.Health + target.AttackShield <= subDmg)
     {
         return Q.Cast(pred.CastPosition);
     }
     return target is Obj_AI_Minion && spell.CanLastHit(target, subDmg) && Q.Cast(pred.CastPosition);
 }
Example #37
0
        public Kalista()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 1150f);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 5000);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 1000f);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1400f);

            ELS = new LeagueSharp.Common.Spell(SpellSlot.E, 950);

            Q.SetSkillshot(0.25f, 40f, 1200f, true, SkillshotType.SkillshotLine);
            InitMenu();
            DelayedOnUpdate += OnUpdate;
            Drawing.OnDraw += HpBarDamageIndicator.Drawing_OnDraw;
            Drawing.OnDraw += OnDraw;
            Orbwalker.OnPostAttack += Orbwalker_OnPostAttack;
            Orbwalker.OnPreAttack += Orbwalker_OnPreAttack;
            Obj_AI_Base.OnProcessSpellCast += UltLogic_OnSpellcast;
            Game.OnUpdate += UltLogic_OnUpdate;
        }
Example #38
0
        public Lucian()
        {
            Q = new Spell(SpellSlot.Q, 675);
            Q2 = new Spell(SpellSlot.Q, 1200);
            W = new Spell(SpellSlot.W, 1200f);
            E = new Spell(SpellSlot.E, 475f);
            R = new Spell(SpellSlot.R, 1400);

            Q.SetTargetted(0.25f, 1400f);
            Q2.SetSkillshot(0.5f, 50, float.MaxValue, false, SkillshotType.SkillshotLine);
            W.SetSkillshot(0.30f, 70f, 1600f, true, SkillshotType.SkillshotLine);
            R.SetSkillshot(0.2f, 110f, 2500, true, SkillshotType.SkillshotLine);
            InitMenu();
            DelayedOnUpdate += OnUpdate;
            Events.OnGapCloser += EventsOnOnGapCloser;
            Events.OnInterruptableTarget += OnInterruptableTarget;
            Orbwalker.OnAction += OnAction;
            Spellbook.OnCastSpell += OnCastSpell;
        }
Example #39
0
        public Xerath()
        {
            Q = new Spell(SpellSlot.Q, 1550);
            W = new Spell(SpellSlot.W, 1000);
            E = new Spell(SpellSlot.E, 1150);
            R = new Spell(SpellSlot.R, 675);

            Q.SetSkillshot(0.6f, 100f, float.MaxValue, false, SkillshotType.SkillshotLine);
            W.SetSkillshot(0.7f, 125f, float.MaxValue, false, SkillshotType.SkillshotCircle);
            E.SetSkillshot(0.25f, 60f, 1400f, true, SkillshotType.SkillshotLine);
            R.SetSkillshot(0.7f, 120f, float.MaxValue, false, SkillshotType.SkillshotCircle);
            InitMenu();
            Obj_AI_Hero.OnDoCast += OnDoCast;
            Orbwalker.OnAction += OnAction;
            Game.OnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
            Events.OnGapCloser += EventsOnOnGapCloser;
            Events.OnInterruptableTarget += OnInterruptableTarget;
            Obj_AI_Base.OnIssueOrder += OnIssueOrder;
        }
Example #40
0
        public Caitlyn()
        {
            Q = new Spell(SpellSlot.Q, 1200);
            W = new Spell(SpellSlot.W, 820);
            E = new Spell(SpellSlot.E, 770);
            R = new Spell(SpellSlot.R, 2000);

            Q.SetSkillshot(0.25f, 60f, 2000f, false, SkillshotType.SkillshotLine);
            W.SetSkillshot(1.00f, 100f, float.MaxValue, false, SkillshotType.SkillshotCircle);
            E.SetSkillshot(0.25f, 80f, 1600f, true, SkillshotType.SkillshotLine);
            R.SetSkillshot(3.00f, 50f, 1000f, false, SkillshotType.SkillshotLine);
            InitMenu();
            Orbwalker.OnAction += OnAction;
            DelayedOnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            Obj_AI_Base.OnPlayAnimation += OnPlayAnimation;
            Events.OnGapCloser += OnGapCloser;
            Events.OnInterruptableTarget += OnInterruptableTarget;
        }
Example #41
0
        public Lucian()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 675);
            Q2 = new LeagueSharp.SDK.Spell(SpellSlot.Q, 1100);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 1100);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 475f);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1400);

            Q.SetTargetted(0.25f, 1400f);
            Q2.SetSkillshot(0.5f, 50, float.MaxValue, false, SkillshotType.SkillshotLine);
            W.SetSkillshot(0.30f, 70f, 1600f, true, SkillshotType.SkillshotLine);
            R.SetSkillshot(0.2f, 110f, 2500, true, SkillshotType.SkillshotLine);
            InitMenu();
            DelayedOnUpdate += OnUpdate;
            Events.OnGapCloser += EventsOnOnGapCloser;
            Events.OnInterruptableTarget += OnInterruptableTarget;
            LeagueSharp.Common.LSEvents.AfterAttack += Orbwalker_OnPostAttack;
            LeagueSharp.Common.LSEvents.BeforeAttack += Orbwalker_OnPreAttack;
            Spellbook.OnCastSpell += OnCastSpell;
        }
Example #42
0
        public Caitlyn()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 1200);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 820);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 770);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R, 2000);

            Q.SetSkillshot(0.40f, 60f, 2200f, false, SkillshotType.SkillshotLine);
            E.SetSkillshot(0.25f, 80f, 1600f, true, SkillshotType.SkillshotLine);
            R.SetSkillshot(3000f, 50f, 1000f, false, SkillshotType.SkillshotLine);
            InitMenu();
            Orbwalker.OnPostAttack         += Orbwalker_OnPostAttack;
            Orbwalker.OnPreAttack          += Orbwalker_OnPreAttack;
            DelayedOnUpdate                += OnUpdate;
            Drawing.OnDraw                 += OnDraw;
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            Obj_AI_Base.OnPlayAnimation    += OnPlayAnimation;
            Events.OnGapCloser             += EventsOnGapCloser;
            Events.OnInterruptableTarget   += OnInterruptableTarget;
        }
Example #43
0
        public Lucian()
        {
            Q  = new LeagueSharp.SDK.Spell(SpellSlot.Q, 675);
            Q2 = new LeagueSharp.SDK.Spell(SpellSlot.Q, 1200);
            W  = new LeagueSharp.SDK.Spell(SpellSlot.W, 1200f);
            E  = new LeagueSharp.SDK.Spell(SpellSlot.E, 475f);
            R  = new LeagueSharp.SDK.Spell(SpellSlot.R, 1400);

            Q.SetTargetted(0.25f, 1400f);
            Q2.SetSkillshot(0.5f, 50, float.MaxValue, false, SkillshotType.SkillshotLine);
            W.SetSkillshot(0.30f, 70f, 1600f, true, SkillshotType.SkillshotLine);
            R.SetSkillshot(0.2f, 110f, 2500, true, SkillshotType.SkillshotLine);
            InitMenu();
            DelayedOnUpdate              += OnUpdate;
            Events.OnGapCloser           += EventsOnOnGapCloser;
            Events.OnInterruptableTarget += OnInterruptableTarget;
            Orbwalker.OnPostAttack       += Orbwalker_OnPostAttack;
            Orbwalker.OnPreAttack        += Orbwalker_OnPreAttack;
            Spellbook.OnCastSpell        += OnCastSpell;
        }
Example #44
0
        public Jinx()
        {
            Q = new Spell(SpellSlot.Q);
            W = new Spell(SpellSlot.W, 1500f);
            E = new Spell(SpellSlot.E, 920f);
            R = new Spell(SpellSlot.R, 3000f);
            W.SetSkillshot(0.6f, 60f, 3300f, true, SkillshotType.SkillshotLine);
            E.SetSkillshot(1.2f, 100f, 1750f, false, SkillshotType.SkillshotCircle);
            R.SetSkillshot(0.7f, 140f, 1500f, false, SkillshotType.SkillshotLine);

            MenuHero = MainMenu.Add(new Menu("MenuHero", Player.ChampionName));
                MenuDraw = MenuHero.Add(new Menu("MenuDraw", "Draw"));
                    MenuDraw.Add(new MenuBool("Q", "Q range", true));
                    MenuDraw.Add(new MenuBool("W", "W range", true));
                    MenuDraw.Add(new MenuBool("E", "E range", true));
                    MenuDraw.Add(new MenuBool("R", "R range", true));

                MenuQ = MenuHero.Add(new Menu("MenuQ", "Q Config"));
                    MenuQ.Add(new MenuBool("Auto", "Auto", true));
                    MenuQ.Add(new MenuBool("Mix", "Mix", true));

                MenuW = MenuHero.Add(new Menu("MenuW", "W Config"));
                    MenuW.Add(new MenuBool("Auto", "Auto", true));
                    MenuW.Add(new MenuBool("Mix", "Mix", true));
                MenuE = MenuHero.Add(new Menu("MenuE", "E Config"));
                    MenuE.Add(new MenuBool("Auto", "Auto", true));
                    MenuE.Add(new MenuBool("telE", "Auto E on teleport", true));
                    MenuE.Add(new MenuBool("comboE", "Auto E combo logic", true));

                MenuR = MenuHero.Add(new Menu("MenuR", "R Config"));
                MenuR.Add(new MenuBool("Auto", "Auto", true));
                MenuR.Add(new MenuBool("Rturrent", "Don't R under turret", true));
                MenuR.Add(new MenuKeyBind("cast", "Lane Clear", System.Windows.Forms.Keys.T, KeyBindType.Toggle));

            MenuFarm = MenuHero.Add(new Menu("MenuFarm", "Farm"));
                    MenuFarm.Add(new MenuSlider("Mana", "LaneClear mana ", 50));
                    MenuFarm.Add(new MenuBool("Q", "Farm Q", true));

            Orbwalker.OnAction += OnAction;
            Game.OnUpdate += Game_OnUpdate;
        }
Example #45
0
        public Soraka()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 750);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 550);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 900);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R);

            Q.SetSkillshot(0.30f, 125, 1600, false, SkillshotType.SkillshotCircle);
            E.SetSkillshot(0.4f, 70f, 1750, false, SkillshotType.SkillshotCircle);

            InitializeMenu();

            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            DelayedOnUpdate                += OnUpdate;
            Drawing.OnDraw                 += OnDraw;
            GameObject.OnCreate            += OnCreateObj;
            Events.OnGapCloser             += OnGapCloser;
            Events.OnInterruptableTarget   += this.OnInterruptableTarget;
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            this._rand = new Random();
        }
Example #46
0
        public Ezreal()
        {
            Q = new Spell(SpellSlot.Q, 1180);
            Q.SetSkillshot(0.25f, 60f, 2000f, true, SkillshotType.SkillshotLine);

            W = new Spell(SpellSlot.W, 950);
            W.SetSkillshot(0.25f, 80f, 1600f, false, SkillshotType.SkillshotLine);

            E = new Spell(SpellSlot.E, 475);

            R = new Spell(SpellSlot.R, 2500);
            R.SetSkillshot(1.00f, 160f, 2000f, false, SkillshotType.SkillshotLine);
            InitMenu();
            DelayedOnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
            Events.OnGapCloser += EventsOnOnGapCloser;
            Events.OnInterruptableTarget += OnInterruptableTarget;
            Spellbook.OnCastSpell += OnCastSpell;
            Orbwalker.OnAction += OnAction;
            Obj_AI_Base.OnTarget += ObjAiBaseOnOnTarget;
        }
Example #47
0
 /// <summary>
 /// Thats basically provide combo damage
 /// </summary>
 /// <param name="spell1">Q Spell</param>
 /// <param name="spell2">W Spell</param>
 /// <param name="spell3">E Spell</param>
 /// <param name="spell4">R Spell</param>
 /// <param name="unit">Target</param>
 /// <returns></returns>
 public static float ComboDamage(this Spell spell1, Spell spell2, Spell spell3, Spell spell4, AIHeroClient unit)
 {
     var combodamage = 0f;
     if (spell1.IsReady())
     {
         combodamage += spell1.GetDamage(unit);
     }
     if (spell2.IsReady())
     {
         combodamage += spell2.GetDamage(unit);
     }
     if (spell3.IsReady())
     {
         combodamage += spell2.GetDamage(unit);
     }
     if (spell4.IsReady())
     {
         combodamage += spell2.GetDamage(unit);
     }
     return combodamage;
 }
Example #48
0
        public Soraka()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 750);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 550);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 900);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R);

            Q.SetSkillshot(0.30f, 125, 1600, false, SkillshotType.SkillshotCircle);
            E.SetSkillshot(0.4f, 70f, 1750, false, SkillshotType.SkillshotCircle);

            InitializeMenu();

            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            DelayedOnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
            GameObject.OnCreate += OnCreateObj;
            Events.OnGapCloser += OnGapCloser;
            Events.OnInterruptableTarget += this.OnInterruptableTarget;
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            this._rand = new Random();
        }
Example #49
0
        /// <summary>
        /// Thats basically provide combo damage
        /// </summary>
        /// <param name="spell1">Q Spell</param>
        /// <param name="spell2">W Spell</param>
        /// <param name="spell3">E Spell</param>
        /// <param name="spell4">R Spell</param>
        /// <param name="unit">Target</param>
        /// <returns></returns>
        public static float ComboDamage(this Spell spell1, Spell spell2, Spell spell3, Spell spell4, AIHeroClient unit)
        {
            var combodamage = 0f;

            if (spell1.IsReady())
            {
                combodamage += spell1.GetDamage(unit);
            }
            if (spell2.IsReady())
            {
                combodamage += spell2.GetDamage(unit);
            }
            if (spell3.IsReady())
            {
                combodamage += spell2.GetDamage(unit);
            }
            if (spell4.IsReady())
            {
                combodamage += spell2.GetDamage(unit);
            }
            return(combodamage);
        }
Example #50
0
        public Caitlyn()
        {
            Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 1200);
            W = new LeagueSharp.SDK.Spell(SpellSlot.W, 820);
            E = new LeagueSharp.SDK.Spell(SpellSlot.E, 770);
            R = new LeagueSharp.SDK.Spell(SpellSlot.R, 2000);

            Q.SetSkillshot(0.25f, 60f, 2000f, false, SkillshotType.SkillshotLine);
            W.SetSkillshot(1.00f, 100f, float.MaxValue, false, SkillshotType.SkillshotCircle);
            E.SetSkillshot(0.25f, 80f, 1600f, true, SkillshotType.SkillshotLine);
            R.SetSkillshot(3.00f, 50f, 1000f, false, SkillshotType.SkillshotLine);

            InitMenu();
            LeagueSharp.Common.LSEvents.AfterAttack += Orbwalker_OnPostAttack;
            LeagueSharp.Common.LSEvents.BeforeAttack += Orbwalker_OnPreAttack;
            DelayedOnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            Obj_AI_Base.OnPlayAnimation += OnPlayAnimation;
            Events.OnGapCloser += EventsOnGapCloser;
            Events.OnInterruptableTarget += OnInterruptableTarget;
        }
Example #51
0
        public static object GetPrediction(this Spell spell, Obj_AI_Base target)
        {
            switch (PredictionMode.SelectedValue)
            {
            case "SDK":
            {
                return(spell.GetPrediction(target));
            }

            case "Common":
            {
                var commonSpell = new LeagueSharp.Common.Spell(spell.Slot, spell.Range);
                commonSpell.SetSkillshot(spell.Delay, spell.Width, spell.Speed, spell.Collision, GetCommonSkillshotType(spell.Type));
                return(commonSpell.GetPrediction(target));
            }

            default:
            {
                return(spell.GetPrediction(target));
            }
            }
        }
Example #52
0
        public void DrawSpell(LeagueSharp.SDK.Spell spell)
        {
            if (spell == null)
            {
                return;
            }

            var color   = System.Drawing.Color.White;
            var CanDraw = true;

            switch (spell.Slot)
            {
            case SpellSlot.Q:
                color   = QColor;
                CanDraw = DrawQ;
                break;

            case SpellSlot.W:
                color   = WColor;
                CanDraw = DrawW;
                break;

            case SpellSlot.E:
                color   = EColor;
                CanDraw = DrawE;
                break;

            case SpellSlot.R:
                color   = RColor;
                CanDraw = DrawR;
                break;
            }

            if (CanDraw && (!DrawReady || spell.IsReady()))
            {
                Render.Circle.DrawCircle(Me.Position, spell.Range, color);
            }
        }
Example #53
0
 public static bool IsKillable(this Obj_AI_Base target, LeagueSharp.SDK.Spell spell)
 {
     return(spell.GetDamage(target) >= Health.GetPrediction(target, spell.TravelTime(target)));
 }
Example #54
0
        public static Tuple <LeagueSharp.SDK.Enumerations.HitChance, Vector3, List <Obj_AI_Base> > GetPrediction(AIHeroClient target, Spell spell)
        {
            switch (Utils.Prediction.PredictionMode)
            {
            case 1:
            {
                var pred = spell.GetPrediction(target);
                return(new Tuple <LeagueSharp.SDK.Enumerations.HitChance, Vector3, List <Obj_AI_Base> >(pred.Hitchance, pred.UnitPosition, pred.CollisionObjects));
            }

            default:
            {
                var pred = LeagueSharp.Common.Prediction.GetPrediction(target, spell.Delay, spell.Width, spell.Speed);
                return(new Tuple <LeagueSharp.SDK.Enumerations.HitChance, Vector3, List <Obj_AI_Base> >((HitChance)((int)pred.Hitchance), pred.UnitPosition, pred.CollisionObjects));
            }
            }
        }
Example #55
0
        public Yasuo()
        {
            Q                 = new LeagueSharp.SDK.Spell(SpellSlot.Q, 505).SetSkillshot(0.4f, 20, float.MaxValue, false, SkillshotType.SkillshotLine);
            Q2                = new LeagueSharp.SDK.Spell(Q.Slot, 1100).SetSkillshot(Q.Delay, 90, 1250, true, Q.Type);
            Q3                = new LeagueSharp.SDK.Spell(Q.Slot, 250).SetTargetted(0.01f, float.MaxValue);
            W                 = new LeagueSharp.SDK.Spell(SpellSlot.W, 400);
            E                 = new LeagueSharp.SDK.Spell(SpellSlot.E, 475).SetTargetted(0.01f, 1250);
            E2                = new LeagueSharp.SDK.Spell(Q.Slot).SetTargetted(E.Delay + Q3.Delay, E.Speed);
            R                 = new LeagueSharp.SDK.Spell(SpellSlot.R, 1200);
            Q.DamageType      = Q2.DamageType = R.DamageType = DamageType.Physical;
            E.DamageType      = DamageType.Magical;
            Q.MinHitChance    = Q2.MinHitChance = HitChance.VeryHigh;
            Q.CastCondition  += () => !isBlockQ;
            Q2.CastCondition += () => !isBlockQ;
            Q3.CastCondition += () => !isBlockQ && IsDashing;

            if (YasuoPro.YasuoMenu.ComboM != null)
            {
                if (EntityManager.Heroes.Enemies.Any())
                {
                    Evade.Init();
                }
                Evade.Evading    += Evading;
                Evade.TryEvading += TryEvading;
                return;
            }

            comboMenu = config.AddSubMenu("Combo", "Combo");
            comboMenu.AddGroupLabel("Q: Always On");
            comboMenu.AddGroupLabel("E Gap Settings");
            comboMenu.Add("EGap", new CheckBox("Use E"));
            comboMenu.Add("EMode", new ComboBox("Follow Mode", 0, "Enemy", "Mouse"));
            comboMenu.Add("ETower", new CheckBox("Under Tower", false));
            comboMenu.Add("EStackQ", new CheckBox("Stack Q While Gap", false));
            comboMenu.AddGroupLabel("R Settings");
            comboMenu.Add("R", new KeyBind("Use R", false, KeyBind.BindTypes.PressToggle, 'X'));
            comboMenu.Add("RDelay", new CheckBox("Delay Cast"));
            comboMenu.Add("RHpU", new Slider("If Enemies Hp < (%)", 60));
            comboMenu.Add("RCountA", new Slider("Or Count >=", 2, 1, 5));

            hybridMenu = config.AddSubMenu("Hybrid", "Hybrid");
            hybridMenu.AddGroupLabel("Q: Always On");
            hybridMenu.Add("Q3", new CheckBox("Also Q3"));
            hybridMenu.Add("QLastHit", new CheckBox("Last Hit (Q1/2)"));
            hybridMenu.AddGroupLabel("Auto Q Settings");
            hybridMenu.Add("AutoQ", new KeyBind("KeyBind", false, KeyBind.BindTypes.PressToggle, 'T'));
            hybridMenu.Add("AutoQ3", new CheckBox("Also Q3", false));

            lcMenu = config.AddSubMenu("LaneClear", "Lane Clear");
            lcMenu.AddGroupLabel("Q Settings");
            lcMenu.Add("Q", new CheckBox("Use Q"));
            lcMenu.Add("Q3", new CheckBox("Also Q3", false));
            lcMenu.AddGroupLabel("E Settings");
            lcMenu.Add("E", new CheckBox("Use E"));
            lcMenu.Add("ELastHit", new CheckBox("Last Hit Only", false));
            lcMenu.Add("ETower", new CheckBox("Under Tower", false));

            lhMenu = config.AddSubMenu("LastHit", "Last Hit");
            lhMenu.AddGroupLabel("Q Settings");
            lhMenu.Add("Q", new CheckBox("Use Q"));
            lhMenu.Add("Q3", new CheckBox("Also Q3", false));
            lhMenu.AddGroupLabel("E Settings");
            lhMenu.Add("E", new CheckBox("Use E"));
            lhMenu.Add("ETower", new CheckBox("Under Tower", false));

            ksMenu = config.AddSubMenu("KillSteal", "Kill Steal");
            ksMenu.Add("Q", new CheckBox("Use Q"));
            ksMenu.Add("E", new CheckBox("Use E"));
            ksMenu.Add("R", new CheckBox("Use R"));
            foreach (var enemy in ObjectManager.Get <AIHeroClient>().Where(o => o.IsEnemy))
            {
                ksMenu.Add("RCast" + enemy.NetworkId, new CheckBox("Cast On " + enemy.ChampionName, false));
            }

            fleeMenu = config.AddSubMenu("Flee", "Flee");
            fleeMenu.Add("E", new KeyBind("Use E", false, KeyBind.BindTypes.HoldActive, 'C'));
            fleeMenu.Add("Q", new CheckBox("Stack Q While Dash"));

            if (EntityManager.Heroes.Enemies.Any())
            {
                Evade.Init();
            }

            drawMenu = config.AddSubMenu("Draw", "Draw");
            drawMenu.Add("Q", new CheckBox("Q Range", false));
            drawMenu.Add("E", new CheckBox("E Range", false));
            drawMenu.Add("R", new CheckBox("R Range", false));
            drawMenu.Add("UseR", new CheckBox("R In Combo Status"));
            drawMenu.Add("StackQ", new CheckBox("Auto Stack Q Status"));

            miscMenu = config.AddSubMenu("Misc", "Misc");
            miscMenu.Add("StackQ", new KeyBind("Auto Stack Q", false, KeyBind.BindTypes.PressToggle, 'Z'));

            Evade.Evading    += Evading;
            Evade.TryEvading += TryEvading;
            Game.OnUpdate    += OnUpdate;
            Drawing.OnDraw   += OnDraw;
            Game.OnUpdate    += args =>
            {
                if (Player.IsDead)
                {
                    if (endDashT > 0)
                    {
                        endDashT = 0;
                        posDash  = new Vector3();
                    }
                    return;
                }
                if (endDashT > 0 && !Player.IsDashing())
                {
                    endDashT = 0;
                    DelayAction.Add(70, () => posDash = new Vector3());
                }
                if (!haveQ3 && Q.Delay > 0.18f)
                {
                    var qDelay = Math.Max(0.4f * (1 - Math.Min((Player.AttackSpeedMod - 1) * 0.5f, 0.55f)), 0.18f);
                    if (!Q.Delay.Equals(qDelay))
                    {
                        Q.Delay = qDelay;
                    }
                }
                if (haveQ3 && Q2.Delay > 0.27f)
                {
                    var qDelay = Math.Max(
                        0.4f * (1 - Math.Min((Player.AttackSpeedMod - 1) * 0.296f, 0.325f)),
                        0.27f);
                    if (!Q2.Delay.Equals(qDelay))
                    {
                        Q2.Delay = qDelay;
                    }
                }
                var eSpeed = 1250 + (Player.MoveSpeed - 345);
                if (!E.Speed.Equals(eSpeed))
                {
                    E.Speed = E2.Speed = eSpeed;
                }
            };
            Orbwalker.OnPostAttack += (sender, args) =>
            {
                if (!Q.IsReady() || haveQ3 || (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) || Orbwalker.LastTarget is AIHeroClient || Orbwalker.LastTarget is Obj_AI_Minion)
                {
                    return;
                }
                if (Q.GetTarget(50) != null || EntityManager.MinionsAndMonsters.EnemyMinions.Where(i => i.IsMinion() || i.IsPet(false)).Concat(EntityManager.MinionsAndMonsters.Monsters).Count(i => i.IsValidTarget(Q.Range + 50)) > 0)
                {
                    return;
                }
                if ((Items.HasItem((int)ItemId.Sheen) && Items.CanUseItem((int)ItemId.Sheen)) || (Items.HasItem((int)ItemId.Trinity_Force) && Items.CanUseItem((int)ItemId.Trinity_Force)))
                {
                    Q.Cast(Game.CursorPos);
                }
            };
            Events.OnDash += (sender, args) =>
            {
                if (!args.Unit.IsMe)
                {
                    return;
                }
                posDash  = args.EndPos.ToVector3();
                endDashT = args.EndTick;
            };
            Game.OnUpdate += args =>
            {
                if (Player.IsDead)
                {
                    return;
                }
                if (cDash == 1 && Player.GetBuffCount("YasuoDashScalar") == 2)
                {
                    cDash = 2;
                }
            };
            Obj_AI_Base.OnBuffGain += (sender, args) =>
            {
                if (!sender.IsMe || !args.Buff.Caster.IsMe)
                {
                    return;
                }
                switch (args.Buff.DisplayName)
                {
                case "YasuoQ3W":
                    haveQ3 = true;
                    break;

                case "YasuoDashScalar":
                    cDash = 1;
                    break;

                case "YasuoRArmorPen":
                    haveR = isBlockQ = true;
                    Orbwalker.DisableAttacking = true;
                    Orbwalker.DisableMovement  = true;
                    break;

                case "yasuoeqcombosoundmiss":
                case "YasuoEQComboSoundHit":
                    DelayAction.Add(
                        70,
                        () =>
                    {
                        if (Player.IsDead)
                        {
                            return;
                        }
                        Orbwalker.ResetAutoAttack();
                        EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, Player.ServerPosition.LSExtend(Game.CursorPos, Player.BoundingRadius * 2));
                    });
                    break;
                }
            };
            Obj_AI_Base.OnBuffLose += (sender, args) =>
            {
                if (!sender.IsMe || !args.Buff.Caster.IsMe)
                {
                    return;
                }
                switch (args.Buff.DisplayName)
                {
                case "YasuoQ3W":
                    haveQ3 = false;
                    break;

                case "YasuoDashScalar":
                    cDash = 0;
                    break;
                }
            };
            Obj_AI_Base.OnBuffLose += (sender, args) =>
            {
                if (sender.IsAlly || !haveR || args.Buff.DisplayName != "yasuorknockupcombotar")
                {
                    return;
                }
                haveR = false;
                DelayAction.Add(
                    7,
                    () =>
                {
                    Orbwalker.DisableAttacking = false;
                    Orbwalker.DisableMovement  = false;
                });
                DelayAction.Add(22, () => isBlockQ = false);
            };
            Obj_AI_Base.OnProcessSpellCast += (sender, args) =>
            {
                if (!sender.IsMe || args.Slot != SpellSlot.Q)
                {
                    return;
                }
                EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, args.Start.LSExtend(args.End, Player.BoundingRadius * 2));
            };
        }
Example #56
0
        public Yasuo()
        {
            Q                = new LeagueSharp.SDK.Spell(SpellSlot.Q, 505).SetSkillshot(QDelay, 20, float.MaxValue, false, SkillshotType.SkillshotLine);
            Q2               = new LeagueSharp.SDK.Spell(Q.Slot, 1100).SetSkillshot(Q2Delay, 90, 1200, true, Q.Type);
            Q3               = new LeagueSharp.SDK.Spell(Q.Slot, 250).SetTargetted(0.005f, float.MaxValue);
            W                = new LeagueSharp.SDK.Spell(SpellSlot.W, 400);
            E                = new LeagueSharp.SDK.Spell(SpellSlot.E, 475).SetTargetted(0, 1050);
            E2               = new LeagueSharp.SDK.Spell(E.Slot).SetTargetted(E.Delay + Q3.Delay, E.Speed);
            R                = new LeagueSharp.SDK.Spell(SpellSlot.R, 1200);
            Q.DamageType     = Q2.DamageType = R.DamageType = DamageType.Physical;
            E.DamageType     = DamageType.Magical;
            Q.MinHitChance   = Q2.MinHitChance = HitChance.VeryHigh;
            E.CastCondition += () => !posDash.IsValid();

            if (YasuoPro.YasuoMenu.ComboM != null)
            {
                if (EntityManager.Heroes.Enemies.Any())
                {
                    Evade.Init();
                }
                Evade.Evading    += Evading;
                Evade.TryEvading += TryEvading;
                return;
            }

            comboMenu = config.AddSubMenu("Combo", "Combo");
            comboMenu.AddGroupLabel("Q: Always On");
            comboMenu.AddGroupLabel("E Gap Settings");
            comboMenu.Add("EGap", new CheckBox("Use E"));
            comboMenu.Add("EMode", new ComboBox("Follow Mode", 0, "Enemy", "Mouse"));
            comboMenu.Add("ETower", new CheckBox("Under Tower", false));
            comboMenu.Add("EStackQ", new CheckBox("Stack Q While Gap", false));
            comboMenu.AddGroupLabel("R Settings");
            comboMenu.Add("R", new KeyBind("Use R", false, KeyBind.BindTypes.PressToggle, 'X'));
            comboMenu.Add("RDelay", new CheckBox("Delay Cast"));
            comboMenu.Add("RHpU", new Slider("If Enemies Hp < (%)", 60));
            comboMenu.Add("RCountA", new Slider("Or Count >=", 2, 1, 5));

            hybridMenu = config.AddSubMenu("Hybrid", "Hybrid");
            hybridMenu.AddGroupLabel("Q: Always On");
            hybridMenu.Add("Q3", new CheckBox("Also Q3"));
            hybridMenu.Add("QLastHit", new CheckBox("Last Hit (Q1/2)"));
            hybridMenu.AddGroupLabel("Auto Q Settings");
            hybridMenu.Add("AutoQ", new KeyBind("KeyBind", false, KeyBind.BindTypes.PressToggle, 'T'));
            hybridMenu.Add("AutoQ3", new CheckBox("Also Q3", false));

            lcMenu = config.AddSubMenu("LaneClear", "Lane Clear");
            lcMenu.AddGroupLabel("Q Settings");
            lcMenu.Add("Q", new CheckBox("Use Q"));
            lcMenu.Add("Q3", new CheckBox("Also Q3", false));
            lcMenu.AddGroupLabel("E Settings");
            lcMenu.Add("E", new CheckBox("Use E"));
            lcMenu.Add("ELastHit", new CheckBox("Last Hit Only", false));
            lcMenu.Add("ETower", new CheckBox("Under Tower", false));

            lhMenu = config.AddSubMenu("LastHit", "Last Hit");
            lhMenu.AddGroupLabel("Q Settings");
            lhMenu.Add("Q", new CheckBox("Use Q"));
            lhMenu.Add("Q3", new CheckBox("Also Q3", false));
            lhMenu.AddGroupLabel("E Settings");
            lhMenu.Add("E", new CheckBox("Use E"));
            lhMenu.Add("ETower", new CheckBox("Under Tower", false));

            ksMenu = config.AddSubMenu("KillSteal", "Kill Steal");
            ksMenu.Add("Q", new CheckBox("Use Q"));
            ksMenu.Add("E", new CheckBox("Use E"));
            ksMenu.Add("R", new CheckBox("Use R"));
            foreach (var enemy in ObjectManager.Get <AIHeroClient>().Where(o => o.IsEnemy))
            {
                ksMenu.Add("RCast" + enemy.NetworkId, new CheckBox("Cast On " + enemy.ChampionName, false));
            }

            fleeMenu = config.AddSubMenu("Flee", "Flee");
            fleeMenu.Add("E", new KeyBind("Use E", false, KeyBind.BindTypes.HoldActive, 'C'));
            fleeMenu.Add("Q", new CheckBox("Stack Q While Dash"));

            if (EntityManager.Heroes.Enemies.Any())
            {
                Evade.Init();
            }

            drawMenu = config.AddSubMenu("Draw", "Draw");
            drawMenu.Add("Q", new CheckBox("Q Range", false));
            drawMenu.Add("E", new CheckBox("E Range", false));
            drawMenu.Add("R", new CheckBox("R Range", false));
            drawMenu.Add("UseR", new CheckBox("R In Combo Status"));
            drawMenu.Add("StackQ", new CheckBox("Auto Stack Q Status"));

            miscMenu = config.AddSubMenu("Misc", "Misc");
            miscMenu.Add("StackQ", new KeyBind("Auto Stack Q", false, KeyBind.BindTypes.PressToggle, 'Z'));

            Evade.Evading    += Evading;
            Evade.TryEvading += TryEvading;
            Game.OnUpdate    += OnUpdate;
            Drawing.OnDraw   += OnDraw;
            Game.OnUpdate    += args =>
            {
                if (Player.IsDead)
                {
                    if (isDash)
                    {
                        isDash  = false;
                        posDash = new Vector2();
                    }
                    return;
                }
                if (isDash && !Player.IsDashing())
                {
                    isDash = false;
                    DelayAction.Add(50, () => posDash = new Vector2());
                }
                Q.Delay  = GetQDelay(false);
                Q2.Delay = GetQDelay(true);
                E.Speed  = E2.Speed = 1045 + (Player.MoveSpeed - 345);
            };
            Orbwalker.OnPostAttack += (sender, args) =>
            {
                if (!Q.IsReady() || haveQ3 || (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) || Orbwalker.LastTarget is AIHeroClient || Orbwalker.LastTarget is Obj_AI_Minion)
                {
                    return;
                }
                if (Q.GetTarget(50) != null || Common.ListMinions().Count(i => i.IsValidTarget(Q.Range + 50)) > 0)
                {
                    return;
                }
                if ((Items.HasItem((int)ItemId.Sheen) && Items.CanUseItem((int)ItemId.Sheen)) || (Items.HasItem((int)ItemId.Trinity_Force) && Items.CanUseItem((int)ItemId.Trinity_Force)))
                {
                    Q.Cast(Game.CursorPos);
                }
            };
            Events.OnDash += (sender, args) =>
            {
                if (!args.Unit.IsMe)
                {
                    return;
                }
                isDash  = true;
                posDash = args.EndPos;
            };
            Obj_AI_Base.OnBuffGain += (sender, args) =>
            {
                if (!sender.IsMe)
                {
                    return;
                }
                switch (args.Buff.DisplayName)
                {
                case "YasuoQ3W":
                    haveQ3 = true;
                    break;

                case "YasuoDashScalar":
                    cDash = 1;
                    break;
                }
            };
            Obj_AI_Base.OnBuffUpdate += (sender, args) =>
            {
                if (!sender.IsMe || !args.Buff.Caster.IsMe || args.Buff.DisplayName != "YasuoDashScalar")
                {
                    return;
                }
                cDash = 2;
            };
            Obj_AI_Base.OnBuffLose += (sender, args) =>
            {
                if (!sender.IsMe)
                {
                    return;
                }
                switch (args.Buff.DisplayName)
                {
                case "YasuoQ3W":
                    haveQ3 = false;
                    break;

                case "YasuoDashScalar":
                    cDash = 0;
                    break;
                }
            };
            Obj_AI_Base.OnSpellCast += (sender, args) =>
            {
                if (!sender.IsMe || !args.SData.Name.StartsWith("YasuoQ") || args.SData.Name.EndsWith("Mis"))
                {
                    return;
                }
                if (args.SData.Name.EndsWith("W"))
                {
                    DelayAction.Add(50, Orbwalker.ResetAutoAttack);
                }
                EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, Player.ServerPosition.LSExtend(args.End, -(Player.BoundingRadius * 2)));
            };
        }
Example #57
0
 public static int TravelTime(this LeagueSharp.SDK.Spell spell, Vector3 From, Vector3 To)
 {
     return((int)((From.Distance(To) / spell.Speed) + (Math.Abs(spell.Delay + Game.Ping))));
 }
Example #58
0
 public static int TravelTime(this LeagueSharp.SDK.Spell spell, Vector2 From, Obj_AI_Base To)
 {
     return((int)((From.Distance(To.ServerPosition) / spell.Speed) + (Math.Abs(spell.Delay + Game.Ping))));
 }
Example #59
0
        public Zed()
        {
            Q              = new LeagueSharp.SDK.Spell(SpellSlot.Q, 925).SetSkillshot(0.25f, 50, 1700, true, SkillshotType.SkillshotLine);
            Q2             = new LeagueSharp.SDK.Spell(Q.Slot, Q.Range).SetSkillshot(Q.Delay, Q.Width, Q.Speed, true, Q.Type);
            Q3             = new LeagueSharp.SDK.Spell(Q.Slot, Q.Range).SetSkillshot(Q.Delay, Q.Width, Q.Speed, true, Q.Type);
            W              = new LeagueSharp.SDK.Spell(SpellSlot.W, 700).SetSkillshot(0, 0, 1750, false, SkillshotType.SkillshotLine);
            E              = new LeagueSharp.SDK.Spell(SpellSlot.E, 290).SetTargetted(0.005f, float.MaxValue);
            R              = new LeagueSharp.SDK.Spell(SpellSlot.R, 625);
            Q.DamageType   = W.DamageType = E.DamageType = R.DamageType = DamageType.Physical;
            Q.MinHitChance = HitChance.VeryHigh;

            comboMenu = config.AddSubMenu("Combo", "Combo");
            comboMenu.AddGroupLabel("Q/E: Always On");
            comboMenu.Add("Ignite", new CheckBox("Use Ignite"));
            comboMenu.Add("Items", new CheckBox("Use Items"));
            comboMenu.AddGroupLabel("Swap Settings");
            comboMenu.Add("SwapIfKill", new CheckBox("Swap W/R If Mark Can Kill Target", false));
            comboMenu.Add("SwapIfHpU", new Slider("Swap W/R If Hp < (%)", 10));
            comboMenu.Add("SwapGap", new ComboBox("Swap W/R To Gap Close", 1, "OFF", "Smart", "Always"));
            comboMenu.AddGroupLabel("W Settings");
            comboMenu.Add("WNormal", new CheckBox("Use For Non-R Combo"));
            comboMenu.Add("WAdv", new ComboBox("Use For R Combo", 1, "OFF", "Line", "Triangle", "Mouse"));
            comboMenu.AddGroupLabel("R Settings");
            comboMenu.Add("R", new KeyBind("Use R", false, KeyBind.BindTypes.PressToggle, 'X'));
            comboMenu.Add("RMode", new ComboBox("Mode", 0, "Always", "Wait Q/E"));
            comboMenu.Add("RStopRange", new Slider("Prevent Q/W/E If R Ready And Distance <=", (int)(R.Range + 200), (int)R.Range, (int)(R.Range + W.Range)));
            if (GameObjects.EnemyHeroes.Any())
            {
                comboMenu.AddGroupLabel("Extra R Settings");
                foreach (var enemy in ObjectManager.Get <AIHeroClient>().Where(o => o.IsEnemy))
                {
                    comboMenu.Add("RCast" + enemy.NetworkId, new CheckBox("Cast On " + enemy.ChampionName, false));
                }
            }

            hybridMenu = config.AddSubMenu("Hybrid", "Hybrid");
            hybridMenu.Add("Mode", new ComboBox("Mode", 1, "W-E-Q", "E-Q", "Q"));
            hybridMenu.Add("WEQ", new KeyBind("Only W If Hit E-Q", false, KeyBind.BindTypes.PressToggle, 'X'));
            hybridMenu.AddGroupLabel("Auto Q Settings (Champ)");
            hybridMenu.Add("AutoQ", new KeyBind("KeyBind", false, KeyBind.BindTypes.PressToggle, 'T'));
            hybridMenu.Add("AutoQMpA", new Slider("If Mp >=", 100, 0, 200));
            hybridMenu.AddGroupLabel("Auto E Settings (Champ/Shadow)");
            hybridMenu.Add("AutoE", new CheckBox("Auto", false));

            lhMenu = config.AddSubMenu("LastHit", "Last Hit");
            lhMenu.Add("Q", new CheckBox("Use Q"));

            ksMenu = config.AddSubMenu("KillSteal", "Kill Steal");
            ksMenu.Add("Q", new CheckBox("Use Q"));
            ksMenu.Add("E", new CheckBox("Use E"));

            if (GameObjects.EnemyHeroes.Any())
            {
                Evade.Init();
            }

            drawMenu = config.AddSubMenu("Draw", "Draw");
            drawMenu.Add("Q", new CheckBox("Q Range", false));
            drawMenu.Add("W", new CheckBox("W Range", false));
            drawMenu.Add("E", new CheckBox("E Range", false));
            drawMenu.Add("R", new CheckBox("R Range", false));
            drawMenu.Add("RStop", new CheckBox("Prevent Q/W/E Range", false));
            drawMenu.Add("UseR", new CheckBox("R In Combo Status"));
            drawMenu.Add("Target", new CheckBox("Target"));
            drawMenu.Add("DMark", new CheckBox("Death Mark"));
            drawMenu.Add("WPos", new CheckBox("W Shadow"));
            drawMenu.Add("RPos", new CheckBox("R Shadow"));

            miscMenu = config.AddSubMenu("Misc", "Misc");
            miscMenu.Add("FleeW", new KeyBind("Use W To Flee", false, KeyBind.BindTypes.HoldActive, 'C'));

            Evade.Evading    += Evading;
            Evade.TryEvading += TryEvading;
            Game.OnUpdate    += OnUpdate;
            Drawing.OnDraw   += OnDraw;
            Obj_AI_Base.OnProcessSpellCast += (sender, args) =>
            {
                if (!sender.IsMe)
                {
                    return;
                }
                if (args.Slot == SpellSlot.W && args.SData.Name == "ZedW")
                {
                    rCasted = false;
                    wCasted = true;
                }
                else if (args.Slot == SpellSlot.R && args.SData.Name == "ZedR")
                {
                    wCasted = false;
                    rCasted = true;
                }
            };
            GameObject.OnCreate += (sender, args) =>
            {
                if (sender.IsEnemy)
                {
                    return;
                }
                var shadow = sender as Obj_AI_Minion;
                if (shadow == null || !shadow.IsAlly || shadow.CharData.BaseSkinName != "ZedUltMissile" || shadow.CharData.BaseSkinName != "ZedShadowDashMissile" || shadow.CharData.BaseSkinName != "zedshadow")
                {
                    return;
                }
                if (wCasted)
                {
                    wShadowT = Variables.TickCount;
                    wShadow  = shadow;
                    wCasted  = rCasted = false;
                }
                else if (rCasted)
                {
                    rShadowT = Variables.TickCount;
                    rShadow  = shadow;
                    wCasted  = rCasted = false;
                }
            };
            Obj_AI_Base.OnBuffGain += (sender, args) =>
            {
                if (sender.IsEnemy || !args.Buff.Caster.IsMe)
                {
                    return;
                }
                var shadow = sender as Obj_AI_Minion;
                if (shadow != null && shadow.IsAlly && shadow.BaseSkinName == "ZedShadow" && args.Buff.Caster.IsMe)
                {
                    switch (args.Buff.Name)
                    {
                    case "zedwshadowbuff":
                        if (!wShadow.Compare(shadow))
                        {
                            wShadowT = Variables.TickCount;
                            wShadow  = shadow;
                        }
                        break;

                    case "zedrshadowbuff":
                        if (!rShadow.Compare(shadow))
                        {
                            rShadowT = Variables.TickCount;
                            rShadow  = shadow;
                        }
                        break;
                    }
                }
            };
            Obj_AI_Base.OnPlayAnimation += (sender, args) =>
            {
                if (sender.IsMe || sender.IsEnemy || args.Animation != "Death")
                {
                    return;
                }
                if (sender.Compare(wShadow))
                {
                    wShadow = null;
                }
                else if (sender.Compare(rShadow))
                {
                    rShadow = null;
                }
            };
            GameObject.OnCreate += (sender, args) =>
            {
                var missile = sender as MissileClient;
                if (missile != null)
                {
                    if (missile.SpellCaster.IsMe && missile.SData.Name == "ZedWMissile")
                    {
                        wMissile = missile;
                    }
                    return;
                }
                if (sender.Name != "Zed_Base_R_buf_tell.troy")
                {
                    return;
                }
                var target = EntityManager.Heroes.Enemies.FirstOrDefault(i => i.LSIsValidTarget() && HaveR(i));
                if (target != null && target.Distance(sender) < 150)
                {
                    deathMark = sender;
                }
            };
            GameObject.OnDelete += (sender, args) =>
            {
                if (sender.Compare(wMissile))
                {
                    wMissile = null;
                }
                else if (sender.Compare(deathMark))
                {
                    deathMark = null;
                }
            };
        }
Example #60
0
 public static void CreateBool(this LeagueSharp.SDK.Spell spell, Menu menu, bool defaultValue = true)
 {
     menu.Add("use" + spell.Slot, new CheckBox("Use " + spell.Slot.ToString().ToUpper(), defaultValue));
 }