Exemple #1
0
        static SpellBlock()
        {
            const SpellSlot N48 = (SpellSlot)48;

            var q = new BlockedSpell(SpellSlot.Q);
            var w = new BlockedSpell(SpellSlot.W);
            var e = new BlockedSpell(SpellSlot.E);
            var r = new BlockedSpell(SpellSlot.R);

            BlockedSpells.Add(
                "Aatrox",
                new List <BlockedSpell>
            {
                new BlockedSpell("aatroxwonhattacklife", "Blood Thirst", true),
                new BlockedSpell("aatroxwonhattackpower", "Blood Price", true),
                r
            });
            BlockedSpells.Add("Akali", new List <BlockedSpell> {
                q, e, r
            });                                                             //
            BlockedSpells.Add("Alistar", new List <BlockedSpell> {
                q, w
            });
            BlockedSpells.Add("Anivia", new List <BlockedSpell> {
                e
            });                                                        //
            BlockedSpells.Add("Annie", new List <BlockedSpell> {
                q, r
            });                                                          //
            BlockedSpells.Add("Azir", new List <BlockedSpell> {
                r
            });
            BlockedSpells.Add("Bard", new List <BlockedSpell> {
                r
            });
            BlockedSpells.Add(
                "Blitzcrank", new List <BlockedSpell>
            {
                new BlockedSpell("PowerFistAttack", "Power Fist", true),
                q
            });
            BlockedSpells.Add("Brand", new List <BlockedSpell> {
                e, r
            });
            BlockedSpells.Add(
                "Braum", new List <BlockedSpell> {
                new BlockedSpell("BraumBasicAttackPassiveOverride", "Stun", true)
            });
            BlockedSpells.Add(
                "Caitlyn", new List <BlockedSpell>
            {
                new BlockedSpell("CaitlynHeadshotMissile", "Headshot", true)
                {
                    IsAutoAttack = true
                },
                q,
                r
            });
            BlockedSpells.Add("Chogath", new List <BlockedSpell> {
                r
            });
            BlockedSpells.Add("Lux", new List <BlockedSpell> {
                q, r
            });
            BlockedSpells.Add("Ezreal", new List <BlockedSpell> {
                q, w, r
            });
            BlockedSpells.Add(
                "Darius",
                new List <BlockedSpell>
            {
                q,
                new BlockedSpell("DariusNoxianTacticsONHAttack", "Empowered W", true),
                e,
                r
            });
            BlockedSpells.Add(
                "Diana",
                new List <BlockedSpell> {
                new BlockedSpell("DianaBasicAttack3", "Moonsilver Blade", true), e, r
            });
            BlockedSpells.Add(
                "DrMundo", new List <BlockedSpell> {
                new BlockedSpell("MasochismAttack", "Empowered E", true)
            });
            BlockedSpells.Add(
                "Ekko",
                new List <BlockedSpell>
            {
                new BlockedSpell("EkkoEAttack", "Empowered E", true),
                new BlockedSpell("ekkobasicattackp3", "Third Proc Passive", true)
            });
            BlockedSpells.Add("Elise", new List <BlockedSpell> {
                q
            });
            BlockedSpells.Add("Evelynn", new List <BlockedSpell> {
                e
            });
            BlockedSpells.Add("FiddleSticks", new List <BlockedSpell> {
                q, w, e
            });
            BlockedSpells.Add(
                "Fiora", new List <BlockedSpell> {
                new BlockedSpell("FioraEAttack", "Empowered First E", true)
            });
            BlockedSpells.Add("Fizz", new List <BlockedSpell> {
                q, new BlockedSpell("fizzjumptwo", "Second E")
            });
            BlockedSpells.Add(
                "Gangplank", new List <BlockedSpell> {
                q, new BlockedSpell((SpellSlot)45)
                {
                    Name = "Barrel Q"
                }
            });
            BlockedSpells.Add(
                "Garen", new List <BlockedSpell> {
                new BlockedSpell("GarenQAttack", "Empowered Q", true), r
            });
            BlockedSpells.Add(
                "Gnar",
                new List <BlockedSpell>
            {
                new BlockedSpell("GnarBasicAttack", "Empowered W", true)
                {
                    BuffName     = "gnarwproc",
                    IsPlayerBuff = true
                }
            });
            BlockedSpells.Add(
                "Gragas", new List <BlockedSpell> {
                new BlockedSpell("DrunkenRage", "Drunken Rage", true)
            });
            BlockedSpells.Add(
                "Hecarim", new List <BlockedSpell> {
                new BlockedSpell("hecarimrampattack", "Empowered E", true), r
            });
            BlockedSpells.Add(
                "Illaoi", new List <BlockedSpell> {
                new BlockedSpell("illaoiwattack", "Empowered W", true)
            });
            BlockedSpells.Add("Irelia", new List <BlockedSpell> {
                q, e
            });
            BlockedSpells.Add("Janna", new List <BlockedSpell> {
                w
            });
            BlockedSpells.Add("Amumu", new List <BlockedSpell> {
                q, r
            });
            BlockedSpells.Add(
                "JarvanIV",
                new List <BlockedSpell> {
                new BlockedSpell("JarvanIVMartialCadenceAttack", "Martial Cadence", true), r
            });
            BlockedSpells.Add(
                "Jax",
                new List <BlockedSpell>
            {
                new BlockedSpell("JaxBasicAttack", "Empowered", true)
                {
                    BuffName   = "JaxEmpowerTwo",
                    IsSelfBuff = true
                },
                q
                //new BlockedSpell(SpellSlot.E) { BuffName = "JaxCounterStrike", IsSelfBuff = true }
            });
            BlockedSpells.Add(
                "Jayce",
                new List <BlockedSpell>
            {
                new BlockedSpell("JayceToTheSkies", "Hammer Q"),
                new BlockedSpell("JayceThunderingBlow", "Hammer E")
            });
            BlockedSpells.Add("Jhin", new List <BlockedSpell> {
                q, new BlockedSpell("JhinPassiveAttack", "4th", true)
            });
            BlockedSpells.Add(
                "Kassadin", new List <BlockedSpell> {
                q, new BlockedSpell("KassadinBasicAttack3", "Empowered W", true)
            });
            BlockedSpells.Add("Katarina", new List <BlockedSpell> {
                e
            });
            BlockedSpells.Add("Kayle", new List <BlockedSpell> {
                q
            });
            BlockedSpells.Add(
                "Kennen", new List <BlockedSpell> {
                new BlockedSpell("KennenMegaProc", "Empowered", true), w
            });
            BlockedSpells.Add("Khazix", new List <BlockedSpell> {
                q
            });
            BlockedSpells.Add("Kindred", new List <BlockedSpell> {
                e
            });
            BlockedSpells.Add("KogMaw", new List <BlockedSpell> {
                q, e, r
            });
            //new BlockedSpell((SpellSlot) 48) { SpellName = "kindredbasicattackoverridelightbombfinal", Name = "Empowered E" } });
            BlockedSpells.Add("Leblanc", new List <BlockedSpell> {
                q, new BlockedSpell("LeblancChaosOrbM", "Block RQ")
            });
            BlockedSpells.Add(
                "LeeSin",
                new List <BlockedSpell>
            {
                new BlockedSpell("blindmonkqtwo", "Second Q")
                {
                    BuffName     = "blindmonkqonechaos",
                    IsPlayerBuff = true
                },
                new BlockedSpell("BlindMonkEOne", "First E"),
                r
            });
            BlockedSpells.Add(
                "Leona", new List <BlockedSpell> {
                new BlockedSpell("LeonaShieldOfDaybreakAttack", "Stun Q", true)
            });
            BlockedSpells.Add("Lissandra", new List <BlockedSpell> {
                new BlockedSpell(N48)
                {
                    Name = "R"
                }
            });
            BlockedSpells.Add("Lulu", new List <BlockedSpell> {
                w
            });
            BlockedSpells.Add("Malphite", new List <BlockedSpell> {
                q, e, r
            });
            BlockedSpells.Add("Malzahar", new List <BlockedSpell> {
                e, r
            });
            BlockedSpells.Add("Maokai", new List <BlockedSpell> {
                w
            });
            BlockedSpells.Add(
                "MasterYi", new List <BlockedSpell> {
                q, new BlockedSpell("MasterYiDoubleStrike", "Empowered", true)
            });
            BlockedSpells.Add("MissFortune", new List <BlockedSpell> {
                q
            });
            BlockedSpells.Add(
                "MonkeyKing", new List <BlockedSpell> {
                new BlockedSpell("MonkeyKingQAttack", "Empowered Q", true), e
            });
            BlockedSpells.Add(
                "Mordekaiser",
                new List <BlockedSpell> {
                new BlockedSpell("mordekaiserqattack2", "Empowered Q", true), r
            });
            BlockedSpells.Add("Morgana", new List <BlockedSpell> {
                q, r
            });
            BlockedSpells.Add("Nami", new List <BlockedSpell> {
                w
            });
            BlockedSpells.Add(
                "Nasus", new List <BlockedSpell> {
                new BlockedSpell("NasusQAttack", "Empowered Q", true), q
            });
            BlockedSpells.Add(
                "Nautilus",
                new List <BlockedSpell> {
                new BlockedSpell("NautilusRavageStrikeAttack", "Empowered", true), e, r
            });
            BlockedSpells.Add(
                "Nidalee",
                new List <BlockedSpell>
            {
                new BlockedSpell("NidaleeTakedownAttack", "Cougar Q", true)
                {
                    ModelName = "nidalee_cougar"
                },
                new BlockedSpell(SpellSlot.W)
                {
                    ModelName    = "nidalee_cougar",
                    BuffName     = "nidaleepassivehunted",
                    IsPlayerBuff = true,
                    Name         = "Cougar W"
                }
            });
            BlockedSpells.Add("Nocturne", new List <BlockedSpell> {
                r
            });
            BlockedSpells.Add("Nunu", new List <BlockedSpell> {
                e
            });
            BlockedSpells.Add("Olaf", new List <BlockedSpell> {
                e
            });
            BlockedSpells.Add("Pantheon", new List <BlockedSpell> {
                q, w
            });
            BlockedSpells.Add(
                "Poppy",
                new List <BlockedSpell>
            {
                new BlockedSpell("PoppyPassiveAttack", "Passive Attack", true)
                {
                    BuffName   = "poppypassivebuff",
                    IsSelfBuff = true
                },
                e
            });
            BlockedSpells.Add(
                "Quinn", new List <BlockedSpell> {
                new BlockedSpell("QuinnWEnhanced", "Empowered", true), e
            });
            BlockedSpells.Add("Rammus", new List <BlockedSpell> {
                e
            });
            BlockedSpells.Add(
                "RekSai",
                new List <BlockedSpell>
            {
                new BlockedSpell("reksaiwburrowed", "W"),
                new BlockedSpell("reksaie", "E")
                {
                    UseContains = false
                }
            });
            BlockedSpells.Add(
                "Renekton",
                new List <BlockedSpell>
            {
                q,
                new BlockedSpell("RenektonExecute", "Empowered W", true),
                new BlockedSpell("RenektonSuperExecute", "Fury Empowered W", true)
            });
            BlockedSpells.Add(
                "Rengar", new List <BlockedSpell> {
                new BlockedSpell("RengarBasicAttack", "Empowered Q", true)
            });
            BlockedSpells.Add(
                "Riven",
                new List <BlockedSpell>
            {
                new BlockedSpell(SpellSlot.Q)
                {
                    Name = "Third Q", BuffName = "RivenTriCleave", IsSelfBuff = true
                },
                w
            });
            BlockedSpells.Add("Ryze", new List <BlockedSpell> {
                w, e
            });
            BlockedSpells.Add("Shaco", new List <BlockedSpell> {
                q, e
            });
            BlockedSpells.Add(
                "Shen",
                new List <BlockedSpell>
            {
                new BlockedSpell("ShenQAttack", "Empowered", true)
                {
                    BuffName = "shenqbuff", IsSelfBuff = true
                },
                e
            });
            BlockedSpells.Add(
                "Shyvana", new List <BlockedSpell>
            {
                new BlockedSpell("ShyvanaDoubleAttackHit", "Empowered Q", true),
                e,
                r
            });
            BlockedSpells.Add("Singed", new List <BlockedSpell> {
                e
            });
            BlockedSpells.Add("Sion", new List <BlockedSpell> {
                q, r
            });
            BlockedSpells.Add("Skarner", new List <BlockedSpell> {
                r
            });
            BlockedSpells.Add("Syndra", new List <BlockedSpell> {
                r
            });
            BlockedSpells.Add("Karthus", new List <BlockedSpell> {
                q, r
            });
            BlockedSpells.Add("Ashe", new List <BlockedSpell> {
                r
            });
            BlockedSpells.Add("Swain", new List <BlockedSpell> {
                q, e
            });
            BlockedSpells.Add(
                "Talon",
                new List <BlockedSpell>
            {
                new BlockedSpell("TalonNoxianDiplomacyAttack", "Empowered Q")
                {
                    IsAutoAttack = true
                },
                e
            });
            BlockedSpells.Add("Taric", new List <BlockedSpell> {
                e
            });
            BlockedSpells.Add("Teemo", new List <BlockedSpell> {
                q
            });
            BlockedSpells.Add("Tristana", new List <BlockedSpell> {
                e, r
            });
            BlockedSpells.Add(
                "Trundle", new List <BlockedSpell> {
                new BlockedSpell("TrundleQ", "Empowered Q", true), r
            });
            BlockedSpells.Add(
                "TwistedFate", new List <BlockedSpell> {
                new BlockedSpell("goldcardpreattack", "Gold Card", true)
            });
            BlockedSpells.Add("Udyr", new List <BlockedSpell> {
                new BlockedSpell("UdyrBearAttack", "Bear", true)
            });
            BlockedSpells.Add("Urgot", new List <BlockedSpell> {
                r
            });
            BlockedSpells.Add(
                "Vayne",
                new List <BlockedSpell>
            {
                new BlockedSpell("VayneBasicAttack", "Silver Bolts")
                {
                    IsAutoAttack = true,
                    IsPlayerBuff = true,
                    BuffName     = "vaynesilvereddebuff",
                    BuffCount    = 2
                },
                e
            });
            BlockedSpells.Add("Veigar", new List <BlockedSpell> {
                q, r
            });
            BlockedSpells.Add(
                "Vi",
                new List <BlockedSpell>
            {
                new BlockedSpell("ViBasicAttack", "Empowered W")
                {
                    IsAutoAttack = true,
                    BuffName     = "viwproc",
                    IsPlayerBuff = true,
                    BuffCount    = 2
                },
                new BlockedSpell("ViEAttack", "Empowered E")
                {
                    IsAutoAttack = true
                },
                r
            });
            BlockedSpells.Add(
                "Viktor",
                new List <BlockedSpell> {
                q, new BlockedSpell("viktorqbuff", "Empowered Q")
                {
                    IsAutoAttack = true
                }
            });
            BlockedSpells.Add("Vladimir", new List <BlockedSpell> {
                q
            });
            BlockedSpells.Add(
                "Volibear", new List <BlockedSpell> {
                new BlockedSpell("VolibearQAttack", "Empowered Q", true), w
            });
            BlockedSpells.Add("Warwick", new List <BlockedSpell> {
                q
            });
            BlockedSpells.Add(
                "XinZhao", new List <BlockedSpell> {
                new BlockedSpell("XenZhaoThrust3", "Empowered Q", true), e, r
            });
            BlockedSpells.Add("Yasuo", new List <BlockedSpell> {
                new BlockedSpell("yasuoq3", "Whirlwind Q"), e
            });
            BlockedSpells.Add(
                "Yorick",
                new List <BlockedSpell>
            {
                new BlockedSpell("yorickbasicattack", "Empowered Q")
                {
                    IsAutoAttack = true,
                    BuffName     = "YorickSpectral",
                    IsSelfBuff   = true
                },
                e
            });
            BlockedSpells.Add("Zac", new List <BlockedSpell> {
                w, r
            });
            BlockedSpells.Add("Zilean", new List <BlockedSpell> {
                e
            });
            BlockedSpells.Add("Ziggs", new List <BlockedSpell> {
                r
            });

            var enemies = EntityManager.Heroes.Enemies;

            if (enemies.Any(o => o.ChampionName.Equals("Kalista")))
            {
                Program.blocking.Add("Oathsworn", new CheckBox("Block Oathsworn Knockup (Kalista R)", true));
            }

            foreach (var unit in enemies)
            {
                if (!SpellBlock.BlockedSpells.ContainsKey(unit.ChampionName))
                {
                    continue;
                }

                var name = unit.ChampionName.Equals("MonkeyKing") ? "Wukong" : unit.ChampionName;

                foreach (var spell in SpellBlock.BlockedSpells[unit.ChampionName])
                {
                    var slot = spell.Slot.Equals(48) ? SpellSlot.R : spell.Slot;
                    Program.blocking.Add(unit.ChampionName + spell.MenuName, new CheckBox(unit.ChampionName + " - " + spell.DisplayName, true));
                }
            }

            Game.OnUpdate += OnUpdate;
        }
