Esempio n. 1
0
        public void DecrementQueuedEffectDuration(bool verbose)
        {
            foreach (var queuedEffect in QueuedEffects.ToList())
            {
                var effect = QueuedEffects[queuedEffect.Key];
                effect.Duration = effect.Duration - 1;
                QueuedEffects[queuedEffect.Key] = effect;

                if (effect.Duration <= 0)
                {
                    try
                    {
                        // ReSharper disable once AssignNullToNotNullAttribute
                        var effectName = Enum.GetName(typeof(StatusEffects), queuedEffect.Key);

                        WeaponSkills weaponSkill;
                        Spells       spell;
                        if (Enum.TryParse(effectName, true, out weaponSkill))
                        {
                            WeaponLibrary.ApplyEffect(effect.Target, weaponSkill, verbose, queuedEffect.Value);
                        }

                        if (Enum.TryParse(effectName, true, out spell))
                        {
                            SpellLibrary.ApplyEffect(effect.Target, spell);
                        }
                    }
                    catch
                    {
                        // ignored if it's another non-actionable type such as AnimationLocked
                    }
                    finally
                    {
                        QueuedEffects.Remove(queuedEffect.Key);
                    }
                }
            }
        }
Esempio n. 2
0
        public static void OnLoad(EventArgs args)
        {
            var champion = ObjectManager.Player.ChampionName;

            MenuIni = MainMenu.AddMenu("Auto Steal ", "Auto Steal");

            KillStealMenu = MenuIni.AddSubMenu("Kill Steal ", "Kill Steal");
            KillStealMenu.AddGroupLabel("Kill Steal Settings");
            KillStealMenu.Add(
                champion + "EnableKST",
                new KeyBind("Enable Kill Steal Toggle", true, KeyBind.BindTypes.PressToggle, 'M'));
            KillStealMenu.Add(
                champion + "EnableKSA",
                new KeyBind("Enable Kill Steal Active", false, KeyBind.BindTypes.HoldActive));
            KillStealMenu.AddSeparator();
            KillStealMenu.AddGroupLabel(champion + " Kill Steal Spells");
            KillStealMenu.Add(champion + "AAC", new CheckBox("Use AA "));
            KillStealMenu.Add(champion + "QC", new CheckBox("Use Q "));
            KillStealMenu.Add(champion + "WC", new CheckBox("Use W "));
            KillStealMenu.Add(champion + "EC", new CheckBox("Use E "));
            KillStealMenu.Add(champion + "RC", new CheckBox("Use R "));
            KillStealMenu.AddSeparator();
            KillStealMenu.AddGroupLabel("Select Champions");
            foreach (var enemy in ObjectManager.Get <AIHeroClient>())
            {
                var cb = new CheckBox(enemy.BaseSkinName)
                {
                    CurrentValue = true
                };
                if (enemy.Team != Player.Instance.Team)
                {
                    KillStealMenu.Add(champion + "Steal" + enemy.BaseSkinName, cb);
                }
            }
            KillStealMenu.AddGroupLabel(champion + " Extra Settings");
            KillStealMenu.AddSeparator();
            KillStealMenu.Add(champion + "all", new CheckBox("Calculate All Enabled Spells Damage", false));

            JungleStealMenu = MenuIni.AddSubMenu("Jungle Steal ", "Jungle Steal");
            JungleStealMenu.AddGroupLabel("Jungle Steal Settings");
            JungleStealMenu.Add(
                champion + "EnableJST",
                new KeyBind("Enable Jungle Steal Toggle", true, KeyBind.BindTypes.PressToggle, 'M'));
            JungleStealMenu.Add(
                champion + "EnableJSA",
                new KeyBind("Enable Jungle Steal Active", false, KeyBind.BindTypes.HoldActive));
            JungleStealMenu.AddSeparator();
            JungleStealMenu.AddGroupLabel(champion + " Jungle Steal Spells");
            JungleStealMenu.Add(champion + "AAJ", new CheckBox("Use AA "));
            JungleStealMenu.Add(champion + "QJ", new CheckBox("Use Q "));
            JungleStealMenu.Add(champion + "WJ", new CheckBox("Use W "));
            JungleStealMenu.Add(champion + "EJ", new CheckBox("Use E "));
            JungleStealMenu.Add(champion + "RJ", new CheckBox("Use R "));
            JungleStealMenu.AddGroupLabel(champion + " Extra Settings");
            JungleStealMenu.AddSeparator();
            JungleStealMenu.Add(champion + "all", new CheckBox("Calculate All Enabled Spells Damage", false));
            JungleStealMenu.AddSeparator();
            JungleStealMenu.AddGroupLabel("Select Jungle Monsters");
            JungleStealMenu.Add(champion + "blue", new CheckBox("Steal Blue "));
            JungleStealMenu.Add(champion + "red", new CheckBox("Steal Red "));
            JungleStealMenu.Add(champion + "baron", new CheckBox("Steal Baron "));
            JungleStealMenu.Add(champion + "drake", new CheckBox("Steal Dragon "));
            JungleStealMenu.Add(champion + "gromp", new CheckBox("Steal Gromp "));
            JungleStealMenu.Add(champion + "krug", new CheckBox("Steal Krug "));
            JungleStealMenu.Add(champion + "razorbeak", new CheckBox("Steal Razorbeak "));
            JungleStealMenu.Add(champion + "crab", new CheckBox("Steal Crab "));
            JungleStealMenu.Add(champion + "murkwolf", new CheckBox("Steal Murkwolf "));

            Special = MenuIni.AddSubMenu("Special Stealer ", "Special Stealer");
            Special.AddGroupLabel("Special Stealer Settings");
            var asc = Special.Add(champion + "Ascension", new CheckBox("Steal Ascension Mob"));

            if (Game.Type != GameType.Ascension)
            {
                Special.AddLabel("This Game Mode Isn't Special :(");
                asc.IsVisible = false;
            }

            SpellManager.Initialize();
            SpellLibrary.Initialize();
            Game.OnUpdate += OnUpdate;
        }
