示例#1
0
        private static void GameOnOnGameLoad(EventArgs args)
        {
            me = ObjectManager.Player;
            if (me.Team.Equals(GameObjectTeam.Order))
            {
                tploc  = new Vector3(191, 422, 185);
                order  = true;
                bas    = new Vector2(436.8432f, 455.4092f);
                radius = 1052.47f;
            }
            else
            {
                tploc  = new Vector3(14314, 14566, 185);
                order  = false;
                bas    = new Vector2(14373.89f, 14417.92f);
                radius = 1130.122f;
            }

            teleport = me.Spellbook.GetSpell(me.GetSpellSlot("SummonerTeleport"));
            if (teleport == null || teleport.Slot == SpellSlot.Unknown)
            {
                havetp = false;
            }
            Game.PrintChat(havetp.ToString());
            menu = new Menu("Perfect start", "ps", true);
            menu.AddItem(new MenuItem("en", "Enabled").SetValue(true));
            menu.AddItem(new MenuItem("tp", "Teleport support").SetValue(true));
            menu.AddItem(new MenuItem("debug", "Debug").SetValue(false));
            menu.AddItem(new MenuItem("", "Have fun! Written by Drake."));
            menu.AddToMainMenu();
            Game.OnUpdate            += onUpdate;
            Drawing.OnDraw           += Drawing_OnDraw;
            Obj_AI_Base.OnIssueOrder += Obj_AI_Base_OnIssueOrder;
        }