Exemple #2
0
        static SpellBlock()
        {
            const SpellSlot N48 = (SpellSlot)48;

            var q = new BlockedSpell(SpellSlot.Q);
            var w = new BlockedSpell(SpellSlot.W);
            var e = new BlockedSpell(SpellSlot.E);
            var r = new BlockedSpell(SpellSlot.R);

            BlockedSpells.Add(
                 "Aatrox",
                 new List<BlockedSpell>
                {
                    new BlockedSpell("aatroxwonhattacklife", "Blood Thirst", true),
                    new BlockedSpell("aatroxwonhattackpower", "Blood Price", true),
                    r
                });
            BlockedSpells.Add("Akali", new List<BlockedSpell> { q, e, r }); //
            BlockedSpells.Add("Alistar", new List<BlockedSpell> { q, w });
            BlockedSpells.Add("Anivia", new List<BlockedSpell> { e }); //
            BlockedSpells.Add("Annie", new List<BlockedSpell> { q, r }); //
            BlockedSpells.Add("Azir", new List<BlockedSpell> { r });
            BlockedSpells.Add("Bard", new List<BlockedSpell> { r });
            BlockedSpells.Add(
                "Blitzcrank", new List<BlockedSpell>
                {
                    new BlockedSpell("PowerFistAttack", "Power Fist", true),
                    q
                });
            BlockedSpells.Add("Brand", new List<BlockedSpell> { e, r });
            BlockedSpells.Add(
                "Braum", new List<BlockedSpell> { new BlockedSpell("BraumBasicAttackPassiveOverride", "Stun", true) });
            BlockedSpells.Add(
                "Caitlyn", new List<BlockedSpell>
                {
                    new BlockedSpell("CaitlynHeadshotMissile", "Headshot", true) { IsAutoAttack = true },
                    q,
                    r
                });
            BlockedSpells.Add("Chogath", new List<BlockedSpell> { r });
            BlockedSpells.Add("Lux", new List<BlockedSpell> { q , r });
            BlockedSpells.Add("Ezreal", new List<BlockedSpell> { q, w, r });
            BlockedSpells.Add(
                "Darius",
                new List<BlockedSpell>
                {
                    q,
                    new BlockedSpell("DariusNoxianTacticsONHAttack", "Empowered W", true),
                    e,
                    r
                });
            BlockedSpells.Add(
                "Diana",
                new List<BlockedSpell> { new BlockedSpell("DianaBasicAttack3", "Moonsilver Blade", true), e, r });
            BlockedSpells.Add(
                "DrMundo", new List<BlockedSpell> { new BlockedSpell("MasochismAttack", "Empowered E", true) });
            BlockedSpells.Add(
                "Ekko",
                new List<BlockedSpell>
                {
                    new BlockedSpell("EkkoEAttack", "Empowered E", true),
                    new BlockedSpell("ekkobasicattackp3", "Third Proc Passive", true)
                });
            BlockedSpells.Add("Elise", new List<BlockedSpell> { q });
            BlockedSpells.Add("Evelynn", new List<BlockedSpell> { e });
            BlockedSpells.Add("FiddleSticks", new List<BlockedSpell> { q, w, e });
            BlockedSpells.Add(
                "Fiora", new List<BlockedSpell> { new BlockedSpell("FioraEAttack", "Empowered First E", true) });
            BlockedSpells.Add("Fizz", new List<BlockedSpell> { q, new BlockedSpell("fizzjumptwo", "Second E") });
            BlockedSpells.Add(
                "Gangplank", new List<BlockedSpell> { q, new BlockedSpell((SpellSlot)45) { Name = "Barrel Q" } });
            BlockedSpells.Add(
                "Garen", new List<BlockedSpell> { new BlockedSpell("GarenQAttack", "Empowered Q", true), r });
            BlockedSpells.Add(
                "Gnar",
                new List<BlockedSpell>
                {
                    new BlockedSpell("GnarBasicAttack", "Empowered W", true)
                    {
                        BuffName = "gnarwproc",
                        IsPlayerBuff = true
                    }
                });
            BlockedSpells.Add(
                "Gragas", new List<BlockedSpell> { new BlockedSpell("DrunkenRage", "Drunken Rage", true) });
            BlockedSpells.Add(
                "Hecarim", new List<BlockedSpell> { new BlockedSpell("hecarimrampattack", "Empowered E", true), r });
            BlockedSpells.Add(
                "Illaoi", new List<BlockedSpell> { new BlockedSpell("illaoiwattack", "Empowered W", true) });
            BlockedSpells.Add("Irelia", new List<BlockedSpell> { q, e });
            BlockedSpells.Add("Janna", new List<BlockedSpell> { w });
            BlockedSpells.Add("Amumu", new List<BlockedSpell> { q, r });
            BlockedSpells.Add(
                "JarvanIV",
                new List<BlockedSpell> { new BlockedSpell("JarvanIVMartialCadenceAttack", "Martial Cadence", true), r });
            BlockedSpells.Add(
                "Jax",
                new List<BlockedSpell>
                {
                    new BlockedSpell("JaxBasicAttack", "Empowered", true)
                    {
                        BuffName = "JaxEmpowerTwo",
                        IsSelfBuff = true
                    },
                    q
                    //new BlockedSpell(SpellSlot.E) { BuffName = "JaxCounterStrike", IsSelfBuff = true }
                });
            BlockedSpells.Add(
                "Jayce",
                new List<BlockedSpell>
                {
                    new BlockedSpell("JayceToTheSkies", "Hammer Q"),
                    new BlockedSpell("JayceThunderingBlow", "Hammer E")
                });
            BlockedSpells.Add("Jhin", new List<BlockedSpell> { q, new BlockedSpell("JhinPassiveAttack", "4th", true) });
            BlockedSpells.Add(
                "Kassadin", new List<BlockedSpell> { q, new BlockedSpell("KassadinBasicAttack3", "Empowered W", true) });
            BlockedSpells.Add("Katarina", new List<BlockedSpell> { e });
            BlockedSpells.Add("Kayle", new List<BlockedSpell> { q });
            BlockedSpells.Add(
                "Kennen", new List<BlockedSpell> { new BlockedSpell("KennenMegaProc", "Empowered", true), w });
            BlockedSpells.Add("Khazix", new List<BlockedSpell> { q });
            BlockedSpells.Add("Kindred", new List<BlockedSpell> { e });
            BlockedSpells.Add("KogMaw", new List<BlockedSpell> { q,e,r });
            //new BlockedSpell((SpellSlot) 48) { SpellName = "kindredbasicattackoverridelightbombfinal", Name = "Empowered E" } });
            BlockedSpells.Add("Leblanc", new List<BlockedSpell> { q, new BlockedSpell("LeblancChaosOrbM", "Block RQ") });
            BlockedSpells.Add(
                "LeeSin",
                new List<BlockedSpell>
                {
                    new BlockedSpell("blindmonkqtwo", "Second Q")
                    {
                        BuffName = "blindmonkqonechaos",
                        IsPlayerBuff = true
                    },
                    new BlockedSpell("BlindMonkEOne", "First E"),
                    r
                });
            BlockedSpells.Add(
                "Leona", new List<BlockedSpell> { new BlockedSpell("LeonaShieldOfDaybreakAttack", "Stun Q", true) });
            BlockedSpells.Add("Lissandra", new List<BlockedSpell> { new BlockedSpell(N48) { Name = "R" } });
            BlockedSpells.Add("Lulu", new List<BlockedSpell> { w });
            BlockedSpells.Add("Malphite", new List<BlockedSpell> { q, e, r });
            BlockedSpells.Add("Malzahar", new List<BlockedSpell> { e, r });
            BlockedSpells.Add("Maokai", new List<BlockedSpell> { w });
            BlockedSpells.Add(
                "MasterYi", new List<BlockedSpell> { q, new BlockedSpell("MasterYiDoubleStrike", "Empowered", true) });
            BlockedSpells.Add("MissFortune", new List<BlockedSpell> { q });
            BlockedSpells.Add(
                "MonkeyKing", new List<BlockedSpell> { new BlockedSpell("MonkeyKingQAttack", "Empowered Q", true), e });
            BlockedSpells.Add(
                "Mordekaiser",
                new List<BlockedSpell> { new BlockedSpell("mordekaiserqattack2", "Empowered Q", true), r });
            BlockedSpells.Add("Morgana", new List<BlockedSpell> { q, r });
            BlockedSpells.Add("Nami", new List<BlockedSpell> { w });
            BlockedSpells.Add(
                "Nasus", new List<BlockedSpell> { new BlockedSpell("NasusQAttack", "Empowered Q", true), q });
            BlockedSpells.Add(
                "Nautilus",
                new List<BlockedSpell> { new BlockedSpell("NautilusRavageStrikeAttack", "Empowered", true), e, r });
            BlockedSpells.Add(
                "Nidalee",
                new List<BlockedSpell>
                {
                    new BlockedSpell("NidaleeTakedownAttack", "Cougar Q", true) { ModelName = "nidalee_cougar" },
                    new BlockedSpell(SpellSlot.W)
                    {
                        ModelName = "nidalee_cougar",
                        BuffName = "nidaleepassivehunted",
                        IsPlayerBuff = true,
                        Name = "Cougar W"
                    }
                });
            BlockedSpells.Add("Nocturne", new List<BlockedSpell> { r });
            BlockedSpells.Add("Nunu", new List<BlockedSpell> { e });
            BlockedSpells.Add("Olaf", new List<BlockedSpell> { e });
            BlockedSpells.Add("Pantheon", new List<BlockedSpell> { q, w });
            BlockedSpells.Add(
                "Poppy",
                new List<BlockedSpell>
                {
                    new BlockedSpell("PoppyPassiveAttack", "Passive Attack", true)
                    {
                        BuffName = "poppypassivebuff",
                        IsSelfBuff = true
                    },
                    e
                });
            BlockedSpells.Add(
                "Quinn", new List<BlockedSpell> { new BlockedSpell("QuinnWEnhanced", "Empowered", true), e });
            BlockedSpells.Add("Rammus", new List<BlockedSpell> { e });
            BlockedSpells.Add(
                "RekSai",
                new List<BlockedSpell>
                {
                    new BlockedSpell("reksaiwburrowed", "W"),
                    new BlockedSpell("reksaie", "E") { UseContains = false }
                });
            BlockedSpells.Add(
                "Renekton",
                new List<BlockedSpell>
                {
                    q,
                    new BlockedSpell("RenektonExecute", "Empowered W", true),
                    new BlockedSpell("RenektonSuperExecute", "Fury Empowered W", true)
                });
            BlockedSpells.Add(
                "Rengar", new List<BlockedSpell> { new BlockedSpell("RengarBasicAttack", "Empowered Q", true) });
            BlockedSpells.Add(
                "Riven",
                new List<BlockedSpell>
                {
                    new BlockedSpell(SpellSlot.Q) { Name = "Third Q", BuffName = "RivenTriCleave", IsSelfBuff = true },
                    w
                });
            BlockedSpells.Add("Ryze", new List<BlockedSpell> { w, e });
            BlockedSpells.Add("Shaco", new List<BlockedSpell> { q, e });
            BlockedSpells.Add(
                "Shen",
                new List<BlockedSpell>
                {
                    new BlockedSpell("ShenQAttack", "Empowered", true) { BuffName = "shenqbuff", IsSelfBuff = true },
                    e
                });
            BlockedSpells.Add(
                "Shyvana", new List<BlockedSpell>
                {
                    new BlockedSpell("ShyvanaDoubleAttackHit", "Empowered Q", true),
                    e,
                    r
                });
            BlockedSpells.Add("Singed", new List<BlockedSpell> { e });
            BlockedSpells.Add("Sion", new List<BlockedSpell> { q, r });
            BlockedSpells.Add("Skarner", new List<BlockedSpell> { r });
            BlockedSpells.Add("Syndra", new List<BlockedSpell> { r });
            BlockedSpells.Add("Karthus", new List<BlockedSpell> { q, r });
            BlockedSpells.Add("Ashe", new List<BlockedSpell> { r });
            BlockedSpells.Add("Swain", new List<BlockedSpell> { q, e });
            BlockedSpells.Add(
                "Talon",
                new List<BlockedSpell>
                {
                    new BlockedSpell("TalonNoxianDiplomacyAttack", "Empowered Q") { IsAutoAttack = true },
                    e
                });
            BlockedSpells.Add("Taric", new List<BlockedSpell> { e });
            BlockedSpells.Add("Teemo", new List<BlockedSpell> { q });
            BlockedSpells.Add("Tristana", new List<BlockedSpell> { e, r });
            BlockedSpells.Add(
                "Trundle", new List<BlockedSpell> { new BlockedSpell("TrundleQ", "Empowered Q", true), r });
            BlockedSpells.Add(
                "TwistedFate", new List<BlockedSpell> { new BlockedSpell("goldcardpreattack", "Gold Card", true) });
            BlockedSpells.Add("Udyr", new List<BlockedSpell> { new BlockedSpell("UdyrBearAttack", "Bear", true) });
            BlockedSpells.Add("Urgot", new List<BlockedSpell> { r });
            BlockedSpells.Add(
                "Vayne",
                new List<BlockedSpell>
                {
                    new BlockedSpell("VayneBasicAttack", "Silver Bolts")
                    {
                        IsAutoAttack = true,
                        IsPlayerBuff = true,
                        BuffName = "vaynesilvereddebuff",
                        BuffCount = 2
                    },
                    e
                });
            BlockedSpells.Add("Veigar", new List<BlockedSpell> { q, r });
            BlockedSpells.Add(
                "Vi",
                new List<BlockedSpell>
                {
                    new BlockedSpell("ViBasicAttack", "Empowered W")
                    {
                        IsAutoAttack = true,
                        BuffName = "viwproc",
                        IsPlayerBuff = true,
                        BuffCount = 2
                    },
                    new BlockedSpell("ViEAttack", "Empowered E") { IsAutoAttack = true },
                    r
                });
            BlockedSpells.Add(
                "Viktor",
                new List<BlockedSpell> { q, new BlockedSpell("viktorqbuff", "Empowered Q") { IsAutoAttack = true } });
            BlockedSpells.Add("Vladimir", new List<BlockedSpell> { q });
            BlockedSpells.Add(
                "Volibear", new List<BlockedSpell> { new BlockedSpell("VolibearQAttack", "Empowered Q", true), w });
            BlockedSpells.Add("Warwick", new List<BlockedSpell> { q });
            BlockedSpells.Add(
                "XinZhao", new List<BlockedSpell> { new BlockedSpell("XenZhaoThrust3", "Empowered Q", true), e, r });
            BlockedSpells.Add("Yasuo", new List<BlockedSpell> { new BlockedSpell("yasuoq3", "Whirlwind Q"), e });
            BlockedSpells.Add(
                "Yorick",
                new List<BlockedSpell>
                {
                    new BlockedSpell("yorickbasicattack", "Empowered Q")
                    {
                        IsAutoAttack = true,
                        BuffName = "YorickSpectral",
                        IsSelfBuff = true
                    },
                    e
                });
            BlockedSpells.Add("Zac", new List<BlockedSpell> { w, r });
            BlockedSpells.Add("Zilean", new List<BlockedSpell> { e });
            BlockedSpells.Add("Ziggs", new List<BlockedSpell> { r });

            var enemies = EntityManager.Heroes.Enemies;

            if (enemies.Any(o => o.ChampionName.Equals("Kalista")))
                Program.blocking.Add("Oathsworn", new CheckBox("Block Oathsworn Knockup (Kalista R)", true));

            foreach (var unit in enemies)
            {
                if (!SpellBlock.BlockedSpells.ContainsKey(unit.ChampionName))
                    continue;

                var name = unit.ChampionName.Equals("MonkeyKing") ? "Wukong" : unit.ChampionName;

                foreach (var spell in SpellBlock.BlockedSpells[unit.ChampionName])
                {
                    var slot = spell.Slot.Equals(48) ? SpellSlot.R : spell.Slot;
                    Program.blocking.Add(unit.ChampionName + spell.MenuName, new CheckBox(unit.ChampionName + " - " + spell.DisplayName, true));
                }
            }

            Game.OnUpdate += OnUpdate;
        }