Esempio n. 3
0
        private static void OnLoad()
        {
            MenuIni = MainMenu.AddMenu("Auto Farm ", "Auto Farm");

            Lh = MenuIni.AddSubMenu("LastHit ", "LastHit");
            Lh.AddGroupLabel("LastHit Settings");
            Lh.Add(
                Player.ChampionName + "Enable",
                new KeyBind("Enable LastHit Toggle", true, KeyBind.BindTypes.PressToggle, 'M'));
            Lh.Add(
                Player.ChampionName + "Enableactive",
                new KeyBind("Enable LastHit Active", false, KeyBind.BindTypes.HoldActive));
            Lh.Add(Player.ChampionName + "combo", new CheckBox("Disable When Combo is active "));
            Lh.Add(Player.ChampionName + "harass", new CheckBox("Disable When Harass is active "));
            Lh.AddSeparator();
            Lh.AddGroupLabel("Spells Settings");
            Lh.Add(Player.ChampionName + "Qmode", new ComboBox("Q Mode", 0, "UnKillable Minions", "LastHit"));
            Lh.Add(Player.ChampionName + "Q", new CheckBox("Use Q ", false));
            Lh.Add(Player.ChampionName + "Wmode", new ComboBox("W Mode", 0, "UnKillable Minions", "LastHit"));
            Lh.Add(Player.ChampionName + "W", new CheckBox("Use W ", false));
            Lh.Add(Player.ChampionName + "Emode", new ComboBox("E Mode", 0, "UnKillable Minions", "LastHit"));
            Lh.Add(Player.ChampionName + "E", new CheckBox("Use E ", false));
            Lh.Add(Player.ChampionName + "Rmode", new ComboBox("R Mode", 0, "UnKillable Minions", "LastHit"));
            Lh.Add(Player.ChampionName + "R", new CheckBox("Use R ", false));

            Lc = MenuIni.AddSubMenu("LaneClear ", "LaneClear");
            Lc.AddGroupLabel("LaneClear Settings");
            Lc.Add(
                Player.ChampionName + "Enable",
                new KeyBind("Enable LaneClear Toggle", true, KeyBind.BindTypes.PressToggle, 'M'));
            Lc.Add(
                Player.ChampionName + "Enableactive",
                new KeyBind("Enable LaneClear Active", false, KeyBind.BindTypes.HoldActive));
            Lc.Add(Player.ChampionName + "combo", new CheckBox("Disable When Combo is active "));
            Lc.Add(Player.ChampionName + "harass", new CheckBox("Disable When Harass is active "));
            Lc.AddSeparator();
            Lc.AddGroupLabel("Spells Settings");
            Lc.Add(Player.ChampionName + "Qmode", new ComboBox("Q Mode", 0, "OnAfterAttack", "Always"));
            Lc.Add(Player.ChampionName + "Q", new CheckBox("Use Q ", false));
            Lc.Add(Player.ChampionName + "Wmode", new ComboBox("W Mode", 0, "OnAfterAttack", "Always"));
            Lc.Add(Player.ChampionName + "W", new CheckBox("Use W ", false));
            Lc.Add(Player.ChampionName + "Emode", new ComboBox("E Mode", 0, "OnAfterAttack", "Always"));
            Lc.Add(Player.ChampionName + "E", new CheckBox("Use E ", false));
            Lc.Add(Player.ChampionName + "Rmode", new ComboBox("R Mode", 0, "OnAfterAttack", "Always"));
            Lc.Add(Player.ChampionName + "R", new CheckBox("Use R ", false));

            ManaMenu = MenuIni.AddSubMenu("Mana Manager ", "Mana Manager");
            ManaMenu.AddGroupLabel("Only Cast if Mana >= %");
            ManaMenu.Add(Player.ChampionName + "Q", new Slider(" Q "));
            ManaMenu.Add(Player.ChampionName + "W", new Slider(" W "));
            ManaMenu.Add(Player.ChampionName + "E", new Slider(" E "));
            ManaMenu.Add(Player.ChampionName + "R", new Slider(" R "));

            DrawMenu = MenuIni.AddSubMenu("Drawings ", "Drawings");
            DrawMenu.AddGroupLabel("Drawings Settings");
            DrawMenu.Add(Player.ChampionName + "Q", new CheckBox("Draw Q ", false));
            DrawMenu.Add(Player.ChampionName + "W", new CheckBox("Draw W ", false));
            DrawMenu.Add(Player.ChampionName + "E", new CheckBox("Draw E ", false));
            DrawMenu.Add(Player.ChampionName + "R", new CheckBox("Draw R ", false));

            SpellManager.Initialize();
            SpellLibrary.Initialize();
            Orbwalker.OnUnkillableMinion += LastHit.Orbwalker_OnUnkillableMinion;
            Drawing.OnDraw         += Drawing_OnDraw;
            Orbwalker.OnPostAttack += LaneClear.Orbwalker_OnPostAttack;
            Game.OnTick            += Game_OnTick;
        }