示例#2
0
        public static void Load()
        {
            try
            {
                slot1 = Entry.Player.Spellbook.GetSpell(SpellSlot.Summoner1);
                slot2 = Entry.Player.Spellbook.GetSpell(SpellSlot.Summoner2);

                //Soon riot will introduce multiple cleanses, mark my words.
                var cleanseNames = new[] { "summonerboost" };

                if (cleanseNames.Contains(slot1.Name))
                {
                    cleanseSpell = new Spell(SpellSlot.Summoner1, 550f);
                    summonerCleanse = SpellSlot.Summoner1;
                }
                else if (cleanseNames.Contains(slot2.Name))
                {
                    cleanseSpell = new Spell(SpellSlot.Summoner2, 550f);
                    summonerCleanse = SpellSlot.Summoner2;
                }
                Game.OnUpdate += OnUpdate;
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }
示例#3
0
        private static void GameOnOnGameLoad(EventArgs args)
        {
            me = ObjectManager.Player;
            if (me.Team.Equals(GameObjectTeam.Order))
            {
                tploc=new Vector3(191,422,185);
                order = true;
                bas = new Vector2(436.8432f, 455.4092f);
                radius = 1052.47f;
            }
            else
            {
                tploc = new Vector3(14314, 14566, 185);
                order = false;
                bas = new Vector2(14373.89f, 14417.92f);
                radius = 1130.122f;
            }

            teleport = me.Spellbook.GetSpell(me.GetSpellSlot("SummonerTeleport"));
            if (teleport == null || teleport.Slot == SpellSlot.Unknown)
                havetp=false;
            Game.PrintChat(havetp.ToString());
            menu = new Menu("Perfect start", "ps", true);
            menu.AddItem(new MenuItem("en", "Enabled").SetValue(true));
            menu.AddItem(new MenuItem("tp", "Teleport support").SetValue(true));
            menu.AddItem(new MenuItem("debug", "Debug").SetValue(false));
            menu.AddItem(new MenuItem("", "Have fun! Written by Drake."));
            menu.AddToMainMenu();
            Game.OnUpdate += onUpdate;
            Drawing.OnDraw += Drawing_OnDraw;
            Obj_AI_Base.OnIssueOrder += Obj_AI_Base_OnIssueOrder;
        }
示例#4
0
 public float GetSpellRange(SpellDataInst targetSpell, bool IsChargedSkill = false)
 {
     if (targetSpell.SData.CastRangeDisplayOverride <= 50)
     {
         if (targetSpell.SData.CastRange <= 50)
         {
             return(targetSpell.SData.CastRadius);
         }
         else
         {
             if (!IsChargedSkill)
             {
                 return(targetSpell.SData.CastRange);
             }
             else
             {
                 return(targetSpell.SData.CastRadius);
             }
         }
     }
     else
     {
         return(Player.ChampionName.ToLowerInvariant() == "urgot" ? targetSpell.SData.CastRange : targetSpell.SData.CastRangeDisplayOverride);
     }
 }
示例#5
0
        public static void Load()
        {
            try
            {
                slot1 = Entry.Player.Spellbook.GetSpell(SpellSlot.Summoner1);
                slot2 = Entry.Player.Spellbook.GetSpell(SpellSlot.Summoner2);

                //Soon riot will introduce multiple heals, mark my words.
                var barrierNames = new[] { "summonerbarrier" };

                if (barrierNames.Contains(slot1.Name))
                {
                    barrierSpell = new Spell(SpellSlot.Summoner1);
                    summonerBarrier = SpellSlot.Summoner1;
                }
                else if (barrierNames.Contains(slot2.Name))
                {
                    barrierSpell = new Spell(SpellSlot.Summoner2);
                    summonerBarrier = SpellSlot.Summoner2;
                }
                else
                {
                    Console.WriteLine("You don't have barrier f****t");
                    return;
                }

                Game.PrintChat("<font color='#CC0000'>Sorry!</font> Barrier is not supported yet");
                //Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
                //DamagePrediction.OnTargettedSpellWillKill += DamagePrediction_OnTargettedSpellWillKill;
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }
示例#6
0
        public static void Init()
        {
            slot1 = _Player.Spellbook.GetSpell(SpellSlot.Summoner1);
            slot2 = _Player.Spellbook.GetSpell(SpellSlot.Summoner2);

            var smiteNames = new[]
            {
                "s5_summonersmiteplayerganker", "itemsmiteaoe", "s5_summonersmitequick",
                "s5_summonersmiteduel", "summonersmite"
            };
            if (smiteNames.Contains("smite"))
            {
                smite = new Spell.Targeted(SpellSlot.Summoner1, (uint) 560f);
                smiteSlot = SpellSlot.Summoner1;
            }
            if (smiteNames.Contains("smite"))
            {
                smite = new Spell.Targeted(SpellSlot.Summoner2, (uint) 560f);
                smiteSlot = SpellSlot.Summoner2;
            }
            Smiterino = Program.Menu.AddSubMenu("Auto Smite", "Smite");
            Smiterino.AddGroupLabel("Auto Smite Settings");
            Smiterino.AddSeparator();
            Smiterino.Add("smiteActive", new CheckBox("Smite Active"));
            Smiterino.Add("drawHp", new CheckBox("Draw HP Bar on Minions"));
            Smiterino.Add("autoSmite", new KeyBind("AutoSmite Active HotKey", true, KeyBind.BindTypes.PressToggle, 'N'));
            Game.OnUpdate += OnUpdate;
            Drawing.OnDraw += OnDraw;
        }
示例#7
0
        public BarrierManager()
        {
            this.BarrierSpell = ObjectManager.Player.Spellbook.GetSpell(ObjectManager.Player.GetSpellSlot("SummonerDot"));

            if (this.BarrierSpell != null && this.BarrierSpell.Slot != SpellSlot.Unknown)
                this.HasBarrier = true;
        }
示例#8
0
        public static void Init()
        {
            slot1 = _Player.Spellbook.GetSpell(SpellSlot.Summoner1);
            slot2 = _Player.Spellbook.GetSpell(SpellSlot.Summoner2);

            var smiteNames = new[]
            {
                "s5_summonersmiteplayerganker", "itemsmiteaoe", "s5_summonersmitequick",
                "s5_summonersmiteduel", "summonersmite"
            };

            if (smiteNames.Contains("smite"))
            {
                smite     = new Spell.Targeted(SpellSlot.Summoner1, (uint)560f);
                smiteSlot = SpellSlot.Summoner1;
            }
            if (smiteNames.Contains("smite"))
            {
                smite     = new Spell.Targeted(SpellSlot.Summoner2, (uint)560f);
                smiteSlot = SpellSlot.Summoner2;
            }
            Smiterino = Program.Menu.AddSubMenu("Auto Smite", "Smite");
            Smiterino.AddGroupLabel("Auto Smite Settings");
            Smiterino.AddSeparator();
            Smiterino.Add("smiteActive", new CheckBox("Smite Active"));
            Smiterino.Add("drawHp", new CheckBox("Draw HP Bar on Minions"));
            Smiterino.Add("autoSmite", new KeyBind("AutoSmite Active HotKey", true, KeyBind.BindTypes.PressToggle, 'N'));
            Game.OnUpdate  += OnUpdate;
            Drawing.OnDraw += OnDraw;
        }
示例#9
0
        private static void Game_OnGameLoad(EventArgs args)
        {
            if (Me.ChampionName != "Riven")
            {
                return;
            }

            // load spells
            _w = new Spell(SpellSlot.W, 250f);
            _e = new Spell(SpellSlot.E, 270f);

            _q         = new Spell(SpellSlot.Q, 260f);
            _qDataInst = Me.Spellbook.GetSpell(_q.Slot);
            _q.SetSkillshot(0.25f, 100f, 1400f, false, SkillshotType.SkillshotCircle);

            _r = new Spell(SpellSlot.R, 1100f);
            _r.SetSkillshot(0.25f, 150f, 2200f, false, SkillshotType.SkillshotCone);

            // load menu
            Menu();

            // call events
            Drawing.OnDraw    += Drawing_OnDraw;
            Game.OnGameUpdate += Game_OnGameUpdate;
            Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast;
            Obj_AI_Base.OnPlayAnimation    += Obj_AI_Base_OnPlayAnimation;

            // moar events xD
            AntiGapcloser.OnEnemyGapcloser    += AntiGapcloser_OnEnemyGapcloser;
            Interrupter.OnPossibleToInterrupt += Interrupter_OnPossibleToInterrupt;

            // print chat -- load success
            Game.PrintChat("<font color=\"#7CFC00\"><b>Kurisu鐟炴枃:</b></font> 璇诲彇鎴愬姛锛侊紒锛亅 鍔犺浇鎴愬姛!姹夊寲by浜岀嫍!QQ缇361630847");
        }
示例#10
0
文件: Jayce.cs 项目: tekintr/Elobuddy
        private static void Insec()
        {
            AIHeroClient target = TargetSelector.GetTarget(QE.Range, DamageType.Physical);

            if (IsValidTarget(target))
            {
                Vector3 insecPos = Helper.extend(target.Position, Game.CursorPos, 150, -1);
                Player.IssueOrder(GameObjectOrder.MoveTo, insecPos);

                if ((isMelee || ((!isMelee && R.IsReady() && R.Cast()))) && E.IsReady()) // melee and e is ready
                {
                    if (ShouldInsec(target.Position, insecPos, E.Range))
                    {
                        E.Cast(target);
                        return;
                    }
                    if (hero.Distance(target.Position) + 30 < hero.Distance(insecPos))
                    {
                        // jumping/flashing to target will be faster than walking there
                        if (Q.IsReady() && Q.IsInRange(target))
                        {
                            Q.Cast(target);
                        }
                        if (MiscMenu["jayce.flashinsec"].Cast <CheckBox>().CurrentValue&& hero.Distance(insecPos) < 410 && hero.Distance(insecPos) > 160)
                        {
                            SpellDataInst spell = hero.Spellbook.Spells.FirstOrDefault(a => a.Name.ToLower().Contains("summonerflash"));
                            if (spell != null && spell.IsReady)
                            {
                                hero.Spellbook.CastSpell(spell.Slot, insecPos);
                            }
                        }
                    }
                }
            }
        }
示例#11
0
        static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            double incomingDmg = 0;

            if (sender.Type == GameObjectType.obj_AI_Hero && sender.IsEnemy && args.Target.Type == GameObjectType.obj_AI_Hero && args.Target.IsMe)
            {
                Obj_AI_Hero attacker = ObjectManager.Get <Obj_AI_Hero>().First(hero => hero.NetworkId == sender.NetworkId);
                Obj_AI_Hero attacked = ObjectManager.Get <Obj_AI_Hero>().First(hero => hero.NetworkId == args.Target.NetworkId);

                SpellDataInst spellData = attacker.Spellbook.Spells.FirstOrDefault(hero => args.SData.Name.Contains(hero.SData.Name));
                SpellSlot     spellSlot = spellData == null ? SpellSlot.Unknown : spellData.Slot;

                if (spellSlot == SpellSlot.Q || spellSlot == SpellSlot.W || spellSlot == SpellSlot.E || spellSlot == SpellSlot.R)
                {
                    incomingDmg = Damage.GetSpellDamage(attacker, attacked, spellSlot);
                }
            }
            else if (sender.Type == GameObjectType.obj_AI_Turret && sender.IsEnemy && args.Target.Type == GameObjectType.obj_AI_Hero && args.Target.IsMe)
            {
                incomingDmg = sender.BaseAttackDamage;
            }
            if (incomingDmg > 0)
            {
                UseDefensiveItemsIfInDanger(incomingDmg);
                SpellManager.UseHealIfInDanger(incomingDmg);
            }
        }
示例#12
0
 private static void Loading_OnLoadingComplete(System.EventArgs args)
 {
     Chat.Print("Twitch Exploit Loaded !");
     Q = Player.GetSpell(SpellSlot.Q);
     Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast;
     Obj_AI_Base.OnBasicAttack      += Obj_AI_Base_OnBasicAttack;
 }
示例#13
0
        public static void OnLoad(EventArgs args)
        {
            if (!IsSummonersRift)
            {
                Notifications.AddNotification("ElSmite is not supported on this map", 10000);
                return;
            }

            try
            {
                slot1 = Player.Spellbook.GetSpell(SpellSlot.Summoner1);
                slot2 = Player.Spellbook.GetSpell(SpellSlot.Summoner2);

                if (new[] { "s5_summonersmiteplayerganker", "itemsmiteaoe", "s5_summonersmitequick", "s5_summonersmiteduel", "summonersmite" }.Contains(slot1.Name))
                {
                    smite = new Spell(SpellSlot.Summoner1, 500f);
                }

                if (new[] { "s5summonersmiteplayerganker", "itemsmiteaoe", "s5_summonersmitequick", "s5_summonersmiteduel", "summonersmite" }.Contains(slot2.Name))
                {
                    smite = new Spell(SpellSlot.Summoner2, 500f);
                }

                Notifications.AddNotification(String.Format("ElSmite by jQuery v{0}", ScriptVersion), 10000);
                InitializeMenu.Load();
                Game.OnUpdate += OnUpdate;
                Drawing.OnDraw += OnDraw;
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }
示例#14
0
        public IgniteManager()
        {
            this.IgniteSpell = ObjectManager.Player.Spellbook.GetSpell(ObjectManager.Player.GetSpellSlot("SummonerDot"));

            if (this.IgniteSpell != null && this.IgniteSpell.Slot != SpellSlot.Unknown)
                this.HasIgnite = true;
        }
示例#15
0
 /// <summary>
 ///     Returns if the spell is ready to use.
 /// </summary>
 public static bool IsReady(this SpellDataInst spell, int t = 0)
 {
     return(spell != null && spell.Slot != SpellSlot.Unknown && t == 0
         ? spell.State == SpellState.Ready
         : (spell.State == SpellState.Ready ||
            (spell.State == SpellState.Cooldown && (spell.CooldownExpires - Game.Time) <= t / 1000f)));
 }
示例#16
0
 private static void OnGameLoad(EventArgs args)
 {
     Player = ObjectManager.Player;
     Name   = Player.ChampionName;
     Game.PrintChat("<font color = \'{0}'>Master Series</font>", HtmlColor.Lime);
     Game.PrintChat("<font color = \'{0}'>-></font> <font color = \'{1}'>Feel free to donate via Paypal to</font>: <font color = \'{2}'>[email protected]</font>", HtmlColor.BlueViolet, HtmlColor.Orange, HtmlColor.LightCoral);
     Config = new Menu("Master Series", "MasterSeries", true);
     TS     = new M_TargetSelector(Config, 1600);
     Orbwalk.AddToMenu(Config);
     try
     {
         if (Activator.CreateInstance(null, "MasterPlugin." + Name) != null)
         {
             //var QData = Player.Spellbook.GetSpell(SpellSlot.Q);
             //var WData = Player.Spellbook.GetSpell(SpellSlot.W);
             //var EData = Player.Spellbook.GetSpell(SpellSlot.E);
             //var RData = Player.Spellbook.GetSpell(SpellSlot.R);
             //Game.PrintChat("{0}/{1}/{2}/{3}", QData.SData.CastRange[0], WData.SData.CastRange[0], EData.SData.CastRange[0], RData.SData.CastRange[0]);
             ItemBool(Config.SubMenu(Name + "_Plugin").SubMenu("Misc"), "UsePacket", "Use Packet To Cast");
             FData = Player.SummonerSpellbook.GetSpell(Player.GetSpellSlot("summonerflash"));
             SData = Player.SummonerSpellbook.GetSpell(Player.GetSpellSlot("summonersmite"));
             IData = Player.SummonerSpellbook.GetSpell(Player.GetSpellSlot("summonerdot"));
             SkinChanger(null, null);
             Game.PrintChat("<font color = \'{0}'>-></font> <font color = \'{1}'>Master Of {2}</font>: <font color = \'{3}'>Loaded !</font>", HtmlColor.BlueViolet, HtmlColor.Gold, Name, HtmlColor.Cyan);
             Game.OnGameUpdate += OnGameUpdate;
         }
     }
     catch
     {
         Game.PrintChat("<font color = \'{0}'>-></font> <font color = \'{1}'>{2}</font>: <font color = \'{3}'>Currently not supported !</font>", HtmlColor.BlueViolet, HtmlColor.Gold, Name, HtmlColor.Cyan);
     }
     Config.AddItem(new MenuItem("Info", "Credits: Brian"));
     Config.AddToMainMenu();
 }
示例#17
0
文件: Program.cs 项目: lanyi777/CN
        public KillDrawer()
        {
            _ignite = ObjectManager.Player.SummonerSpellbook.Spells.FirstOrDefault(x => x.Name.ToLower() == "summonerdot");
            _spells = new List<Spell>();
            _items = new List<Items.Item>
            {
                new Items.Item(3128, 750), // Deathfire Grasp
                new Items.Item(3077, 400), // Tiamat
                new Items.Item(3074, 400), // Ravenous Hydra
                new Items.Item(3146, 700), // Hextech Gunblade
                new Items.Item(3144, 450), // Bilgewater Cutlass
                new Items.Item(3153, 450)  // Blade of the Ruined King
            };

            try
            {
                new Spell(SpellSlot.Q).GetDamage(ObjectManager.Player);
                _spells.Add(new Spell(SpellSlot.Q));
            }
            catch (Exception)
            {
            }

            try
            {
                new Spell(SpellSlot.W).GetDamage(ObjectManager.Player);
                _spells.Add(new Spell(SpellSlot.W));
            }
            catch (Exception)
            {
            }

            try
            {
                new Spell(SpellSlot.E).GetDamage(ObjectManager.Player);
                _spells.Add(new Spell(SpellSlot.E));
            }
            catch (Exception)
            {
            }

            try
            {
                new Spell(SpellSlot.R).GetDamage(ObjectManager.Player);
                _spells.Add(new Spell(SpellSlot.R));
            }
            catch (Exception)
            {
            }

            _config = new Menu("L#涓枃绀惧尯-鍑绘潃鎻愮ず", "Killability", true);
            _config.AddItem(new MenuItem("icon", "鏄剧ず鍥炬爣").SetValue(true));
            _config.AddItem(new MenuItem("text", "鏄剧ず鏂囨湰").SetValue(true));

            _config.AddToMainMenu();

            InitDrawing();

            Game.PrintChat("Killability by h3h3 loaded.");
        }
示例#18
0
        public void Load()
        {
            try
            {
                if (ObjectManager.Player.ChampionName != "DrMundo")
                {
                    return;
                }

                q = new Spell(SpellSlot.Q, 975);
                w = new Spell(SpellSlot.W, 325);
                e = new Spell(SpellSlot.E, 150);
                r = new Spell(SpellSlot.R);

                q.SetSkillshot(0.275f, 60, 1850, true, SkillshotType.SkillshotLine);

                ignite = Player.Spellbook.GetSpell(Player.GetSpellSlot("summonerdot"));

                Game.OnUpdate += OnUpdate;
                SebbyLib.Orbwalking.AfterAttack += AfterAttack;
                Drawing.OnDraw += OnDraw;

                Entry.PrintChat("<font color=\"#FFCC66\" >Mundo</font>");
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
示例#19
0
        public static void Initialize()
        {
            // Initialize spells
            Q = new Spell.Skillshot(SpellSlot.Q, 950, SkillShotType.Circular, 1200, int.MaxValue, 250)
            {
                MinimumHitChance      = HitChance.High,
                AllowedCollisionCount = int.MaxValue
            };
            W = new Spell.Skillshot(SpellSlot.W, 575, SkillShotType.Cone, 250, int.MaxValue, 60)
            {
                MinimumHitChance      = HitChance.High,
                AllowedCollisionCount = int.MaxValue
            };
            E = new Spell.Active(SpellSlot.E);
            R = new Spell.Targeted(SpellSlot.R, 175);

            // Flash Config
            if (Champion.Spellbook.GetSpell(SpellSlot.Summoner1).Name == "summonerflash")
            {
                Sumspell = Champion.Spellbook.GetSpell(SpellSlot.Summoner1);
            }
            if (Champion.Spellbook.GetSpell(SpellSlot.Summoner2).Name == "summonerflash")
            {
                Sumspell = Champion.Spellbook.GetSpell(SpellSlot.Summoner2);
            }
        }
示例#20
0
 public static Color GetSpellColor(this SpellDataInst spellData, float percent = 0)
 {
     // Calculate new color between the ready and not ready colors based on the percent
     return(Color.FromArgb((byte)(CooldownTracker.SpellNotReady.R + (CooldownTracker.SpellReady.R - CooldownTracker.SpellNotReady.R) * percent),
                           (byte)(CooldownTracker.SpellNotReady.G + (CooldownTracker.SpellReady.G - CooldownTracker.SpellNotReady.G) * percent),
                           (byte)(CooldownTracker.SpellNotReady.B + (CooldownTracker.SpellReady.B - CooldownTracker.SpellNotReady.B) * percent)));
 }
        private static void Game_OnStart(EventArgs args)
        {
            if (myHero.Hero != Champion.Poppy)
            {
                return;
            }

            CheckForUpdates();
            Settings.Init();
            DamageIndicator.Initialize(Extensions.GetComboDamage);
            ItemManager.Init();

            var           flash = myHero.Spellbook.Spells.Where(x => x.Name.ToLower().Contains("summonerflash"));
            SpellDataInst Flash = flash.Any() ? flash.First() : null;

            if (Flash != null)
            {
                Lib.Flash = new Spell.Targeted(Flash.Slot, 425);
            }

            Obj_AI_Base.OnProcessSpellCast += Modes.Misc.SpellCast;
            Obj_AI_Base.OnSpellCast        += RectangleManager;

            Drawing.OnDraw += Drawings;

            GameObject.OnCreate += Modes.Misc.AntiRengar;

            GameObject.OnCreate += GameObject_OnCreate;
            GameObject.OnDelete += GameObject_OnDelete;

            Obj_AI_Base.OnBuffGain += Obj_AI_Base_OnBuffGain;

            Game.OnUpdate += Game_OnUpdate;
        }
示例#22
0
        internal static void Load()
        {
            //Menu Setup
            Config.AddItem(new MenuItem("Enabled", "Toggle Enabled").SetValue(new KeyBind("N".ToCharArray()[0], KeyBindType.Toggle, true)));
            Config.AddItem(new MenuItem("EnabledH", "Hold Enable").SetValue(new KeyBind("K".ToCharArray()[0], KeyBindType.Press)));
            Config.AddItem(new MenuItem("RangeDraw", "Draw Range and Status").SetValue(true));
            Config.AddItem(new MenuItem("DrawStatus", "Drawings off/on!").SetValue(true));
            setupCampMenu();


            Summoner1 = ObjectManager.Player.Spellbook.GetSpell(SpellSlot.Summoner1);
            Summoner2 = ObjectManager.Player.Spellbook.GetSpell(SpellSlot.Summoner2);
            int level = ObjectManager.Player.Level;

            Plevel = level;

            if (new[] { "s5_summonersmiteplayerganker", "itemsmiteaoe", "s5_summonersmitequick", "s5_summonersmiteduel", "summonersmite" }.Contains(Summoner1.Name))
            {
                smite = new Spell(SpellSlot.Summoner1, 570f);
                setSmiteDamage();
            }

            if (new[] { "s5summonersmiteplayerganker", "itemsmiteaoe", "s5_summonersmitequick", "s5_summonersmiteduel", "summonersmite" }.Contains(Summoner2.Name))
            {
                smite = new Spell(SpellSlot.Summoner2, 570f);
                setSmiteDamage();
            }
        }
示例#23
0
        public static SpellState GetState(this SpellDataInst spellData)
        {
            switch ((int)spellData.State)
            {
            case 0:
                return(SpellState.Ready);

            case 2:
                return(SpellState.NotLearned);

            case 4:
                return(SpellState.Surpressed);

            case 5:
                return(SpellState.Cooldown);

            case 6:
                return(SpellState.NoMana);

            case 10:
                return(SpellState.Surpressed);

            default:
                return(SpellState.Unknown);
            }
        }
示例#24
0
        private static void SummonerSpells()
        {
            var           ghost  = myhero.Spellbook.Spells.Where(x => x.Name.Contains("Haste"));
            SpellDataInst ghosty = ghost.Any() ? ghost.First() : null;

            if (ghosty != null)
            {
                Ghost = new Spell.Active(ghosty.Slot);
            }

            var           heal  = myhero.Spellbook.Spells.Where(x => x.Name.Contains("Heal"));
            SpellDataInst Healy = heal.Any() ? heal.First() : null;

            if (Healy != null)
            {
                Heal = new Spell.Active(Healy.Slot);
            }

            if (Healy != null && Heal.IsReady() && !myhero.HasBuff("SRHomeguardSpeed") && !myhero.IsDead &&
                check(menu, "SPELLS") &&
                check(menu, "ACTIVE"))
            {
                Heal.Cast();
            }

            if (ghosty != null && Ghost.IsReady() && !myhero.HasBuff("SRHomeguardSpeed") && !myhero.IsDead &&
                check(menu, "SPELLS") &&
                check(menu, "ACTIVE"))
            {
                Ghost.Cast();
            }
        }
示例#25
0
        public static void Load()
        {
            try
            {
                slot1 = Entry.Player.Spellbook.GetSpell(SpellSlot.Summoner1);
                slot2 = Entry.Player.Spellbook.GetSpell(SpellSlot.Summoner2);

                //Soon riot will introduce multiple ignote, mark my words.
                var igniteNames = new[] { "summonerdot" };

                if (igniteNames.Contains(slot1.Name))
                {
                    igniteSpell = new Spell(SpellSlot.Summoner1);
                    summonerDot = SpellSlot.Summoner1;
                }
                else if (igniteNames.Contains(slot2.Name))
                {
                    igniteSpell = new Spell(SpellSlot.Summoner2);
                    summonerDot = SpellSlot.Summoner2;
                }
                else
                {
                    Console.WriteLine("You don't have ignite f****t");
                    return;
                }

                Game.OnUpdate += OnUpdate;
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }
示例#26
0
文件: AddOn.cs 项目: werdbrian/LS
 internal static float GetSpellRange(SpellDataInst targetSpell, bool IsChargedSkill = false)
 {
     if (targetSpell.SData.CastRangeDisplayOverride <= 0)
     {
         if (targetSpell.SData.CastRange <= 0)
         {
             return
                 (targetSpell.SData.CastRadius);
         }
         else
         {
             if (!IsChargedSkill)
             {
                 return
                     (targetSpell.SData.CastRange);
             }
             else
             {
                 return
                     (targetSpell.SData.CastRadius);
             }
         }
     }
     else
     {
         return
             (targetSpell.SData.CastRangeDisplayOverride);
     }
 }
示例#27
0
        public static float GetComboDamageConsiderRange(AIHeroClient enemy)
        {
            var damage = 0f;

            if (Program.Q.IsReady() && Program.Q.Range + Program.Q.Radius > _Player.Distance(Prediction.Position.PredictUnitPosition(enemy, Program.Q.CastDelay)))
            {
                damage += QDamage(enemy);
            }

            if (Program.W.IsReady() && Program.W.Range + Program.W.Radius > _Player.Distance(Prediction.Position.PredictUnitPosition(enemy, Program.W.CastDelay)))
            {
                damage += WDamage(enemy);
            }

            if (Program.E.IsReady() && Program.E.Range + Program.E.Radius > _Player.Distance(Prediction.Position.PredictUnitPosition(enemy, Program.E.CastDelay)))
            {
                damage += EDamage(enemy);
            }

            //if (Program.ignite!= SpellSlot.Unknown && _Player.Spellbook.CanUseSpell(Program.ignite) == SpellState.Ready)
            //  damage += ObjectManager.Player.GetSummonerSpellDamage(enemy, DamageLibrary.SummonerSpells.Ignite);
            SpellDataInst data = ObjectManager.Player.Spellbook.GetSpell(SpellSlot.R);

            if (!Config.Misc.Menu["DontUlt" + enemy.BaseSkinName].Cast <CheckBox>().CurrentValue &&
                Program.R.IsReady() && Program.R.Range > _Player.Distance(enemy))
            {
                damage += RDamage(enemy);
            }

            //if(debug) Chat.Print(damage + " damage");
            return((float)damage);
        }
示例#28
0
        public void Insec()
        {
            AIHeroClient target = TargetSelector.GetTarget(Qcharge.Range, DamageType.Physical);

            if (IsValidTarget(target))
            {
                Vector3 insecPos = extend(target.Position, Game.CursorPos, 150, false);
                EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, insecPos);

                if ((isMelee || ((!isMelee && R.IsReady() && R.Cast()))) && E.IsReady() && Hero.Distance(target.Position) <= Q.Range + 10)
                {
                    if (Hero.Distance(insecPos) < 110)
                    {
                        E.Cast(target);
                        return;
                    }
                    if (Hero.Distance(target.Position) + 10 < Hero.Distance(insecPos))
                    {
                        if (Hero.Distance(target.Position) <= Q.Range && Q.IsReady())
                        {
                            Q.Cast(target);
                        }
                        if (MiscMenu["FlashInsec"].Cast <CheckBox>().CurrentValue&& Hero.Distance(insecPos) < 410 && Hero.Distance(insecPos) >= 150)
                        {
                            SpellDataInst spell = Hero.Spellbook.Spells.FirstOrDefault(a => a.Name.ToLower().Contains("summonerflash"));
                            if (spell != null && spell.IsReady)
                            {
                                Hero.Spellbook.CastSpell(spell.Slot, insecPos);
                            }
                        }
                    }
                }
            }
        }
示例#29
0
        public static void Load()
        {
            try
            {
                slot1 = Entry.Player.Spellbook.GetSpell(SpellSlot.Summoner1);
                slot2 = Entry.Player.Spellbook.GetSpell(SpellSlot.Summoner2);

                //Soon riot will introduce multiple heals, mark my words.
                var healNames = new[] { "summonerheal" };

                if (healNames.Contains(slot1.Name))
                {
                    healSpell = new Spell(SpellSlot.Summoner1, 550f);
                    summonerHeal = SpellSlot.Summoner1;
                }
                else if (healNames.Contains(slot2.Name))
                {
                    healSpell = new Spell(SpellSlot.Summoner2, 550f);
                    summonerHeal = SpellSlot.Summoner2;
                }
                else
                {
                    Console.WriteLine("You don't have heal f****t");
                    return;
                }

                Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
                Game.OnUpdate += OnUpdate;
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }
示例#30
0
        public KillDrawer()
        {
            _ignite = ObjectManager.Player.SummonerSpellbook.Spells.FirstOrDefault(x => x.Name.ToLower() == "summonerdot");
            _spells = new List <Spell>();
            _items  = new List <Items.Item>
            {
                new Items.Item(3128, 750), // Deathfire Grasp
                new Items.Item(3077, 400), // Tiamat
                new Items.Item(3074, 400), // Ravenous Hydra
                new Items.Item(3146, 700), // Hextech Gunblade
                new Items.Item(3144, 450), // Bilgewater Cutlass
                new Items.Item(3153, 450)  // Blade of the Ruined King
            };

            try
            {
                new Spell(SpellSlot.Q).GetDamage(ObjectManager.Player);
                _spells.Add(new Spell(SpellSlot.Q));
            }
            catch (Exception)
            {
            }

            try
            {
                new Spell(SpellSlot.W).GetDamage(ObjectManager.Player);
                _spells.Add(new Spell(SpellSlot.W));
            }
            catch (Exception)
            {
            }

            try
            {
                new Spell(SpellSlot.E).GetDamage(ObjectManager.Player);
                _spells.Add(new Spell(SpellSlot.E));
            }
            catch (Exception)
            {
            }

            try
            {
                new Spell(SpellSlot.R).GetDamage(ObjectManager.Player);
                _spells.Add(new Spell(SpellSlot.R));
            }
            catch (Exception)
            {
            }

            _config = new Menu("击杀提示", "Killability", true);
            _config.AddItem(new MenuItem("icon", "显示图标").SetValue(true));
            _config.AddItem(new MenuItem("text", "显示文本").SetValue(true));
            _config.AddToMainMenu();

            InitDrawing();

            Game.PrintChat("Killability by h3h3 loaded.");
        }
示例#31
0
        private static void Game_OnGameLoad(EventArgs args)
        {
            Player = ObjectManager.Player;

            if (Player.BaseSkinName != Name)
            {
                return;
            }

            Qi = Player.GetSpell(SpellSlot.Q);
            Wi = Player.GetSpell(SpellSlot.W);
            Ei = Player.GetSpell(SpellSlot.E);
            Ri = Player.GetSpell(SpellSlot.R);

            Q = new Spell(Qi.Slot, Qi.SData.CastRange);
            W = new Spell(Wi.Slot, Wi.SData.CastRange);
            E = new Spell(Ei.Slot, Ei.SData.CastRange);
            R = new Spell(Ri.Slot, Ri.SData.CastRange);

            InitSpell(Q, Qi);
            InitSpell(W, Wi);
            InitSpell(E, Ei);
            InitSpell(R, Ri);

            W.SetSkillshot(0.225f, 80f, 828.5f, true, SkillshotType.SkillshotLine);
            E.SetSkillshot(0.25f, 100f, 1000f, false, SkillshotType.SkillshotCircle);

            // Root Menu
            config = new Menu("Khazix", "Khazix", true);

            // Target Selector
            var tsMenu = new Menu("Target Selector", "Target Selector");

            TargetSelector.AddToMenu(tsMenu);
            config.AddSubMenu(tsMenu);

            // Orbwalker
            config.AddSubMenu(new Menu("Orbwalking", "Orbwalking"));
            Orbwalker = new Orbwalking.Orbwalker(config.SubMenu("Orbwalking"));

            // Keys
            var keys = config.AddSubMenu(new Menu("Keys", "Keys"));
            {
                keys.AddItem(new MenuItem("Jump", "Jump To Mouse").SetValue(new KeyBind('T', KeyBindType.Press)));
            }

            var settings = config.AddSubMenu(new Menu("Misc", "Misc"));

            {
                settings.AddItem(new MenuItem("DelayJump", "Delay of Jump").SetValue(new Slider(600, 580, 620)));
            }

            config.AddToMainMenu();

            Game.OnUpdate  += Game_OnUpdate;
            Drawing.OnDraw += Drawing_OnDraw;

            Game.PrintChat("Khazix Loaded.");
        }
示例#32
0
 private void load()
 {
     sBook = _player.Spellbook;
     qData = sBook.GetSpell(SpellSlot.Q);
     wData = sBook.GetSpell(SpellSlot.W);
     eData = sBook.GetSpell(SpellSlot.E);
     rData = sBook.GetSpell(SpellSlot.R);
 }
示例#33
0
 private static InventorySlot FindBestWardItem()
 {
     InventorySlot slot = Items.GetWardSlot();
     if (slot == default(InventorySlot)) return null;
     SpellDataInst sdi = GetItemSpell(slot);
     if (sdi != default(SpellDataInst) && sdi.State == SpellState.Ready)return slot;
     return null;
 }
示例#34
0
        public static int Timer(this SpellDataInst spell)
        {
            var t  = spell.CooldownExpires - Game.Time;
            var ts = TimeSpan.FromSeconds(t);
            var s  = t > 60 ? string.Format("{0}:{1:D2}", ts.Minutes, ts.Seconds) : string.Format("{0:0}", t);

            return((int)t);
        }
示例#35
0
        public IgniteManager()
        {
            this.IgniteSpell = ObjectManager.Player.Spellbook.GetSpell(ObjectManager.Player.GetSpellSlot("SummonerDot"));

            if (this.IgniteSpell != null && this.IgniteSpell.Slot != SpellSlot.Unknown)
            {
                this.HasIgnite = true;
            }
        }
示例#36
0
 public DestinationObject(AIHeroClient hero, SpellDataInst spell)
 {
     Hero = hero;
     if (spell != null && spell.Slot != SpellSlot.Unknown)
     {
         SpellName = spell.SData.Name;
         Range     = spell.SData.CastRange;
     }
 }
示例#37
0
        public BarrierManager()
        {
            this.BarrierSpell = ObjectManager.Player.Spellbook.GetSpell(ObjectManager.Player.GetSpellSlot("SummonerDot"));

            if (this.BarrierSpell != null && this.BarrierSpell.Slot != SpellSlot.Unknown)
            {
                this.HasBarrier = true;
            }
        }
示例#38
0
        public static void Loading_OnLoadingComplete(EventArgs args)
        {
            if (Game.MapId != GameMapId.HowlingAbyss)
            {
                return;
            }

            // Initialize classes
            MenuManager.Initialize();

            // Setting variable
            SpellDataInst sumspell = null;

            if (Player.GetSpell(SpellSlot.Summoner1).Name == "summonersnowball")
            {
                sumspell = Player.GetSpell(SpellSlot.Summoner1);
            }
            else if (Player.GetSpell(SpellSlot.Summoner2).Name == "summonersnowball")
            {
                sumspell = Player.GetSpell(SpellSlot.Summoner2);
            }
            if (Player.GetSpell(SpellSlot.Summoner1).Name == "summonerporothrow")
            {
                sumspell = Player.GetSpell(SpellSlot.Summoner1);
            }
            else if (Player.GetSpell(SpellSlot.Summoner2).Name == "summonerporothrow")
            {
                sumspell = Player.GetSpell(SpellSlot.Summoner2);
            }

            if (sumspell != null)
            {
                switch (sumspell.Name)
                {
                case "summonersnowball":
                    MenuManager.SettingsMenu.Add("markrange", new Slider("SS: KarTopu Menzili - 0 ise kapat", 1600, 0, 1600));
                    break;

                case "summonerporothrow":
                    MenuManager.SettingsMenu.Add("pororange", new Slider("SS: Poro Kralı Menzili - 0 ise kapat", 2500, 0, 2500));
                    break;
                }

                var range = sumspell.Name == "summonersnowball"
                    ? MenuManager.SettingsMenu["markrange"].Cast <Slider>().CurrentValue
                    : MenuManager.SettingsMenu["pororange"].Cast <Slider>().CurrentValue;
                Throw = new Spell.Skillshot(sumspell.Slot, (uint)range, SkillShotType.Linear)
                {
                    MinimumHitChance      = HitChance.High,
                    AllowedCollisionCount = 0
                };

                Game.OnTick    += Game_OnTick;
                Drawing.OnDraw += Drawing_OnDraw;
            }
        }
示例#39
0
 public void InitializeSpells()
 {
     PlayerData.Spells = new Initialize().Spells(Initialize.Type.Active, Initialize.Type.Targeted,
                                                 Initialize.Type.Active, Initialize.Type.Active);
     _q     = (Spell.Active)PlayerData.Spells[0];
     _w     = (Spell.Targeted)PlayerData.Spells[1];
     _e     = (Spell.Active)PlayerData.Spells[2];
     _r     = (Spell.Active)PlayerData.Spells[3];
     _flash = EloBuddy.Player.Spells.FirstOrDefault(f => f.Name.ToLower() == "summonerflash");
 }
示例#40
0
 public void InitializeSpells()
 {
     PlayerData.Spells = new Initialize().Spells(Initialize.Type.Active, Initialize.Type.Targeted,
         Initialize.Type.Active, Initialize.Type.Active);
     _q = (Spell.Active) PlayerData.Spells[0];
     _w = (Spell.Targeted) PlayerData.Spells[1];
     _e = (Spell.Active) PlayerData.Spells[2];
     _r = (Spell.Active) PlayerData.Spells[3];
     _flash = EloBuddy.Player.Spells.FirstOrDefault(f => f.Name.ToLower() == "summonerflash");
 }
示例#41
0
        private static void Game_OnGameLoad(EventArgs args)
        {
            Player = ObjectManager.Player;

            if (Player.BaseSkinName != Name)
            {
                return;
            }

            Qi = Player.Spellbook.GetSpell(SpellSlot.Q);
            Wi = Player.Spellbook.GetSpell(SpellSlot.W);
            Ei = Player.Spellbook.GetSpell(SpellSlot.E);
            Ri = Player.Spellbook.GetSpell(SpellSlot.R);

            Q = NewSpell(Qi);
            W = NewSpell(Wi);
            E = NewSpell(Ei);
            R = NewSpell(Ri);

            W.SetSkillshot(0.225f, 80f, 828.5f, true, SkillshotType.SkillshotLine);
            E.SetSkillshot(0.25f, 100f, 1000f, false, SkillshotType.SkillshotCircle);

            // Root Menu
            config = new Menu("Khazix", "Khazix", true);

            // Target Selector
            var tsMenu = new Menu("Target Selector", "Target Selector");

            TargetSelector.AddToMenu(tsMenu);
            config.AddSubMenu(tsMenu);

            // Orbwalker
            if (config.Item("UseOrbwalker") == null || config.Item("UseOrbwalker").GetValue <bool>())
            {
                config.AddSubMenu(new Menu("Orbwalking", "Orbwalking"));
                Orbwalker = new Orbwalking.Orbwalker(config.SubMenu("Orbwalking"));
            }

            // Keys
            var keys = config.AddSubMenu(new Menu("Keys", "Keys"));

            {
                keys.AddItem(new MenuItem("JumpCursor", "Jump To Cursor").SetValue(new KeyBind('T', KeyBindType.Press)));
                keys.AddItem(new MenuItem("JumpHome", "Jump To Home").SetValue(new KeyBind('G', KeyBindType.Press)));
            }

            config.AddItem(new MenuItem("UseOrbwalker", "Use Orbwalker (Need Reload)").SetValue(false));

            config.AddToMainMenu();

            Game.OnUpdate  += Game_OnUpdate;
            Drawing.OnDraw += Drawing_OnDraw;

            Game.PrintChat("Khazix Loaded.");
        }
示例#42
0
        private static void OnGameLoad(EventArgs args)
        {
            _player = ObjectManager.Player;
            _teleport = _player.Spellbook.GetSpell(_player.GetSpellSlot("SummonerTeleport"));
            if (_teleport == null || _teleport.Slot == SpellSlot.Unknown)
                return;

            _menu = new Menu("QuickTeleport", "QuickTeleport", true);
            _menu.AddItem(new MenuItem("Hotkey", "Hotkey").SetValue(new KeyBind(16, KeyBindType.Press, false)));
            _menu.AddItem(new MenuItem("Turret", "QT to Turrets Only").SetValue(true));
            _menu.AddToMainMenu();
            Game.OnGameUpdate += Game_OnGameUpdate;
            Game.PrintChat("QuickTeleport by Trees loaded.");
        }
示例#43
0
 /// <summary>
 /// Adds to the menu and stuffs
 /// </summary>
 public static void Initialize(Menu igniteMenu)
 {
     _ignite = ObjectManager.Player.Spellbook.Spells.FirstOrDefault(spell => spell.Name == "summonerdot");
     if (_ignite == null) return;
     _igniteSpell = new Spell(_ignite.Slot);
     _igniteUsage = igniteMenu.AddMItem("Use Ignite", true);
     _igniteKillsteal = igniteMenu.AddMItem("Killsteal", false);
     _igniteOnlyCombo = igniteMenu.AddMItem("Only in combo", false);
     _igniteSituation = igniteMenu.AddMItem("Situation analysis", false);
     igniteMenu.AddMItem("Don't use if killable by");
     _igniteMaxAutoattacks = igniteMenu.AddMItem("X Autoattacks", new Slider(1, 0, 5));
     _igniteSpellsCooldown = igniteMenu.AddMItem("Don't use if skills up", false);
     _igniteCloseFight = igniteMenu.AddMItem("Ignore above in close fight", true);
     _igniteCloseFightHealth = igniteMenu.AddMItem("Close fight health diff %", new Slider(20));
 }
示例#44
0
        public static void OnLoad(EventArgs args)
        {
            try
            {
                slot1 = Player.Spellbook.GetSpell(SpellSlot.Summoner1);
                slot2 = Player.Spellbook.GetSpell(SpellSlot.Summoner2);
                var smiteNames = new[]
                                     {
                                         "s5_summonersmiteplayerganker", "itemsmiteaoe", "s5_summonersmitequick",
                                         "s5_summonersmiteduel", "summonersmite"
                                     };

                if (smiteNames.Contains(slot1.Name))
                {
                    smite = new Spell(SpellSlot.Summoner1, 550f);
                    smiteSlot = SpellSlot.Summoner1;
                }
                else if (smiteNames.Contains(slot2.Name))
                {
                    smite = new Spell(SpellSlot.Summoner2, 550f);
                    smiteSlot = SpellSlot.Summoner2;
                }
                else
                {
                    Console.WriteLine("You don't have smite f****t");
                    return;
                }

                Notifications.AddNotification(string.Format("ElSmite by jQuery v{0}", ScriptVersion), 10000);
                InitializeMenu.Load();
                Game.OnUpdate += OnUpdate;
                Drawing.OnDraw += OnDraw;

                Console.WriteLine(Player.ChampionName);

                var type = Type.GetType("ElSmite.Plugins." + Player.ChampionName);
                if (type != null)
                {
                    Base.Load(Player.ChampionName);
                    Console.WriteLine("Loaded");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }
示例#45
0
        public static void InitializeSpells()
        {
            try
            {
                q = new Spell(SpellSlot.Q, 975);
                w = new Spell(SpellSlot.W, 325);
                e = new Spell(SpellSlot.E, 150);
                r = new Spell(SpellSlot.R);

                q.SetSkillshot(0.275f, 60, 2000, true, SkillshotType.SkillshotLine);

                ignite = CommonUtilities.Player.Spellbook.GetSpell(CommonUtilities.Player.GetSpellSlot("summonerdot"));
            }
            catch (Exception exception)
            {
                Console.WriteLine("Could not load the spells - {0}", exception);
            }
        }
示例#46
0
        private static void OnGameLoad(EventArgs args)
        {
            Game.PrintChat("<font color = \"#00bfff\">Master Series</font> by <font color = \"#9370db\">Brian</font>");
            Game.PrintChat("<font color = \"#ffa500\">Feel free to donate via Paypal to:</font> <font color = \"#ff4500\">[email protected]</font>");
            Name = Player.ChampionName;
            Config = new Menu("Master Of " + Name, "Master_" + Name, true);

            Config.AddSubMenu(new Menu("Target Selector", "TSSettings"));
            Config.SubMenu("TSSettings").AddItem(new MenuItem("tsMode", "Mode").SetValue(new StringList(new[] { "Auto", "Most AD", "Most AP", "Less Attack", "Less Cast", "Low Hp", "Closest", "Near Mouse" })));
            Config.SubMenu("TSSettings").AddItem(new MenuItem("tsFocus", "Forced Target").SetValue(true));
            Config.SubMenu("TSSettings").AddItem(new MenuItem("tsDraw", "Draw Target").SetValue(true));
            selectTarget = new TargetSelector(2000, TargetSelector.TargetingMode.AutoPriority);

            var OWMenu = new Menu("Orbwalker", "Orbwalker");
            LXOrbwalker.AddToMenu(OWMenu);
            Config.AddSubMenu(OWMenu);

            try
            {
                if (Activator.CreateInstance(null, "Master." + Name) != null)
                {
                    var QData = Player.Spellbook.GetSpell(SpellSlot.Q);
                    var WData = Player.Spellbook.GetSpell(SpellSlot.W);
                    var EData = Player.Spellbook.GetSpell(SpellSlot.E);
                    var RData = Player.Spellbook.GetSpell(SpellSlot.R);
                    //Game.PrintChat("{0}/{1}/{2}/{3}", QData.SData.CastRange[0], WData.SData.CastRange[0], EData.SData.CastRange[0], RData.SData.CastRange[0]);
                    FData = Player.SummonerSpellbook.GetSpell(Player.GetSpellSlot("summonerflash"));
                    SData = Player.SummonerSpellbook.GetSpell(Player.GetSpellSlot("summonersmite"));
                    IData = Player.SummonerSpellbook.GetSpell(Player.GetSpellSlot("summonerdot"));
                    Game.OnGameUpdate += OnGameUpdate;
                    Drawing.OnDraw += OnDraw;
                    SkinChanger(null, null);
                }
            }
            catch
            {
                Game.PrintChat("[Master Series] => {0} Not Support !", Name);
            }
            Config.AddToMainMenu();
        }
示例#47
0
        public static void Initialize()
        {
            // Initialize spells
            Q = new Spell.Skillshot(SpellSlot.Q, 950, SkillShotType.Circular, 1200, int.MaxValue, 250)
            {
                MinimumHitChance = HitChance.High,
                AllowedCollisionCount = int.MaxValue
            };
            W = new Spell.Skillshot(SpellSlot.W, 575, SkillShotType.Cone, 250, int.MaxValue, 60)
            {
                MinimumHitChance = HitChance.High,
                AllowedCollisionCount = int.MaxValue
            };
            E = new Spell.Active(SpellSlot.E);
            R = new Spell.Targeted(SpellSlot.R, 175);

            // Flash Config
            if (Champion.Spellbook.GetSpell(SpellSlot.Summoner1).Name == "summonerflash")
                Sumspell = Champion.Spellbook.GetSpell(SpellSlot.Summoner1);
            if (Champion.Spellbook.GetSpell(SpellSlot.Summoner2).Name == "summonerflash")
                Sumspell = Champion.Spellbook.GetSpell(SpellSlot.Summoner2);
        }
示例#48
0
        /// <summary>
        ///     Gets minion health based on pred type
        /// </summary>
        public static float getPred(Obj_AI_Base minion, PredType type, SpellDataInst spell = null)
        {
            var result = minion.Health;
            var predHealth = minion.Health;
            switch (type)
            {
                case PredType.PRED_LAST_HIT:
                {
                    var time =  1000* player.Distance(minion)/ player.BasicAttack.MissileSpeed;
                    predHealth = DtsHealthPrediction.GetHealthPrediction(minion, (int)time);
                    result = predHealth;
                    break;
                }
                case PredType.PRED_TWO_HITS:
                {
                    var time = 1000 * player.Distance(minion) / player.BasicAttack.MissileSpeed;
                    predHealth = DtsHealthPrediction.GetHealthPrediction(minion, (int)(time*2));
                    result = predHealth;
                    break;
                }
                case PredType.PRED_SKILL:
                {
                    var time = (int)(spell.SData.SpellCastTime*1000 + 1000 * player.Distance(minion) / spell.SData.MissileSpeed);
                    predHealth = DtsHealthPrediction.GetHealthPrediction(minion, time);
                    result = predHealth;
                    break;
                }
                case PredType.PRED_UNKILLABLE:
                {
                    var time = 100* player.Distance(minion) / player.BasicAttack.MissileSpeed;
                    predHealth = DtsHealthPrediction.GetHealthPrediction(minion, (int)(time*1.5f));
                    result = predHealth;
                    break;
                }
            }

            return result;
        }
示例#49
0
文件: Smite.cs 项目: q51251/ElBundle
        public static void Load()
        {
            try
            {
                slot1 = Entry.Player.Spellbook.GetSpell(SpellSlot.Summoner1);
                slot2 = Entry.Player.Spellbook.GetSpell(SpellSlot.Summoner2);
                var smiteNames = new[]
                                     {
                                         "s5_summonersmiteplayerganker", "itemsmiteaoe", "s5_summonersmitequick",
                                         "s5_summonersmiteduel", "summonersmite"
                                     };

                if (smiteNames.Contains(slot1.Name))
                {
                    smite = new Spell(SpellSlot.Summoner1, 550f);
                    smiteSlot = SpellSlot.Summoner1;
                }
                else if (smiteNames.Contains(slot2.Name))
                {
                    smite = new Spell(SpellSlot.Summoner2, 550f);
                    smiteSlot = SpellSlot.Summoner2;
                }
                else
                {
                    Console.WriteLine("You don't have smite f****t");
                    return;
                }

                Drawing.OnDraw += OnDraw;
                Game.OnUpdate += OnUpdate;
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }
示例#50
0
        //private static void Main() => CustomEvents.Game.OnGameLoad += OnGameLoad;
        private static void OnGameLoad(EventArgs args)
        {
            Hacks.RenderWatermark = false;
            if (Player.ChampionName != "Riven") return;
            Flash = ObjectManager.Player.Spellbook.Spells.FirstOrDefault(a => a.Name.ToLower().Contains("summonerflash"));
            Chat.Print("Loaded Succesfully", Color.DodgerBlue);

            OnMenuLoad();

            Game.OnTick += OnTick;
            Drawing.OnDraw += Drawing_OnDraw;
            //todo: add damage indicator
            Drawing.OnEndScene += Drawing_OnEndScene;
            Obj_AI_Base.OnProcessSpellCast += OnCast;
            Obj_AI_Base.OnSpellCast += OnDoCast;
            Obj_AI_Base.OnSpellCast += OnDoCastLC;
            Obj_AI_Base.OnPlayAnimation += OnPlay;
            Obj_AI_Base.OnProcessSpellCast += OnCasting;
        }
示例#51
0
        private static void Game_OnGameLoad(EventArgs args)
        {
            if (Player.ChampionName != Champion)
            {
                return;
            }

            SetSmiteSlot();

            qHuman = new Spell(SpellSlot.Q, 625);
            wHuman = new Spell(SpellSlot.W, 950);
            wHuman.SetSkillshot(0.3f, 100, 950, true, SkillshotType.SkillshotLine);
            eHuman = new Spell(SpellSlot.E, 1075);
            eHuman.SetSkillshot(0.25f, 70, 1600, true, SkillshotType.SkillshotLine);
            qSpider = new Spell(SpellSlot.Q, 475);
            wSpider = new Spell(SpellSlot.W);
            eSpider = new Spell(SpellSlot.E, 700);
            r = new Spell(SpellSlot.R);
            ignite = Player.Spellbook.GetSpell(Player.GetSpellSlot("summonerdot"));

            config = new Menu(Player.ChampionName, Player.ChampionName, true);

            var orbwalkerMenu = config.AddSubMenu(new Menu("Orbwalker", "Orbwalker"));
            orbwalker = new Orbwalking.Orbwalker(orbwalkerMenu);

            var ts = config.AddSubMenu(new Menu("Target Selector", "Target Selector"));
            TargetSelector.AddToMenu(ts);

            var combo = config.AddSubMenu(new Menu("Combo Settings", "Combo"));
            var comboQ = combo.AddSubMenu(new Menu("Q Settings", "Q"));
            comboQ.AddItem(new MenuItem("useQh", "Use Q human").SetValue(true));
            comboQ.AddItem(new MenuItem("useQs", "Use Q spider").SetValue(true));
            var comboW = combo.AddSubMenu(new Menu("W Settings", "W"));
            comboW.AddItem(new MenuItem("useWh", "Use W human").SetValue(true));
            comboW.AddItem(new MenuItem("useWs", "Use W spider").SetValue(true));
            var comboE = combo.AddSubMenu(new Menu("E Settings", "E"));
            comboE.AddItem(new MenuItem("useEh", "Use E human").SetValue(true));
            comboE.AddItem(
                new MenuItem("eHitchanceH", "E Hitchance").SetValue(
                    new StringList(
                        new[]
                        {
                            HitChance.Low.ToString(), HitChance.Medium.ToString(), HitChance.High.ToString(),
                            HitChance.VeryHigh.ToString()
                        }, 2)));
            comboE.AddItem(new MenuItem("smiteE", "Use Smite to hit E").SetValue(true));
            comboE.AddItem(new MenuItem("useEs", "Use E spider to engage").SetValue(true));
            var comboR = combo.AddSubMenu(new Menu("R Settings", "R"));
            comboR.AddItem(new MenuItem("useR", "Use R to switch forms").SetValue(true));

            var harass = config.AddSubMenu(new Menu("Harass Settings", "Harass"));
            var harassQ = harass.AddSubMenu(new Menu("Q Settings", "Q"));
            harassQ.AddItem(new MenuItem("useQHarassH", "Use Q human").SetValue(true));
            harassQ.AddItem(new MenuItem("useQHarassS", "Use Q spider").SetValue(true));
            var harassW = harass.AddSubMenu(new Menu("W Settings", "W"));
            harassW.AddItem(new MenuItem("useWHarassH", "Use W human").SetValue(true));
            var harassE = combo.AddSubMenu(new Menu("E Settings", "E"));
            harassE.AddItem(new MenuItem("useEHarassH", "Use E").SetValue(true));
            var harassR = combo.AddSubMenu(new Menu("R Settings", "R"));
            harassR.AddItem(new MenuItem("useRHarass", "Use R to switch forms").SetValue(true));

            var killsteal = config.AddSubMenu(new Menu("KillSteal Settings", "KillSteal"));
            killsteal.AddItem(new MenuItem("killsteal", "Activate KillSteal").SetValue(true));
            killsteal.AddItem(new MenuItem("useQksH", "Use Q human to KillSteal").SetValue(true));
            killsteal.AddItem(new MenuItem("useQksS", "Use Q spider to KillSteal").SetValue(true));
            killsteal.AddItem(new MenuItem("useWksH", "Use W human to KillSteal").SetValue(true));
            killsteal.AddItem(new MenuItem("useSks", "Use Smite to KillSteal").SetValue(true));
            killsteal.AddItem(new MenuItem("useIks", "Use Ignite to KillSteal").SetValue(true));

            var misc = config.AddSubMenu(new Menu("Misc Settings", "Misc"));
            misc.AddItem(new MenuItem("smiteC", "Use Smite in combo").SetValue(false));
            var miscQ = misc.AddSubMenu(new Menu("Q Settings", "Q"));
            miscQ.AddItem(
                new MenuItem("autoQ", "Auto Q human on enemies").SetValue(
                    new KeyBind("J".ToCharArray()[0], KeyBindType.Toggle)));
            miscQ.AddItem(new MenuItem("autoQmp", "Minimum MP% to auto Q").SetValue(new Slider(50, 1)));
            var miscE = misc.AddSubMenu(new Menu("E Settings", "E"));
            miscE.AddItem(new MenuItem("useEinterrupt", "Use E human to interrupt spells").SetValue(true));
            miscE.AddItem(new MenuItem("useEgapcloser", "Use E human on gapclosers").SetValue(true));
            var miscR = misc.AddSubMenu(new Menu("R Settings", "R"));
            miscR.AddItem(new MenuItem("toSpiderBase", "Use R to spider when recalled").SetValue(true));

            var farming = config.AddSubMenu(new Menu("Last Hit Settings", "Last Hit Farming"));
            farming.AddItem(new MenuItem("useQlh", "Use spider Q to last hit minions").SetValue(true));
            farming.AddItem(new MenuItem("useQlc", "Use Q spider to laneclear").SetValue(true));
            farming.AddItem(new MenuItem("useWlcS", "Use W spider in laneclear").SetValue(true));
            farming.AddItem(new MenuItem("useWlcH", "Use W spider in laneclear").SetValue(false));
            farming.AddItem(new MenuItem("useWlcHMP", "Minimum MP% to use W human to laneclear").SetValue(new Slider(60, 1)));
            farming.AddItem(new MenuItem("useWlcMin", "Minimum minion to cast W human").SetValue(new Slider(3, 1, 10)));

            var drawingMenu = config.AddSubMenu(new Menu("Drawings", "Drawings"));
            drawingMenu.AddItem(new MenuItem("disableDraw", "Disable all drawings").SetValue(false));
            drawingMenu.AddItem(new MenuItem("drawCD", "Draw spells CD").SetValue(true));
            drawingMenu.AddItem(new MenuItem("drawQh", "Q human range").SetValue(new Circle(true, Color.DarkOrange, qHuman.Range)));
            drawingMenu.AddItem(new MenuItem("drawWh", "W human range").SetValue(new Circle(false, Color.DarkOrange, wHuman.Range)));
            drawingMenu.AddItem(new MenuItem("drawEh", "E human range").SetValue(new Circle(false, Color.DarkOrange, eHuman.Range)));
            drawingMenu.AddItem(new MenuItem("drawQs", "Q spider range").SetValue(new Circle(true, Color.DarkOrange, qSpider.Range)));
            drawingMenu.AddItem(new MenuItem("drawEs", "E spider range").SetValue(new Circle(true, Color.DarkOrange, eSpider.Range)));
            drawingMenu.AddItem(new MenuItem("width", "Drawings width").SetValue(new Slider(2, 1, 5)));

            config.AddItem(new MenuItem("spacer", ""));
            config.AddItem(new MenuItem("version", "Version: 1.0.0.0"));
            config.AddItem(new MenuItem("author", "Author: Hestia"));

            config.AddToMainMenu();

            Notifications.AddNotification("Elise by Hestia loaded!", 5000);
            Game.OnUpdate += Game_OnUpdate;
            Drawing.OnDraw += Drawing_OnDraw;
            Orbwalking.AfterAttack += OrbwalkingAfterAttack;
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpell;
            Interrupter2.OnInterruptableTarget += OnInterruptableTarget;
            AntiGapcloser.OnEnemyGapcloser += OnEnemyGapcloser;
        }
示例#52
0
        static void Game_OnGameLoad(EventArgs args)
        {

            _player = ObjectManager.Player;
            if (_player.BaseSkinName != ChampionName) return;

            _humanQ = new Spell(SpellSlot.Q, 625f);
            _humanW = new Spell(SpellSlot.W, 950f);
            _humanE = new Spell(SpellSlot.E, 1075f);
            _spiderQ = new Spell(SpellSlot.Q, 475f);
            _spiderW = new Spell(SpellSlot.W, 0);
            _spiderE = new Spell(SpellSlot.E, 750f);
            _r = new Spell(SpellSlot.R, 0);

            _humanW.SetSkillshot(0.25f, 100f, 1000, true, SkillshotType.SkillshotLine);
            _humanE.SetSkillshot(0.25f, 55f, 1300, true, SkillshotType.SkillshotLine);

            //DFG = new Items.Item(3128, 750f);

            _igniteSlot = _player.GetSpellSlot("SummonerDot");
            _smiteSlot = _player.SummonerSpellbook.GetSpell(_player.GetSpellSlot("summonersmite"));
            

            _config = new Menu("D-Elise", "D-Elise", true);


            //TargetSelector
            var targetSelectorMenu = new Menu("Target Selector", "Target Selector");
            SimpleTs.AddToMenu(targetSelectorMenu);
            _config.AddSubMenu(targetSelectorMenu);

            //Orbwalker
            _config.AddSubMenu(new Menu("Orbwalking", "Orbwalking"));
            _orbwalker = new Orbwalking.Orbwalker(_config.SubMenu("Orbwalking"));

            //Combo
            _config.AddSubMenu(new Menu("Combo", "Combo"));
            _config.SubMenu("Combo").AddItem(new MenuItem("UseHumanQ", "Human Q")).SetValue(true);
            _config.SubMenu("Combo").AddItem(new MenuItem("UseHumanW", "Human W")).SetValue(true);
            _config.SubMenu("Combo").AddItem(new MenuItem("UseHumanE", "Human E")).SetValue(true);
            _config.SubMenu("Combo").AddItem(new MenuItem("UseRCombo", "Auto use R")).SetValue(true);
            _config.SubMenu("Combo").AddItem(new MenuItem("UseSpiderQ", "Spider Q")).SetValue(true);
            _config.SubMenu("Combo").AddItem(new MenuItem("UseSpiderW", "Spider W")).SetValue(true);
            _config.SubMenu("Combo").AddItem(new MenuItem("UseSpiderE", "Spider E")).SetValue(true);
            _config.SubMenu("Combo").AddItem(new MenuItem("ActiveCombo", "Combo!").SetValue(new KeyBind(32, KeyBindType.Press)));

            //Harass
            _config.AddSubMenu(new Menu("Harass", "Harass"));
            _config.SubMenu("Harass").AddItem(new MenuItem("UseQHarass", "Human Q")).SetValue(true);
            _config.SubMenu("Harass").AddItem(new MenuItem("UseWHarass", "Human W")).SetValue(true);
            _config.SubMenu("Harass").AddItem(new MenuItem("Harrasmana", "Minimum Mana").SetValue(new Slider(60, 1, 100)));
            _config.SubMenu("Harass").AddItem(new MenuItem("ActiveHarass", "Harass key").SetValue(new KeyBind("C".ToCharArray()[0], KeyBindType.Press)));

            //Farm
            _config.AddSubMenu(new Menu("Farm", "Farm"));
            _config.SubMenu("Farm").AddItem(new MenuItem("HumanQFarm", "Human Q")).SetValue(true);
            _config.SubMenu("Farm").AddItem(new MenuItem("HumanWFarm", "Human W")).SetValue(true);
            _config.SubMenu("Farm").AddItem(new MenuItem("SpiderQFarm", "Spider Q")).SetValue(false);
            _config.SubMenu("Farm").AddItem(new MenuItem("SpiderWFarm", "Spider W")).SetValue(true);
            _config.SubMenu("Farm").AddItem(new MenuItem("Farm_R", "Auto Switch(toggle)").SetValue(new KeyBind("G".ToCharArray()[0], KeyBindType.Toggle)));
            _config.SubMenu("Farm").AddItem(new MenuItem("ActiveFreeze", "Freeze Lane").SetValue(new KeyBind("X".ToCharArray()[0], KeyBindType.Press)));
            _config.SubMenu("Farm").AddItem(new MenuItem("ClearActive", "Clear Lane").SetValue(new KeyBind("V".ToCharArray()[0], KeyBindType.Press)));
            _config.SubMenu("Farm").AddItem(new MenuItem("Lanemana", "Minimum Mana").SetValue(new Slider(60, 1, 100)));

            //Farm
            _config.AddSubMenu(new Menu("Jungle", "Jungle"));
            _config.SubMenu("Jungle").AddItem(new MenuItem("HumanQFarmJ", "Human Q")).SetValue(true);
            _config.SubMenu("Jungle").AddItem(new MenuItem("HumanWFarmJ", "Human W")).SetValue(true);
            _config.SubMenu("Jungle").AddItem(new MenuItem("SpiderQFarmJ", "Spider Q")).SetValue(false);
            _config.SubMenu("Jungle").AddItem(new MenuItem("SpiderWFarmJ", "Spider W")).SetValue(true);
            _config.SubMenu("Jungle").AddItem(new MenuItem("ActiveJungle", "Jungle").SetValue(new KeyBind("V".ToCharArray()[0], KeyBindType.Press)));
            _config.SubMenu("Jungle").AddItem(new MenuItem("Junglemana", "Minimum Mana").SetValue(new Slider(60, 1, 100)));

            //misc
            _config.AddSubMenu(new Menu("Misc", "Misc"));
            _config.SubMenu("Misc").AddItem(new MenuItem("usePackets", "Use Packets")).SetValue(true);
            _config.SubMenu("Misc").AddItem(new MenuItem("Spidergapcloser", "SpiderE to GapCloser")).SetValue(true);
            _config.SubMenu("Misc").AddItem(new MenuItem("Humangapcloser", "HumanE to GapCloser")).SetValue(true);
            _config.SubMenu("Misc").AddItem(new MenuItem("UseEInt", "HumanE to Interrupt")).SetValue(true);
            _config.SubMenu("Misc").AddItem(new MenuItem("smite", "Auto Smite Minion").SetValue(true));
            _config.SubMenu("Misc").AddItem(new MenuItem("autoE", "HUmanE with VeryHigh Use").SetValue(new KeyBind("T".ToCharArray()[0], KeyBindType.Press)));
            _config.SubMenu("Misc")
                                   .AddItem(new MenuItem("Echange", "E Hit").SetValue(
                                    new StringList(new[] { "Low", "Medium", "High", "Very High" })));



            //Kill Steal
            _config.AddSubMenu(new Menu("KillSteal", "Ks"));
            _config.SubMenu("Ks").AddItem(new MenuItem("ActiveKs", "Use KillSteal")).SetValue(true);
            _config.SubMenu("Ks").AddItem(new MenuItem("HumanQKs", "Human Q")).SetValue(true);
            _config.SubMenu("Ks").AddItem(new MenuItem("HumanWKs", "Human W")).SetValue(true);
            _config.SubMenu("Ks").AddItem(new MenuItem("SpiderQKs", "Spider Q")).SetValue(true);
            _config.SubMenu("Ks").AddItem(new MenuItem("UseIgnite", "Use Ignite")).SetValue(true);


            //Drawings
            _config.AddSubMenu(new Menu("Drawings", "Drawings"));
            _config.SubMenu("Drawings").AddItem(new MenuItem("DrawQ", "Human Q")).SetValue(true);
            _config.SubMenu("Drawings").AddItem(new MenuItem("DrawW", "Human W")).SetValue(true);
            _config.SubMenu("Drawings").AddItem(new MenuItem("DrawE", "Human E")).SetValue(true);
            _config.SubMenu("Drawings").AddItem(new MenuItem("SpiderDrawQ", "Spider Q")).SetValue(true);
            _config.SubMenu("Drawings").AddItem(new MenuItem("SpiderDrawE", "Spider E")).SetValue(true);
            _config.SubMenu("Drawings").AddItem(new MenuItem("CircleLag", "Lag Free Circles").SetValue(true));
            _config.SubMenu("Drawings").AddItem(new MenuItem("CircleQuality", "Circles Quality").SetValue(new Slider(100, 100, 10)));
            _config.SubMenu("Drawings").AddItem(new MenuItem("CircleThickness", "Circles Thickness").SetValue(new Slider(1, 10, 1)));

            _config.AddToMainMenu();
            AntiGapcloser.OnEnemyGapcloser += AntiGapcloser_OnEnemyGapcloser;
            Interrupter.OnPossibleToInterrupt += Interrupter_OnPosibleToInterrupt;
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            Game.OnGameUpdate += Game_OnGameUpdate;
            Drawing.OnDraw += Drawing_OnDraw;
            Game.PrintChat("<font color='#881df2'>D-Elise by Diabaths</font> Loaded.");

        }
示例#53
0
 private static float RivenDamageQ(SpellDataInst spell, AIHeroClient src, AIHeroClient dsc)
 {
     double dmg = 0;
     if (spell.IsReady())
     {
         dmg += src.CalcDamage(
             dsc, DamageType.Physical,
             (-10 + spell.Level*20 +
              (0.35 + spell.Level*0.05)*(src.FlatPhysicalDamageMod + src.BaseAttackDamage))*3);
     }
     return (float) dmg;
 }
示例#54
0
        //private static void Main() => CustomEvents.Game.OnGameLoad += OnGameLoad;
        private static void OnGameLoad(EventArgs args)
        {
            Hacks.RenderWatermark = false;
            if (_Player.ChampionName != "Riven") return;
            Flash = ObjectManager.Player.Spellbook.Spells.FirstOrDefault(a => a.Name.ToLower().Contains("summonerflash"));
            Chat.Print("Loaded Succesfully", Color.DodgerBlue);

            OnMenuLoad();

            //Timer = new Render.Text("Q Expiry =>  " + ((double)(LastQ - Environment.TickCount + 3800) / 1000).ToString("0.0"), (int)Drawing.WorldToScreen(Player.Position).X - 140, (int)Drawing.WorldToScreen(Player.Position).Y + 10, 30, Color.MidnightBlue, "calibri");
            //Timer2 = new Render.Text("R Expiry =>  " + (((double)LastR - Environment.TickCount + 15000) / 1000).ToString("0.0"), (int)Drawing.WorldToScreen(Player.Position).X - 60, (int)Drawing.WorldToScreen(Player.Position).Y + 10, 30, Color.IndianRed, "calibri");

            Game.OnTick += OnTick;
            Drawing.OnDraw += Drawing_OnDraw;
            //todo: add damage indicator
            Drawing.OnEndScene += Drawing_OnEndScene;
            Obj_AI_Base.OnProcessSpellCast += OnCast;
            Obj_AI_Base.OnSpellCast += OnDoCast;
            Obj_AI_Base.OnSpellCast += OnDoCastLC;
            Obj_AI_Base.OnPlayAnimation += OnPlay;
            Obj_AI_Base.OnProcessSpellCast += OnCasting;
        }
示例#55
0
        public void Load()
        {
            if (ObjectManager.Player.ChampionName != "Garen")
                return;
            Notifications.AddNotification("The Garen v2 loaded!", 3);

            var mainMenu = new Menu("The Garen", "The Garen", true);
            var orbwalkerMenu = mainMenu.CreateSubmenu("Orbwalker");
            var targetSelectorMenu = mainMenu.CreateSubmenu("Target Selector");
            var comboMenu = mainMenu.CreateSubmenu("Combo");
            var laneClearMenu = mainMenu.CreateSubmenu("Laneclear");
            var miscMenu = mainMenu.CreateSubmenu("Misc");
            var items = mainMenu.CreateSubmenu("Items");
            var gapcloserMenu = mainMenu.CreateSubmenu("Gapcloser");
            var interrupterMenu = mainMenu.CreateSubmenu("Interrupter");
            var drawingMenu = mainMenu.CreateSubmenu("Drawing");

            var orbwalker = new Orbwalking.Orbwalker(orbwalkerMenu);
            TargetSelector.AddToMenu(targetSelectorMenu);

            _comboProvider = new ComboProvider(500, new Skill[] { new GarenQ(new Spell(SpellSlot.Q)), new GarenW(new Spell(SpellSlot.W)), new GarenE(new Spell(SpellSlot.E)), new GarenR(new Spell(SpellSlot.R)) }.ToList(), orbwalker);
            _r = _comboProvider.GetSkill<GarenR>();
            _flash = ObjectManager.Player.Spellbook.Spells.FirstOrDefault(spell => spell.Name == "summonerflash");
            _comboProvider.CreateBasicMenu(comboMenu, null, null, gapcloserMenu, interrupterMenu, null, mainMenu.CreateSubmenu("Ignite"), items, false);
            _comboProvider.CreateLaneclearMenu(laneClearMenu, false, SpellSlot.W);

            comboMenu.AddMItem("Q After Auto Attack", true, (sender, args) => _comboProvider.GetSkill<GarenQ>().OnlyAfterAuto = args.GetNewValue<bool>());
            comboMenu.AddMItem("E After Auto Attack", true, (sender, args) => _comboProvider.GetSkill<GarenE>().OnlyAfterAuto = args.GetNewValue<bool>());
            comboMenu.AddMItem("R Killsteal", false, (sender, args) => _comboProvider.GetSkill<GarenR>().Killsteal = args.GetNewValue<bool>());
            comboMenu.AddMItem("Q if not in range", true, (sender, args) => _comboProvider.GetSkill<GarenQ>().UseWhenOutOfRange = args.GetNewValue<bool>());
            comboMenu.ProcStoredValueChanged<bool>();

            miscMenu.AddMItem("Also W out of combo", true, (sender, args) => _comboProvider.GetSkill<GarenW>().UseAlways = args.GetNewValue<bool>());
            miscMenu.AddMItem("Min incomming DPS for W in health %", new Slider(2, 1, 15), (sender, args) => _comboProvider.GetSkill<GarenW>().MinDamagePercent = args.GetNewValue<Slider>().Value).ProcStoredValueChanged<Slider>();
            miscMenu.AddMItem("Always W enemy ults", true, (sender, args) => _comboProvider.GetSkill<GarenW>().UseOnUltimates = args.GetNewValue<bool>());
            miscMenu.ProcStoredValueChanged<bool>();

            gapcloserMenu.AddMItem("(Using W if enabled)");

            laneClearMenu.AddMItem("E min. minions", new Slider(1, 1, 8), (sender, args) => _comboProvider.GetSkill<GarenE>().MinFarmMinions = args.GetNewValue<Slider>().Value).ProcStoredValueChanged<Slider>();
            laneClearMenu.AddMItem("Use Hydra", true, (sender, args) => _comboProvider.GetSkill<GarenE>().UseHydra = args.GetNewValue<bool>()).ProcStoredValueChanged<bool>();

            drawingMenu.AddMItem("Damage Indicator", new Circle(true, Color.FromArgb(100, Color.Goldenrod)), (sender, args) =>
            {
                DamageIndicator.DamageToUnit = _comboProvider.GetComboDamage;
                DamageIndicator.Enabled = args.GetNewValue<Circle>().Active;
                DamageIndicator.FillColor = args.GetNewValue<Circle>().Color;
                DamageIndicator.Fill = true;
                DamageIndicator.Color = Color.FromArgb(255, DamageIndicator.FillColor);
            });
            drawingMenu.AddMItem("R Range", new Circle(true, Color.Goldenrod), (sender, args) => _drawR = args.GetNewValue<Circle>());
            drawingMenu.AddMItem("Draw possible flash-ult", new Circle(true, Color.Red), (sender, args) => _drawFlashUlt = args.GetNewValue<Circle>());
            drawingMenu.AddMItem("Damage Indicator by xSalice!");
            drawingMenu.ProcStoredValueChanged<Circle>();

            mainMenu.AddMItem("Max order: R > E > Q > W! Have fun!");
            mainMenu.AddToMainMenu();
            _comboProvider.Initialize();

            Game.OnUpdate += Tick;
            Drawing.OnDraw += Draw;
        }
示例#56
0
        public static void Initialize()
        {
            Text = new Font(Drawing.Direct3DDevice, new FontDescription { FaceName = "Calibri", Height = 13, Width = 6, OutputPrecision = FontPrecision.Default, Quality = FontQuality.Default });

            #region Spells

            BaseUltSpells.Add(new BaseUltSpell("Ezreal", SpellSlot.R, 1000 / 1000f, 2000, 160, false));
            BaseUltSpells.Add(new BaseUltSpell("Jinx", SpellSlot.R, 600 / 1000f, 1700, 140, true));
            BaseUltSpells.Add(new BaseUltSpell("Ashe", SpellSlot.R, 250 / 1000f, 1600, 130, true));
            BaseUltSpells.Add(new BaseUltSpell("Draven", SpellSlot.R, 400 / 1000f, 2000, 160, true));
            BaseUltSpells.Add(new BaseUltSpell("Karthus", SpellSlot.R, 3125 / 1000f, 0, 0, false));

            #endregion

            Ultimate = Player.Spellbook.GetSpell(BaseUltSpells.Find(h => h.Name == Player.ChampionName).Slot);

            foreach (var enemy in EntityManager.Heroes.Enemies)
                enemiesInfo.Add(new EnemyInfo(enemy));
        }
示例#57
0
        private static void Game_OnGameLoad(EventArgs args)
        {
            if (Player.ChampionName != Champion)
            {
                return;
            }

            q = new Spell(SpellSlot.Q, 1050);
            q.SetSkillshot(0.125f, 50, 1700, true, SkillshotType.SkillshotLine);
            w = new Spell(SpellSlot.W, 800);
            r = new Spell(SpellSlot.R, 550);
            ignite = Player.Spellbook.GetSpell(Player.GetSpellSlot("summonerdot"));

            config = new Menu(Player.ChampionName, Player.ChampionName, true);

            var orbwalkerMenu = config.AddSubMenu(new Menu("Orbwalker", "Orbwalker"));
            orbwalker = new Orbwalking.Orbwalker(orbwalkerMenu);

            var tsMenu = config.AddSubMenu(new Menu("Target Selector", "Target Selector"));
            TargetSelector.AddToMenu(tsMenu);

            var combo = config.AddSubMenu(new Menu("Combo Settings", "Combo"));
            var comboQ = combo.AddSubMenu(new Menu("Q Settings", "Q"));
            comboQ.AddItem(new MenuItem("useQ", "Use Q").SetValue(true));
            comboQ.AddItem(
                new MenuItem("qHitchance", "Q Hitchance").SetValue(
                    new StringList(
                        new[] { HitChance.Low.ToString(), HitChance.Medium.ToString(), HitChance.High.ToString(), HitChance.VeryHigh.ToString() }, 2)));
            var comboW = combo.AddSubMenu(new Menu("W Settings", "W"));
            comboW.AddItem(new MenuItem("useW", "Use W").SetValue(true));
            comboW.AddItem(
                new MenuItem("useWmodeCombo", "W Mode").SetValue(new StringList(new[] { "Always", "Only Stunnable" })));
            var comboR = combo.AddSubMenu(new Menu("R Settings", "R"));
            comboR.AddItem(new MenuItem("useR", "Use smart R").SetValue(true));

            var harass = config.AddSubMenu(new Menu("Harass Settings", "Harass"));
            var harassQ = harass.AddSubMenu(new Menu("Q Settings", "Q"));
            harassQ.AddItem(new MenuItem("useQHarass", "Use Q").SetValue(true));
            harassQ.AddItem(
                new MenuItem("qHitchanceH", "Q Hitchance").SetValue(
                    new StringList(
                        new[] { HitChance.Low.ToString(), HitChance.Medium.ToString(), HitChance.High.ToString(), HitChance.VeryHigh.ToString() }, 2)));
            var harassW = harass.AddSubMenu(new Menu("W Settings", "W"));
            harassW.AddItem(new MenuItem("useWHarass", "Use W").SetValue(true));
            harassW.AddItem(
                new MenuItem("useWmodeHarass", "W Mode").SetValue(new StringList(new[] { "Always", "Only Stunnable" })));

            var misc = config.AddSubMenu(new Menu("Misc Settings", "Misc"));
            misc.AddItem(new MenuItem("useRmul", "Use R for multiple targets").SetValue(true));
            misc.AddItem(new MenuItem("useRmulti", "Use R on min X targets").SetValue(new Slider(2, 1, 5)));

            var lastHitMenu = config.AddSubMenu(new Menu("LastHit", "LastHit"));
            lastHitMenu.AddItem(new MenuItem("useQlh", "Use Q to Last Hit minions").SetValue(true));

            var laneClearMenu = config.AddSubMenu(new Menu("LaneClear", "LaneClear"));
            laneClearMenu.AddItem(new MenuItem("useQlc", "Q to LH in lane clear").SetValue(true));
            laneClearMenu.AddItem(new MenuItem("useQlcH", "Q to harass in lane clear").SetValue(true));
            laneClearMenu.AddItem(new MenuItem("useWlc", "Use W to harass in lane clear").SetValue(false));

            var jungleClearMenu = config.AddSubMenu(new Menu("JungleClear", "JungleClear"));
            jungleClearMenu.AddItem(new MenuItem("useQj", "Q in jungle clear").SetValue(true));
            jungleClearMenu.AddItem(new MenuItem("useWj", "Use W in jungle clear").SetValue(true));
            jungleClearMenu.AddItem(
                new MenuItem("jungleActive", "Jungle Clear!").SetValue(new KeyBind("V".ToCharArray()[0], KeyBindType.Press)));

            var killsteal = config.AddSubMenu(new Menu("KillSteal Settings", "KillSteal"));
            killsteal.AddItem(new MenuItem("killsteal", "Activate Killsteal").SetValue(true));
            killsteal.AddItem(new MenuItem("useQks", "Use Q to KillSteal").SetValue(true));
            killsteal.AddItem(new MenuItem("useWks", "Use W to KillSteal").SetValue(true));
            killsteal.AddItem(new MenuItem("useIks", "Use Ignite to KillSteal").SetValue(true));

            var drawingMenu = config.AddSubMenu(new Menu("Drawings", "Drawings"));
            drawingMenu.AddItem(new MenuItem("disableDraw", "Disable all drawings").SetValue(false));
            drawingMenu.AddItem(new MenuItem("drawQ", "Draw Q").SetValue(new Circle(true, Color.DarkOrange, q.Range)));
            drawingMenu.AddItem(new MenuItem("drawW", "Draw W").SetValue(new Circle(true, Color.DarkOrange, w.Range)));
            drawingMenu.AddItem(new MenuItem("drawR", "Draw R").SetValue(new Circle(true, Color.DarkOrange, r.Range)));
            drawingMenu.AddItem(new MenuItem("width", "Drawings width").SetValue(new Slider(2, 1, 5)));
            drawingMenu.AddItem(new MenuItem("drawDmg", "Draw damage on Healthbar").SetValue(true));

            config.AddToMainMenu();

            Utility.HpBarDamageIndicator.DamageToUnit = GetComboDamage;

            Notifications.AddNotification("Kennen by Hestia loaded!", 5000);
            Drawing.OnDraw += Drawing_OnDraw;
            Game.OnUpdate += Game_OnUpdate;
        }
示例#58
0
        private static void Game_OnGameLoad(EventArgs args)
        {
            if (Player.ChampionName != "LeeSin")
            {
                return;
            }

            igniteSlot = Player.GetSpellSlot("SummonerDot");
            flashSlot = Player.GetSpellSlot("summonerflash");

            spells[Spells.Q].SetSkillshot(0.25f, 65f, 1800f, true, SkillshotType.SkillshotLine);

            slot1 = Player.Spellbook.GetSpell(SpellSlot.Summoner1);
            slot2 = Player.Spellbook.GetSpell(SpellSlot.Summoner2);
            var smiteNames = new[]
                                 {
                                         "s5_summonersmiteplayerganker", "itemsmiteaoe", "s5_summonersmitequick",
                                         "s5_summonersmiteduel", "summonersmite"
                                     };

            if (smiteNames.Contains(slot1.Name))
            {
                smite = new Spell(SpellSlot.Summoner1, 550f);
                smiteSlot = SpellSlot.Summoner1;
            }
            else if (smiteNames.Contains(slot2.Name))
            {
                smite = new Spell(SpellSlot.Summoner2, 550f);
                smiteSlot = SpellSlot.Summoner2;
            }
            else
            {
                Console.WriteLine("You don't have smite f****t");
                return;
            }

            try
            {
                InitMenu.Initialize();
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }

            Drawing.OnDraw += Drawings.Drawing_OnDraw;
            Game.OnUpdate += Game_OnGameUpdate;
            Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast;
            GameObject.OnCreate += GameObject_OnCreate;
            Orbwalking.AfterAttack += OrbwalkingAfterAttack;
            GameObject.OnDelete += GameObject_OnDelete;
            Game.OnWndProc += Game_OnWndProc;
        }
示例#59
0
        private static void Game_OnGameLoad(EventArgs args)
        {
            if (Player.ChampionName != Champion)
            {
                return;
            }

            q = new Spell(SpellSlot.Q, 625);
            w = new Spell(SpellSlot.W);
            e = new Spell(SpellSlot.E, 1150);
            r = new Spell(SpellSlot.R);
            r.SetSkillshot(0.7f, 200, float.MaxValue, false, SkillshotType.SkillshotCircle);
            ignite = Player.Spellbook.GetSpell(Player.GetSpellSlot("summonerdot"));

            //Add Debuffs to debuffsList
            DebuffsList.Add(BuffType.Slow);
            DebuffsList.Add(BuffType.Taunt);
            DebuffsList.Add(BuffType.Stun);
            DebuffsList.Add(BuffType.Polymorph);
            DebuffsList.Add(BuffType.Fear);
            DebuffsList.Add(BuffType.Charm);
            DebuffsList.Add(BuffType.Blind);

            config = new Menu(Player.ChampionName, Player.ChampionName, true);

            var orbwalkerMenu = config.AddSubMenu(new Menu("Orbwalker", "Orbwalker"));
            orbwalker = new Orbwalking.Orbwalker(orbwalkerMenu);

            var tsMenu = config.AddSubMenu(new Menu("Target Selector", "Target Selector"));
            TargetSelector.AddToMenu(tsMenu);

            var comboMenu = config.AddSubMenu(new Menu("Combo", "Combo"));
            var comboMenuQ = comboMenu.AddSubMenu(new Menu("Q Settings", "Q Settings"));
            comboMenuQ.AddItem(new MenuItem("useQ", "Use Q").SetValue(true));
            var comboMenuW = comboMenu.AddSubMenu(new Menu("W Settings", "W Settings"));
            comboMenuW.AddItem(new MenuItem("useW", "Use W").SetValue(true));
            comboMenuW.AddItem(new MenuItem("useWminHP", "Use W if HP%").SetValue(new Slider(50, 1)));
            var comboMenuE = comboMenu.AddSubMenu(new Menu("E Settings", "E Settings"));
            comboMenuE.AddItem(new MenuItem("useE", "Use E").SetValue(true));

            var harassMenu = config.AddSubMenu(new Menu("Harass", "Harass"));
            harassMenu.AddItem(new MenuItem("useQharass", "Use Q in mixed mode"));
            harassMenu.AddItem(new MenuItem("useQharassMana", "Use Q if MP%").SetValue(new Slider(50, 1)));

            var miscMenu = config.AddSubMenu(new Menu("Misc Settings", "Misc Settings"));
            miscMenu.AddItem(new MenuItem("useWcleanse", "Use W to cleanse debuffs").SetValue(true));
            var miscMenuWdebuff = miscMenu.AddSubMenu(new Menu("Debuffs Settings", "Debuffs Settings"));
            miscMenuWdebuff.AddItem(new MenuItem("slow", "Slow").SetValue(true));
            miscMenuWdebuff.AddItem(new MenuItem("taunt", "Taunt").SetValue(true));
            miscMenuWdebuff.AddItem(new MenuItem("stun", "Stun").SetValue(true));
            miscMenuWdebuff.AddItem(new MenuItem("polymorph", "Polymorph").SetValue(true));
            miscMenuWdebuff.AddItem(new MenuItem("fear", "Fear").SetValue(true));
            miscMenuWdebuff.AddItem(new MenuItem("charm", "Charm").SetValue(true));
            miscMenuWdebuff.AddItem(new MenuItem("blind", "Blind").SetValue(true));

            var lastHitMenu = config.AddSubMenu(new Menu("LastHit", "LastHit"));
            lastHitMenu.AddItem(new MenuItem("useQlh", "Use Q to Last Hit minions").SetValue(true));
            lastHitMenu.AddItem(new MenuItem("useQlhMana", "Use Q if MP%").SetValue(new Slider(50, 1)));

            var laneClearMenu = config.AddSubMenu(new Menu("LaneClear", "LaneClear"));
            laneClearMenu.AddItem(new MenuItem("useQlc", "Q to LH in lane clear").SetValue(true));
            laneClearMenu.AddItem(new MenuItem("useQlcMana", "Use Q if MP%").SetValue(new Slider(50, 1)));
            laneClearMenu.AddItem(new MenuItem("useElc", "Use E in lane clear").SetValue(true));
            laneClearMenu.AddItem(new MenuItem("useElcMinions", "Use E if at least X minions").SetValue(new Slider(5, 1, 15)));
            laneClearMenu.AddItem(new MenuItem("useElcMana", "Use E if MP%").SetValue(new Slider(50, 1)));

            var killsteal = config.AddSubMenu(new Menu("KillSteal Settings", "KillSteal"));
            killsteal.AddItem(new MenuItem("killsteal", "Activate KillSteal").SetValue(true));
            killsteal.AddItem(new MenuItem("useQks", "Use Q to KillSteal").SetValue(true));
            killsteal.AddItem(new MenuItem("useRks", "Use R to KillSteal").SetValue(true));
            killsteal.AddItem(new MenuItem("useIks", "Use Ignite to KillSteal").SetValue(true));

            var drawingMenu = config.AddSubMenu(new Menu("Drawings", "Drawings"));
            drawingMenu.AddItem(new MenuItem("disableDraw", "Disable all drawings").SetValue(false));
            drawingMenu.AddItem(new MenuItem("drawQ", "Draw Q").SetValue(new Circle(true, Color.DarkOrange, q.Range)));
            drawingMenu.AddItem(new MenuItem("drawE", "Draw E").SetValue(new Circle(true, Color.DarkOrange, e.Range)));
            drawingMenu.AddItem(new MenuItem("width", "Drawings width").SetValue(new Slider(2, 1, 5)));

            config.AddToMainMenu();

            Notifications.AddNotification("GangPlank by Hestia loaded!", 5000);
            Game.OnUpdate += Game_OnGameUpdate;
            Drawing.OnDraw += Drawing_OnDraw;
        }
示例#60
0
 public static float GetSpellRange(SpellDataInst targetSpell, bool IsChargedSkill = false)
 {
     if (targetSpell.SData.CastRangeDisplayOverride <= 0)
     {
         if (targetSpell.SData.CastRange <= 0)
         {
             return
             targetSpell.SData.CastRadius;
         }
         else
         {
             if (!IsChargedSkill)
                 return
                 targetSpell.SData.CastRange;
             else
                 return
                 targetSpell.SData.CastRadius;
         }
     }
     else
         return
         targetSpell.SData.CastRangeDisplayOverride;
 }