context: using ClipperLib;
  using Color = System.Drawing.Color;
  using EloBuddy.SDK.Enumerations;
  using EloBuddy.SDK.Events;
  using EloBuddy.SDK.Menu.Values;
  using EloBuddy.SDK.Menu;
  using EloBuddy.SDK;
  using EloBuddy;
  using Font = SharpDX.Direct3D9.Font;
  using LeagueSharp.Common.Data;
  using LeagueSharp.Common;
  using SharpDX.Direct3D9;
  using SharpDX;
  using System.Collections.Generic;
  using System.Drawing;
  using System.Text;
  using System.Threading.Tasks;
  using System.Linq;
  using System.Security.AccessControl;
  using System;
  using System.Speech.Synthesis;
  
  namespace TreeLib.SpellData
  {
      public static class SpellDatabase
      {
          #region Static Fields
  
          public static List<SpellData> Spells = new List<SpellData>();
  
          #endregion
  
          #region Constructors and Destructors
  
          static SpellDatabase()
          {
              #region Aatrox
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Aatrox",
                      SpellName = "AatroxQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 600,
                      Range = 650,
                      Radius = 250,
                      MissileSpeed = 2000,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = ""
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Aatrox",
                      SpellName = "AatroxE",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1075,
                      Radius = 35,
                      MissileSpeed = 1250,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = false,
                      MissileSpellName = "AatroxEConeMissile"
                  });
  
              #endregion Aatrox
  
              #region Ahri
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Ahri",
                      SpellName = "AhriOrbofDeception",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1000,
                      Radius = 100,
                      MissileSpeed = 2500,
                      MissileAccel = -3200,
                      MissileMaxSpeed = 2500,
                      MissileMinSpeed = 400,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "AhriOrbMissile",
                      CanBeRemoved = true,
                      ForceRemove = true,
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Ahri",
                      SpellName = "AhriOrbReturn",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1000,
                      Radius = 100,
                      MissileSpeed = 60,
                      MissileAccel = 1900,
                      MissileMinSpeed = 60,
                      MissileMaxSpeed = 2600,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileFollowsUnit = true,
                      CanBeRemoved = true,
                      ForceRemove = true,
                      MissileSpellName = "AhriOrbReturn",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Ahri",
                      SpellName = "AhriSeduce",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1000,
                      Radius = 60,
                      MissileSpeed = 1550,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "AhriSeduceMissile",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Ahri
  
              #region Alistar
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Alistar",
                      SpellName = "Pulverize",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 0,
                      Radius = 365,
                      MissileSpeed = int.MaxValue,
                      FixedRange = true,
                      DangerValue = 3,
                      IsDangerous = true
                  });
  
              #endregion Alistar
  
              #region Amumu
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Amumu",
                      SpellName = "BandageToss",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1100,
                      Radius = 90,
                      MissileSpeed = 2000,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "SadMummyBandageToss",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Amumu",
                      SpellName = "CurseoftheSadMummy",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 0,
                      Radius = 550,
                      MissileSpeed = int.MaxValue,
                      FixedRange = true,
                      AddHitbox = false,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = ""
                  });
  
              #endregion Amumu
  
              #region Anivia
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Anivia",
                      SpellName = "FlashFrost",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1100,
                      Radius = 110,
                      MissileSpeed = 850,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "FlashFrostSpell",
                      CanBeRemoved = true,
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Anivia
  
              #region Annie
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Annie",
                      SpellName = "Incinerate",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotCone,
                      Delay = 250,
                      Range = 825,
                      Radius = 80,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = false,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = ""
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Annie",
                      SpellName = "InfernalGuardian",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 600,
                      Radius = 251,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = ""
                  });
  
              #endregion Annie
  
              #region Ashe
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Ashe",
                      SpellName = "Volley",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1250,
                      Radius = 60,
                      MissileSpeed = 1500,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "VolleyAttack",
                      MultipleNumber = 9,
                      MultipleAngle = 4.62f * (float) Math.PI / 180,
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.YasuoWall, CollisionObjectTypes.Minion }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Ashe",
                      SpellName = "EnchantedCrystalArrow",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 20000,
                      Radius = 130,
                      MissileSpeed = 1600,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = "EnchantedCrystalArrow",
                      CanBeRemoved = true,
                      CollisionObjects = new[] { CollisionObjectTypes.Champion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Ashe
  
              #region Bard
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Bard",
                      SpellName = "BardQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 950,
                      Radius = 60,
                      MissileSpeed = 1600,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "BardQMissile",
                      CanBeRemoved = true,
                      CollisionObjects = new[] { CollisionObjectTypes.Champion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Bard",
                      SpellName = "BardR",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 500,
                      Range = 3400,
                      Radius = 350,
                      MissileSpeed = 2100,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "BardR"
                  });
  
              #endregion
  
              #region Blatzcrink
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Blitzcrank",
                      SpellName = "RocketGrab",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1050,
                      Radius = 70,
                      MissileSpeed = 1800,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 4,
                      IsDangerous = true,
                      MissileSpellName = "RocketGrabMissile",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Blitzcrank",
                      SpellName = "StaticField",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 0,
                      Radius = 600,
                      MissileSpeed = int.MaxValue,
                      FixedRange = true,
                      AddHitbox = false,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = ""
                  });
  
              #endregion Blatzcrink
  
              #region Brand
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Brand",
                      SpellName = "BrandBlaze",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1100,
                      Radius = 60,
                      MissileSpeed = 1600,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "BrandBlazeMissile",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Brand",
                      SpellName = "BrandFissure",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 850,
                      Range = 900,
                      Radius = 240,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = ""
                  });
  
              #endregion Brand
  
              #region Braum
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Braum",
                      SpellName = "BraumQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1050,
                      Radius = 60,
                      MissileSpeed = 1700,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "BraumQMissile",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Braum",
                      SpellName = "BraumRWrapper",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 500,
                      Range = 1200,
                      Radius = 115,
                      MissileSpeed = 1400,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 4,
                      IsDangerous = true,
                      MissileSpellName = "braumrmissile",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Braum
  
              #region Caitlyn
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Caitlyn",
                      SpellName = "CaitlynPiltoverPeacemaker",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 625,
                      Range = 1300,
                      Radius = 90,
                      MissileSpeed = 2200,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "CaitlynPiltoverPeacemaker",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Caitlyn",
                      SpellName = "CaitlynEntrapment",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 125,
                      Range = 1000,
                      Radius = 80,
                      MissileSpeed = 2000,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 1,
                      IsDangerous = false,
                      MissileSpellName = "CaitlynEntrapmentMissile",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Caitlyn
  
              #region Cassiopeia
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Cassiopeia",
                      SpellName = "CassiopeiaNoxiousBlast",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 750,
                      Range = 850,
                      Radius = 150,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "CassiopeiaNoxiousBlast"
                  });
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Cassiopeia",
                      SpellName = "CassiopeiaMiasma",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 850,
                      Radius = 220,
                      MissileSpeed = 2500,
                      AddHitbox = true,
                      DangerValue = 2
                  });
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Cassiopeia",
                      SpellName = "CassiopeiaPetrifyingGaze",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCone,
                      Delay = 600,
                      Range = 825,
                      Radius = 80,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = false,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = "CassiopeiaPetrifyingGaze"
                  });
  
              #endregion Cassiopeia
  
              #region Chogath
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Chogath",
                      SpellName = "Rupture",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 1200,
                      Range = 950,
                      Radius = 250,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = false,
                      MissileSpellName = "Rupture"
                  });
  
              #endregion Chogath
  
              #region Corki
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Corki",
                      SpellName = "PhosphorusBomb",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 300,
                      Range = 825,
                      Radius = 250,
                      MissileSpeed = 1000,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "PhosphorusBombMissile",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Corki",
                      SpellName = "MissileBarrage",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 200,
                      Range = 1300,
                      Radius = 40,
                      MissileSpeed = 2000,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "MissileBarrageMissile",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Corki",
                      SpellName = "MissileBarrage2",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 200,
                      Range = 1500,
                      Radius = 40,
                      MissileSpeed = 2000,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "MissileBarrageMissile2",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Corki
  
              #region Darius
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Darius",
                      SpellName = "DariusCleave",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 750,
                      Range = 0,
                      Radius = 425,
                      MissileSpeed = int.MaxValue,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = false,
                      MissileSpellName = "DariusCleave",
                      FollowCaster = true,
                      DisabledByDefault = true
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Darius",
                      SpellName = "DariusAxeGrabCone",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotCone,
                      Delay = 250,
                      Range = 550,
                      Radius = 80,
                      MissileSpeed = int.MaxValue,
                      FixedRange = true,
                      AddHitbox = false,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "DariusAxeGrabCone"
                  });
  
              #endregion Darius
  
              #region Diana
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Diana",
                      SpellName = "DianaArc",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 895,
                      Radius = 195,
                      MissileSpeed = 1400,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "DianaArcArc",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Diana",
                      SpellName = "DianaArcArc",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotArc,
                      Delay = 250,
                      Range = 895,
                      Radius = 195,
                      DontCross = true,
                      MissileSpeed = 1400,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "DianaArcArc",
                      TakeClosestPath = true,
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Diana
  
              #region DrMundo
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "DrMundo",
                      SpellName = "InfectedCleaverMissileCast",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1050,
                      Radius = 60,
                      MissileSpeed = 2000,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = false,
                      MissileSpellName = "InfectedCleaverMissile",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion DrMundo
  
              #region Draven
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Draven",
                      SpellName = "DravenDoubleShot",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1100,
                      Radius = 130,
                      MissileSpeed = 1400,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "DravenDoubleShotMissile",
                      CanBeRemoved = true,
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Draven",
                      SpellName = "DravenRCast",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 400,
                      Range = 20000,
                      Radius = 160,
                      MissileSpeed = 2000,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = "DravenR",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Draven
  
              #region Ekko
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Ekko",
                      SpellName = "EkkoQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 950,
                      Radius = 60,
                      MissileSpeed = 1650,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 4,
                      IsDangerous = true,
                      MissileSpellName = "ekkoqmis",
                      CanBeRemoved = true,
                      CollisionObjects = new[] { CollisionObjectTypes.Champion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Ekko",
                      SpellName = "EkkoW",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 3750,
                      Range = 1600,
                      Radius = 375,
                      MissileSpeed = 1650,
                      FixedRange = false,
                      DisabledByDefault = true,
                      AddHitbox = false,
                      DangerValue = 3,
                      IsDangerous = false,
                      MissileSpellName = "EkkoW",
                      CanBeRemoved = true
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Ekko",
                      SpellName = "EkkoR",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 1600,
                      Radius = 375,
                      MissileSpeed = 1650,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = false,
                      MissileSpellName = "EkkoR",
                      CanBeRemoved = true,
                      FromObjects = new[] { "Ekko_Base_R_TrailEnd.troy" }
                  });
  
              #endregion Ekko
  
              #region Elise
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Elise",
                      SpellName = "EliseHumanE",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1100,
                      Radius = 55,
                      MissileSpeed = 1600,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 4,
                      IsDangerous = true,
                      MissileSpellName = "EliseHumanE",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Elise
  
              #region Evelynn
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Evelynn",
                      SpellName = "EvelynnR",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 650,
                      Radius = 350,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = "EvelynnR"
                  });
  
              #endregion Evelynn
  
              #region Ezreal
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Ezreal",
                      SpellName = "EzrealMysticShot",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1200,
                      Radius = 60,
                      MissileSpeed = 2000,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "EzrealMysticShotMissile",
                      ExtraMissileNames = new[] { "EzrealMysticShotPulseMissile" },
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall },
                      Id = 229
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Ezreal",
                      SpellName = "EzrealEssenceFlux",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1050,
                      Radius = 80,
                      MissileSpeed = 1600,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "EzrealEssenceFluxMissile",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Ezreal",
                      SpellName = "EzrealTrueshotBarrage",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 1000,
                      Range = 20000,
                      Radius = 160,
                      MissileSpeed = 2000,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "EzrealTrueshotBarrage",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall },
                      Id = 245
                  });
  
              #endregion Ezreal
  
              #region Fiora
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Fiora",
                      SpellName = "FioraW",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 500,
                      Range = 800,
                      Radius = 70,
                      MissileSpeed = 3200,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "FioraWMissile",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Fiora
  
              #region Fizz
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Fizz",
                      SpellName = "FizzMarinerDoom",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1300,
                      Radius = 120,
                      MissileSpeed = 1350,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = "FizzMarinerDoomMissile",
                      CollisionObjects = new[] { CollisionObjectTypes.Champion, CollisionObjectTypes.YasuoWall },
                      CanBeRemoved = true
                  });
  
              #endregion Fizz
  
              #region Galio
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Galio",
                      SpellName = "GalioResoluteSmite",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 900,
                      Radius = 200,
                      MissileSpeed = 1300,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "GalioResoluteSmite"
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Galio",
                      SpellName = "GalioRighteousGust",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1200,
                      Radius = 120,
                      MissileSpeed = 1200,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "GalioRighteousGust",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Galio",
                      SpellName = "GalioIdolOfDurand",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 0,
                      Radius = 550,
                      MissileSpeed = int.MaxValue,
                      FixedRange = true,
                      AddHitbox = false,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = ""
                  });
  
              #endregion Galio
  
              #region Gnar
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Gnar",
                      SpellName = "GnarQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1125,
                      Radius = 60,
                      MissileSpeed = 2500,
                      MissileAccel = -3000,
                      MissileMaxSpeed = 2500,
                      MissileMinSpeed = 1400,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      CanBeRemoved = true,
                      ForceRemove = true,
                      MissileSpellName = "gnarqmissile",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Gnar",
                      SpellName = "GnarQReturn",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 0,
                      Range = 2500,
                      Radius = 75,
                      MissileSpeed = 60,
                      MissileAccel = 800,
                      MissileMaxSpeed = 2600,
                      MissileMinSpeed = 60,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      CanBeRemoved = true,
                      ForceRemove = true,
                      MissileSpellName = "GnarQMissileReturn",
                      DisableFowDetection = false,
                      DisabledByDefault = true,
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Gnar",
                      SpellName = "GnarBigQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 500,
                      Range = 1150,
                      Radius = 90,
                      MissileSpeed = 2100,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "GnarBigQMissile",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Gnar",
                      SpellName = "GnarBigW",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotLine,
                      Delay = 600,
                      Range = 600,
                      Radius = 80,
                      MissileSpeed = int.MaxValue,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "GnarBigW"
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Gnar",
                      SpellName = "GnarE",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 0,
                      Range = 473,
                      Radius = 150,
                      MissileSpeed = 903,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "GnarE"
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Gnar",
                      SpellName = "GnarBigE",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 475,
                      Radius = 200,
                      MissileSpeed = 1000,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "GnarBigE"
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Gnar",
                      SpellName = "GnarR",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 0,
                      Radius = 500,
                      MissileSpeed = int.MaxValue,
                      FixedRange = true,
                      AddHitbox = false,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = ""
                  });
  
              #endregion
  
              #region Gragas
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Gragas",
                      SpellName = "GragasQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 1100,
                      Radius = 275,
                      MissileSpeed = 1300,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "GragasQMissile",
                      ExtraDuration = 4500,
                      ToggleParticleName = "Gragas_.+_Q_(Enemy|Ally)",
                      DontCross = true
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Gragas",
                      SpellName = "GragasE",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 0,
                      Range = 950,
                      Radius = 200,
                      MissileSpeed = 1200,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "GragasE",
                      CanBeRemoved = true,
                      ExtraRange = 300,
                      CollisionObjects = new[] { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Gragas",
                      SpellName = "GragasR",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 1050,
                      Radius = 375,
                      MissileSpeed = 1800,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = "GragasRBoom",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Gragas
  
              #region Graves
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Graves",
                      SpellName = "GravesClusterShot",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1000,
                      Radius = 50,
                      MissileSpeed = 2000,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "GravesClusterShotAttack",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall },
                      MultipleNumber = 3,
                      MultipleAngle = 15 * (float) Math.PI / 180
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Graves",
                      SpellName = "GravesChargeShot",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1100,
                      Radius = 100,
                      MissileSpeed = 2100,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = "GravesChargeShotShot",
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Graves
  
              #region Heimerdinger
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Heimerdinger",
                      SpellName = "Heimerdingerwm",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1500,
                      Radius = 70,
                      MissileSpeed = 1800,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "HeimerdingerWAttack2",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Heimerdinger",
                      SpellName = "HeimerdingerE",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 925,
                      Radius = 100,
                      MissileSpeed = 1200,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "heimerdingerespell",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Heimerdinger
  
              #region Irelia
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Irelia",
                      SpellName = "IreliaTranscendentBlades",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 0,
                      Range = 1200,
                      Radius = 65,
                      MissileSpeed = 1600,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "IreliaTranscendentBlades",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Irelia
  
              #region Janna
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Janna",
                      SpellName = "JannaQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1700,
                      Radius = 120,
                      MissileSpeed = 900,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "HowlingGaleSpell",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Janna
  
              #region JarvanIV
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "JarvanIV",
                      SpellName = "JarvanIVDragonStrike",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotLine,
                      Delay = 600,
                      Range = 770,
                      Radius = 70,
                      MissileSpeed = int.MaxValue,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = false
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "JarvanIV",
                      SpellName = "JarvanIVEQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 880,
                      Radius = 70,
                      MissileSpeed = 1450,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "JarvanIV",
                      SpellName = "JarvanIVDemacianStandard",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 500,
                      Range = 860,
                      Radius = 175,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "JarvanIVDemacianStandard"
                  });
  
              #endregion JarvanIV
  
              #region Jayce
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Jayce",
                      SpellName = "jayceshockblast",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1300,
                      Radius = 70,
                      MissileSpeed = 1450,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "JayceShockBlastMis",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Jayce",
                      SpellName = "JayceQAccel",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1300,
                      Radius = 70,
                      MissileSpeed = 2350,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "JayceShockBlastWallMis",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Jayce
  
              #region Jinx
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Jinx",
                      SpellName = "JinxW",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 600,
                      Range = 1500,
                      Radius = 60,
                      MissileSpeed = 3300,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "JinxWMissile",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Jinx",
                      SpellName = "JinxR",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 600,
                      Range = 20000,
                      Radius = 140,
                      MissileSpeed = 1700,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = "JinxR",
                      CanBeRemoved = true,
                      CollisionObjects = new[] { CollisionObjectTypes.Champion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Jinx
  
              #region Kalista
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Kalista",
                      SpellName = "KalistaMysticShot",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1200,
                      Radius = 40,
                      MissileSpeed = 1700,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "kalistamysticshotmis",
                      ExtraMissileNames = new[] { "kalistamysticshotmistrue" },
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Kalista
  
              #region Karma
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Karma",
                      SpellName = "KarmaQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1050,
                      Radius = 60,
                      MissileSpeed = 1700,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "KarmaQMissile",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Karma",
                      SpellName = "KarmaQMantra",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 950,
                      Radius = 80,
                      MissileSpeed = 1700,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "KarmaQMissileMantra",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Karma
  
              #region Karthus
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Karthus",
                      SpellName = "KarthusLayWasteA2",
                      ExtraSpellNames =
                          new[]
                          {
                              "karthuslaywastea3", "karthuslaywastea1", "karthuslaywastedeada1", "karthuslaywastedeada2",
                              "karthuslaywastedeada3"
                          },
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 625,
                      Range = 875,
                      Radius = 160,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = ""
                  });
  
              #endregion Karthus
  
              #region Kassadin
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Kassadin",
                      SpellName = "RiftWalk",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 450,
                      Radius = 270,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "RiftWalk"
                  });
  
              #endregion Kassadin
  
              #region Kennen
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Kennen",
                      SpellName = "KennenShurikenHurlMissile1",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 125,
                      Range = 1050,
                      Radius = 50,
                      MissileSpeed = 1700,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "KennenShurikenHurlMissile1",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Kennen
  
              #region Khazix
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Khazix",
                      SpellName = "KhazixW",
                      ExtraSpellNames = new[] { "khazixwlong" },
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1025,
                      Radius = 73,
                      MissileSpeed = 1700,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "KhazixWMissile",
                      CanBeRemoved = true,
                      MultipleNumber = 3,
                      MultipleAngle = 22f * (float) Math.PI / 180,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Khazix",
                      SpellName = "KhazixE",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 600,
                      Radius = 300,
                      MissileSpeed = 1500,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "KhazixE"
                  });
  
              #endregion Khazix
  
              #region Kogmaw
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Kogmaw",
                      SpellName = "KogMawQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1200,
                      Radius = 70,
                      MissileSpeed = 1650,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "KogMawQMis",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Kogmaw",
                      SpellName = "KogMawVoidOoze",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1360,
                      Radius = 120,
                      MissileSpeed = 1400,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "KogMawVoidOozeMissile",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Kogmaw",
                      SpellName = "KogMawLivingArtillery",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 1200,
                      Range = 1800,
                      Radius = 150,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "KogMawLivingArtillery"
                  });
  
              #endregion Kogmaw
  
              #region Leblanc
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Leblanc",
                      SpellName = "LeblancSlide",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 0,
                      Range = 600,
                      Radius = 220,
                      MissileSpeed = 1450,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "LeblancSlide"
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Leblanc",
                      SpellName = "LeblancSlideM",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 0,
                      Range = 600,
                      Radius = 220,
                      MissileSpeed = 1450,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "LeblancSlideM"
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Leblanc",
                      SpellName = "LeblancSoulShackle",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 950,
                      Radius = 70,
                      MissileSpeed = 1600,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "LeblancSoulShackle",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Leblanc",
                      SpellName = "LeblancSoulShackleM",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 950,
                      Radius = 70,
                      MissileSpeed = 1600,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "LeblancSoulShackleM",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Leblanc
  
              #region LeeSin
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "LeeSin",
                      SpellName = "BlindMonkQOne",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1100,
                      Radius = 65,
                      MissileSpeed = 1800,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      MissileSpellName = "BlindMonkQOne",
                      CanBeRemoved = true,
                      CollisionObjects =
                          new[]
                          { CollisionObjectTypes.Champion, CollisionObjectTypes.Minion, CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion LeeSin
  
              #region Leona
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Leona",
                      SpellName = "LeonaZenithBlade",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 905,
                      Radius = 70,
                      MissileSpeed = 2000,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true,
                      TakeClosestPath = true,
                      MissileSpellName = "LeonaZenithBladeMissile",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Leona",
                      SpellName = "LeonaSolarFlare",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 1000,
                      Range = 1200,
                      Radius = 300,
                      MissileSpeed = int.MaxValue,
                      FixedRange = false,
                      AddHitbox = true,
                      DangerValue = 5,
                      IsDangerous = true,
                      MissileSpellName = "LeonaSolarFlare"
                  });
  
              #endregion Leona
  
              #region Lissandra
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Lissandra",
                      SpellName = "LissandraQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 700,
                      Radius = 75,
                      MissileSpeed = 2200,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "LissandraQMissile",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Lissandra",
                      SpellName = "LissandraQShards",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 700,
                      Radius = 90,
                      MissileSpeed = 2200,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "lissandraqshards",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Lissandra",
                      SpellName = "LissandraW",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotCircle,
                      Delay = 250,
                      Range = 0,
                      Radius = 450,
                      MissileSpeed = int.MaxValue,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 3,
                      IsDangerous = true
                  });
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Lissandra",
                      SpellName = "LissandraE",
                      Slot = SpellSlot.E,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1025,
                      Radius = 125,
                      MissileSpeed = 850,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "LissandraEMissile",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              #endregion Lulu
  
              #region Lucian
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Lucian",
                      SpellName = "LucianQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotLine,
                      Delay = 500,
                      Range = 1300,
                      Radius = 65,
                      MissileSpeed = int.MaxValue,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "LucianQ"
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Lucian",
                      SpellName = "LucianW",
                      Slot = SpellSlot.W,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 1000,
                      Radius = 55,
                      MissileSpeed = 1600,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "lucianwmissile"
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Lucian",
                      SpellName = "LucianRMis",
                      Slot = SpellSlot.R,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 500,
                      Range = 1400,
                      Radius = 110,
                      MissileSpeed = 2800,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "lucianrmissileoffhand",
                      ExtraMissileNames = new[] { "lucianrmissile" },
                      DontCheckForDuplicates = true,
                      DisabledByDefault = true
                  });
  
              #endregion Lucian
  
              #region Lulu
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Lulu",
                      SpellName = "LuluQ",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 950,
                      Radius = 60,
                      MissileSpeed = 1450,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "LuluQMissile",
                      CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }
                  });
  
              Spells.Add(
                  new SpellData
                  {
                      ChampionName = "Lulu",
                      SpellName = "LuluQPix",
                      Slot = SpellSlot.Q,
                      Type = SkillShotType.SkillshotMissileLine,
                      Delay = 250,
                      Range = 950,
                      Radius = 60,
                      MissileSpeed = 1450,
                      FixedRange = true,
                      AddHitbox = true,
                      DangerValue = 2,
                      IsDangerous = false,
                      MissileSpellName = "LuluQMissileTwo",
  
gt:                     CollisionObjects = new[] { CollisionObjectTypes.YasuoWall }