Esempio n. 4
0
        private static void OnLoad()
        {
            MenuIni = MainMenu.AddMenu("Auto Farm ", "Auto Farm");

            Lh = MenuIni.AddSubMenu("LastHit ", "LastHit");
            Lh.AddGroupLabel("LastHit Settings");
            Lh.Add(
                Player.ChampionName + "Enable",
                new KeyBind("SonVurus Aktiflestirme Tusu", true, KeyBind.BindTypes.PressToggle, 'M'));
            Lh.Add(
                Player.ChampionName + "Enableactive",
                new KeyBind("SonVurus Aktif", false, KeyBind.BindTypes.HoldActive));
            Lh.Add(Player.ChampionName + "combo", new CheckBox("Kombo etkin oldugunda devre disi birak "));
            Lh.Add(Player.ChampionName + "harass", new CheckBox("Durtme etkin oldugunda devre disi birak "));
            Lh.AddSeparator();
            Lh.AddGroupLabel("Spells Settings");
            Lh.Add(Player.ChampionName + "Qmode", new ComboBox("Q Modu", 0, "Kesemeyecegim minyona", "SonVurus"));
            Lh.Add(Player.ChampionName + "Q", new CheckBox("Kullan Q ", false));
            Lh.Add(Player.ChampionName + "Wmode", new ComboBox("W Modu", 0, "Kesemeyecegim minyona", "SonVurus"));
            Lh.Add(Player.ChampionName + "W", new CheckBox("Kullan W ", false));
            Lh.Add(Player.ChampionName + "Emode", new ComboBox("E Modu", 0, "Kesemeyecegim minyona", "SonVurus"));
            Lh.Add(Player.ChampionName + "E", new CheckBox("Kullan E ", false));
            Lh.Add(Player.ChampionName + "Rmode", new ComboBox("R Modu", 0, "Kesemeyecegim minyona", "SonVurus"));
            Lh.Add(Player.ChampionName + "R", new CheckBox("Kullan R ", false));

            Lc = MenuIni.AddSubMenu("LaneClear ", "LaneClear");
            Lc.AddGroupLabel("LaneClear Settings");
            Lc.Add(
                Player.ChampionName + "Enable",
                new KeyBind("Koridor temizleme aktiflestirme tusu", true, KeyBind.BindTypes.PressToggle, 'M'));
            Lc.Add(
                Player.ChampionName + "Enableactive",
                new KeyBind("Koridor temizleme aktif", false, KeyBind.BindTypes.HoldActive));
            Lc.Add(Player.ChampionName + "combo", new CheckBox("Kombo etkin oldugunda devre disi birak "));
            Lc.Add(Player.ChampionName + "harass", new CheckBox("Durtme etkin oldugunda devre disi birak "));
            Lc.AddSeparator();
            Lc.AddGroupLabel("Spells Settings");
            Lc.Add(Player.ChampionName + "Qmode", new ComboBox("Q Modu", 0, "SaldiridanSonra", "Surekli"));
            Lc.Add(Player.ChampionName + "Q", new CheckBox("Kullan Q ", false));
            Lc.Add(Player.ChampionName + "Wmode", new ComboBox("W Modu", 0, "SaldiridanSonra", "Surekli"));
            Lc.Add(Player.ChampionName + "W", new CheckBox("Kullan W ", false));
            Lc.Add(Player.ChampionName + "Emode", new ComboBox("E Modu", 0, "SaldiridanSonra", "Surekli"));
            Lc.Add(Player.ChampionName + "E", new CheckBox("Kullan E ", false));
            Lc.Add(Player.ChampionName + "Rmode", new ComboBox("R Modu", 0, "SaldiridanSonra", "Surekli"));
            Lc.Add(Player.ChampionName + "R", new CheckBox("Kullan R ", false));

            ManaMenu = MenuIni.AddSubMenu("Mana Manager ", "Mana Manager");
            ManaMenu.AddGroupLabel("Sadece kullanilsin Mana >= %");
            ManaMenu.Add(Player.ChampionName + "Q", new Slider(" Q "));
            ManaMenu.Add(Player.ChampionName + "W", new Slider(" W "));
            ManaMenu.Add(Player.ChampionName + "E", new Slider(" E "));
            ManaMenu.Add(Player.ChampionName + "R", new Slider(" R "));

            DrawMenu = MenuIni.AddSubMenu("Drawings ", "Drawings");
            DrawMenu.AddGroupLabel("Drawings Settings");
            DrawMenu.Add(Player.ChampionName + "Q", new CheckBox("Goster Q ", false));
            DrawMenu.Add(Player.ChampionName + "W", new CheckBox("Goster W ", false));
            DrawMenu.Add(Player.ChampionName + "E", new CheckBox("Goster E ", false));
            DrawMenu.Add(Player.ChampionName + "R", new CheckBox("Goster R ", false));

            SpellManager.Initialize();
            SpellLibrary.Initialize();
            Orbwalker.OnUnkillableMinion += LastHit.Orbwalker_OnUnkillableMinion;
            Drawing.OnDraw         += Drawing_OnDraw;
            Orbwalker.OnPostAttack += LaneClear.Orbwalker_OnPostAttack;
            Game.OnTick            += Game_OnTick;
        }
        public static void OnLoad(EventArgs args)
        {
            var champion = ObjectManager.Player.ChampionName;

            MenuIni = MainMenu.AddMenu("Auto Steal ", "Auto Steal");

            KillStealMenu = MenuIni.AddSubMenu("Kill Steal ", "Kill Steal");
            KillStealMenu.AddGroupLabel("Kill Çalma Ayarları");
            KillStealMenu.Add(
                champion + "EnableKST",
                new KeyBind("Kill çalma aktif tuşu", true, KeyBind.BindTypes.PressToggle, 'M'));
            KillStealMenu.Add(
                champion + "EnableKSA",
                new KeyBind("Kill çalma aktif", false, KeyBind.BindTypes.HoldActive));
            KillStealMenu.AddSeparator();
            KillStealMenu.AddGroupLabel(champion + " Kill Çalma Büyüleri");
            KillStealMenu.Add(champion + "AAC", new CheckBox("Kullan AA "));
            KillStealMenu.Add(champion + "QC", new CheckBox("Kullan Q "));
            KillStealMenu.Add(champion + "WC", new CheckBox("Kullan W "));
            KillStealMenu.Add(champion + "EC", new CheckBox("Kullan E "));
            KillStealMenu.Add(champion + "RC", new CheckBox("Kullan R "));
            KillStealMenu.AddSeparator();
            KillStealMenu.AddGroupLabel("Şampiyon Seç");
            foreach (var enemy in ObjectManager.Get <AIHeroClient>())
            {
                var cb = new CheckBox(enemy.BaseSkinName)
                {
                    CurrentValue = true
                };
                if (enemy.Team != Player.Instance.Team)
                {
                    KillStealMenu.Add(champion + "Steal" + enemy.BaseSkinName, cb);
                }
            }
            KillStealMenu.AddGroupLabel(champion + " Ek Ayarlar");
            KillStealMenu.AddSeparator();
            KillStealMenu.Add(champion + "all", new CheckBox("Tüm hazır büyülerin hasarını hesapla", false));

            JungleStealMenu = MenuIni.AddSubMenu("Jungle Steal ", "Jungle Steal");
            JungleStealMenu.AddGroupLabel("Orman Çalma Ayarları");
            JungleStealMenu.Add(
                champion + "EnableJST",
                new KeyBind("Orman Çalma Aktif Tuşu", true, KeyBind.BindTypes.PressToggle, 'M'));
            JungleStealMenu.Add(
                champion + "EnableJSA",
                new KeyBind("Orman Çalma Aktif", false, KeyBind.BindTypes.HoldActive));
            JungleStealMenu.AddSeparator();
            JungleStealMenu.AddGroupLabel(champion + " Orman Çalma Büyüleri");
            JungleStealMenu.Add(champion + "AAJ", new CheckBox("Kullan AA "));
            JungleStealMenu.Add(champion + "QJ", new CheckBox("Kullan Q "));
            JungleStealMenu.Add(champion + "WJ", new CheckBox("Kullan W "));
            JungleStealMenu.Add(champion + "EJ", new CheckBox("Kullan E "));
            JungleStealMenu.Add(champion + "RJ", new CheckBox("Kullan R "));
            JungleStealMenu.AddGroupLabel(champion + " Ek Ayarlar");
            JungleStealMenu.AddSeparator();
            JungleStealMenu.Add(champion + "all", new CheckBox("Tüm hazır büyülerin hasarını hesapla", false));
            JungleStealMenu.AddSeparator();
            JungleStealMenu.AddGroupLabel("Orman Canavalarını seç");
            JungleStealMenu.Add(champion + "blue", new CheckBox("Çal Mavi "));
            JungleStealMenu.Add(champion + "red", new CheckBox("Çal Kırmızı "));
            JungleStealMenu.Add(champion + "baron", new CheckBox("Çal Baron "));
            JungleStealMenu.Add(champion + "drake", new CheckBox("Çal Ejder "));
            JungleStealMenu.Add(champion + "gromp", new CheckBox("Çal Kurbağa "));
            JungleStealMenu.Add(champion + "krug", new CheckBox("Çal Golem "));
            JungleStealMenu.Add(champion + "razorbeak", new CheckBox("Çal Sivrigagalar "));
            JungleStealMenu.Add(champion + "crab", new CheckBox("Çal YampiriYengeç "));
            JungleStealMenu.Add(champion + "murkwolf", new CheckBox("Çal Alacakurtlar "));

            Special = MenuIni.AddSubMenu("Special Stealer ", "Special Stealer");
            Special.AddGroupLabel("Özel çalma ayarları");
            var asc = Special.Add(champion + "Ascension", new CheckBox("Yükseliş mobları çalma(baska harita)"));

            if (Game.Type != GameType.Ascension)
            {
                Special.AddLabel("Bu oyun modu özel :(");
                asc.IsVisible = false;
            }

            SpellManager.Initialize();
            SpellLibrary.Initialize();
            Game.OnUpdate += OnUpdate;
        }
Esempio n. 6
0
        private static double RunSimulation(bool verbose, Player providedPlayer = null)
        {
            ResetValues();
            var actors = new List<Actor>();
            var player = providedPlayer ?? PlayerFactory.CreatePlayer();
            var strikingDummy = StrikingDummyFactory.CreateStrikingDummy();
            actors.Add(player);
            actors.Add(strikingDummy);

            RotationParser.LoadRotation((int)player.Sks);
            var selectedAbility = RotationParser.SelectFirstAbility(strikingDummy, verbose);

            while (_currentGameTime < EncounterLengthMs)
            {
                strikingDummy.DamageTaken += player.AutoAttack(strikingDummy);

                if (selectedAbility is WeaponSkills)
                {
                    var skillDamage = player.Attack(strikingDummy, (WeaponSkills)selectedAbility);
                    if (skillDamage > 0)
                    {
                        if (verbose)
                        {
                            Console.ForegroundColor = ConsoleColor.Green;
                            Console.WriteLine(
                                $"T: {FormatTimespan(TimeSpan.FromMilliseconds(GetCurrentGameTime()))} | Used {selectedAbility} for {skillDamage} damage!");
                        }
                        strikingDummy.DamageTaken += skillDamage;
                        selectedAbility = RotationParser.SelectNextAbility(strikingDummy, false, verbose);
                        IncrementTimers(actors, verbose);
                        continue;
                    }
                }
                if (selectedAbility is Spells)
                {
                    if (SpellLibrary.IsDamageSpell((Spells)selectedAbility))
                    {
                        var spellDamage = player.UseDamageSpell(strikingDummy, (Spells)selectedAbility, verbose);
                        if (spellDamage > 0)
                        {
                            if (verbose)
                            {
                                Console.ForegroundColor = ConsoleColor.Cyan;
                                Console.WriteLine($"Used {selectedAbility} for {spellDamage} damage!");
                            }

                            strikingDummy.DamageTaken += spellDamage;
                            selectedAbility = RotationParser.SelectNextAbility(strikingDummy, false, verbose);
                            IncrementTimers(actors, verbose);
                            continue;
                        }
                    }
                    if (SpellLibrary.IsBuffSpell((Spells)selectedAbility))
                    {
                        var castSuccessfully = player.UseBuffSpell(strikingDummy, (Spells)selectedAbility, verbose);
                        if (castSuccessfully)
                        {
                            if (verbose)
                            {
                                Console.ForegroundColor = ConsoleColor.Cyan;
                                Console.WriteLine($"Used {selectedAbility}!");
                            }

                            selectedAbility = RotationParser.SelectNextAbility(strikingDummy, false, verbose);
                            IncrementTimers(actors, verbose);
                            continue;
                        }
                    }
                }

                IncrementTimers(actors, verbose);
            }

            if (verbose)
            {
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine();
                Console.WriteLine($"Average Encounter DPS: {strikingDummy.DamageTaken / TimeSpan.FromMilliseconds(EncounterLengthMs).TotalSeconds}");
            }

            return strikingDummy.DamageTaken / TimeSpan.FromMilliseconds(EncounterLengthMs).TotalSeconds;
        }
        private static void OnLoad()
        {
            MenuIni = MainMenu.AddMenu("Auto Farm ", "Auto Farm");

            Lh = MenuIni.AddSubMenu("LastHit ", "LastHit");
            Lh.AddGroupLabel("Sonvuruş Ayarları");
            Lh.Add(
                Player.ChampionName + "Enable",
                new KeyBind("Son vuruş tuşu", true, KeyBind.BindTypes.PressToggle, 'M'));
            Lh.Add(
                Player.ChampionName + "Enableactive",
                new KeyBind("Son vuruş Aktif", false, KeyBind.BindTypes.HoldActive));
            Lh.Add(Player.ChampionName + "combo", new CheckBox("Komboda Kullanma"));
            Lh.Add(Player.ChampionName + "harass", new CheckBox("Dürtmede Kullanma"));
            Lh.AddSeparator();
            Lh.AddGroupLabel("Spells Settings");
            Lh.Add(Player.ChampionName + "Qmode", new ComboBox("Q Modu", 0, "UnKillable Minions", "LastHit"));
            Lh.Add(Player.ChampionName + "Q", new CheckBox("Kullan Q ", false));
            Lh.Add(Player.ChampionName + "Wmode", new ComboBox("W Modu", 0, "UnKillable Minions", "LastHit"));
            Lh.Add(Player.ChampionName + "W", new CheckBox("Kullan W ", false));
            Lh.Add(Player.ChampionName + "Emode", new ComboBox("E Modu", 0, "UnKillable Minions", "LastHit"));
            Lh.Add(Player.ChampionName + "E", new CheckBox("Kullan E ", false));
            Lh.Add(Player.ChampionName + "Rmode", new ComboBox("R Modu", 0, "UnKillable Minions", "LastHit"));
            Lh.Add(Player.ChampionName + "R", new CheckBox("Kullan R ", false));

            Lc = MenuIni.AddSubMenu("LaneClear ", "LaneClear");
            Lc.AddGroupLabel("Lanetemizleme Ayarları");
            Lc.Add(
                Player.ChampionName + "Enable",
                new KeyBind("Lanetemizleme aktif Tuşu", true, KeyBind.BindTypes.PressToggle, 'M'));
            Lc.Add(
                Player.ChampionName + "Enableactive",
                new KeyBind("Lanetemizleme aktif", false, KeyBind.BindTypes.HoldActive));
            Lc.Add(Player.ChampionName + "combo", new CheckBox("Kombo sırasında devredışı bırak "));
            Lc.Add(Player.ChampionName + "harass", new CheckBox("Dürtme sırasından devredışı bırak "));
            Lc.AddSeparator();
            Lc.AddGroupLabel("Büyü Ayarları");
            Lc.Add(Player.ChampionName + "Qmode", new ComboBox("Q Modu", 0, "OnAfterAttack", "Always"));
            Lc.Add(Player.ChampionName + "Q", new CheckBox("Kullan Q ", false));
            Lc.Add(Player.ChampionName + "Wmode", new ComboBox("W Modu", 0, "OnAfterAttack", "Always"));
            Lc.Add(Player.ChampionName + "W", new CheckBox("Kullan W ", false));
            Lc.Add(Player.ChampionName + "Emode", new ComboBox("E Modu", 0, "OnAfterAttack", "Always"));
            Lc.Add(Player.ChampionName + "E", new CheckBox("Kullan E ", false));
            Lc.Add(Player.ChampionName + "Rmode", new ComboBox("R Modu", 0, "OnAfterAttack", "Always"));
            Lc.Add(Player.ChampionName + "R", new CheckBox("Kullan R ", false));

            ManaMenu = MenuIni.AddSubMenu("Mana Manager ", "Mana Manager");
            ManaMenu.AddGroupLabel("Manam sadece şundan yüksekse >= %");
            ManaMenu.Add(Player.ChampionName + "Q", new Slider("Q Kullan"));
            ManaMenu.Add(Player.ChampionName + "W", new Slider("W Kullan"));
            ManaMenu.Add(Player.ChampionName + "E", new Slider("E Kullan"));
            ManaMenu.Add(Player.ChampionName + "R", new Slider("R Kullan"));

            DrawMenu = MenuIni.AddSubMenu("Drawings ", "Drawings");
            DrawMenu.AddGroupLabel("Gösterge Ayarları");
            DrawMenu.Add(Player.ChampionName + "Q", new CheckBox("Göster Q ", false));
            DrawMenu.Add(Player.ChampionName + "W", new CheckBox("Göster W ", false));
            DrawMenu.Add(Player.ChampionName + "E", new CheckBox("Göster E ", false));
            DrawMenu.Add(Player.ChampionName + "R", new CheckBox("Göster R ", false));

            SpellManager.Initialize();
            SpellLibrary.Initialize();
            Orbwalker.OnUnkillableMinion += LastHit.Orbwalker_OnUnkillableMinion;
            Drawing.OnDraw         += Drawing_OnDraw;
            Orbwalker.OnPostAttack += LaneClear.Orbwalker_OnPostAttack;
            Game.OnTick            += Game_OnTick;
        }
 public void SetUp()
 {
     SpellLibrary lib = new SpellLibrary(@"C:\writer\target\Debug\i386\Writer\Dictionaries\mssp7en.dll");
 }
Esempio n. 9
0
        public double UseDamageSpell(StrikingDummy target, Spells spell, bool verbose = false)
        {
            if (GcdDuration <= 0 && spell != Spells.PrePullSuiton)
            {
                var remainingCd = Cooldowns.ContainsKey(spell) ? Cooldowns[spell] : 0;
                throw new Exception($"Warning! Using off-gcd ability { spell } when GCD is available! Remaining cooldown on { spell }: { remainingCd }");
            }

            if (Cooldowns.ContainsKey(spell) || QueuedEffects.ContainsKey(Skills.StatusEffects.AnimationLocked))
            {
                return(0);
            }

            if (spell == Spells.FumaShuriken ||
                spell == Spells.Raiton ||
                spell == Spells.Suiton)
            {
                if (Cooldowns.ContainsKey(Spells.FumaShuriken) ||
                    Cooldowns.ContainsKey(Spells.Raiton) ||
                    Cooldowns.ContainsKey(Spells.Suiton))
                {
                    return(0);
                }
            }

            if (spell == Spells.TrickAttack)
            {
                if (!StatusEffects.ContainsKey(Skills.StatusEffects.Suiton))
                {
                    throw new Exception($"Warning! Cannot use TA without Suiton active!");
                }
                if (verbose)
                {
                    Console.WriteLine("Suiton removed after TA cast!");
                }
                StatusEffects.Remove(Skills.StatusEffects.Suiton);
            }

            var potency    = SpellLibrary.SpellPotencies(spell);
            var multiplier = CalculateMultiplier(target, SpellLibrary.SpellDamageType(spell));
            var damage     = FormulaLibrary.WeaponSkills(potency, Weapon.WeaponDamage, GetDexterity(), Det, multiplier);

            var guaranteeCrit = false;

            if (spell == Spells.FumaShuriken ||
                spell == Spells.Raiton ||
                spell == Spells.Suiton)
            {
                if (StatusEffects.ContainsKey(Skills.StatusEffects.Kassatsu))
                {
                    guaranteeCrit = true;
                    StatusEffects.Remove(Skills.StatusEffects.Kassatsu);
                }
            }

            if (guaranteeCrit)
            {
                damage *= FormulaLibrary.CritDmg(Crt);
            }
            else
            {
                damage = (damage * CalculateCritChance() * FormulaLibrary.CritDmg(Crt)) +
                         (damage * (1 - CalculateCritChance()));
            }

            SpellLibrary.QueueEffect(this, spell, target, verbose);

            if (spell == Spells.FumaShuriken)
            {
                Cooldowns.Add(spell, 500 + SpellLibrary.SpellCooldowns(spell));
            }
            else if (spell == Spells.Raiton)
            {
                Cooldowns.Add(spell, 1000 + SpellLibrary.SpellCooldowns(spell));
            }
            else if (spell == Spells.Suiton)
            {
                Cooldowns.Add(spell, 1500 + SpellLibrary.SpellCooldowns(spell));
            }
            else if (spell == Spells.PrePullSuiton)
            {
                Cooldowns.Add(Spells.Suiton, SpellLibrary.SpellCooldowns(Spells.Suiton));
            }
            else
            {
                Cooldowns.Add(spell, SpellLibrary.SpellCooldowns(spell));
            }

            return(damage);
        }
Esempio n. 10
0
 public void SetUp()
 {
     SpellLibrary lib = new SpellLibrary(@"C:\writer\target\Debug\i386\Writer\Dictionaries\mssp7en.dll");
 }