1. modded ver
  2. Champions = {
  3.  
  4. ["Akali"] = {charName = "Akali", skillshots = {
  5.         ["AkaliShadowSwipe"] = {name = "AkaliShadowSwipe", spellName = "AkaliShadowSwipe", castDelay = 250, projectileName = "AkaliShadowSwipe", projectileSpeed = 1700, range = 600, radius = 1, type = "line", blockable = true, danger = 1}-
  6.     }},
  7.     ["Malphite"] = {charName = "Malphite", skillshots = {
  8.         ["Landslide"] = {name = "Landslide", spellName = "Landslide", castDelay = 250, projectileName = "AkaliShadowSwipe", projectileSpeed = 1700, range = 625, radius = 1, type = "line", blockable = true, danger = 1}--
  9.     }},
  10.         ["Panteon"] = {charName = "Panteon", skillshots = {
  11.         ["Pantheon_Throw"] = {name = "Pantheon_Throw", spellName = "Pantheon_Throw", castDelay = 250, projectileName = "Pantheon_Throw", projectileSpeed = 1700, range = 600, radius = 1, type = "line", blockable = true, danger = 1}-
  12.     }},
  13.         ["Riven"] = {charName = "Riven", skillshots = {
  14.         ["rivenizunablade"] = {name = "rivenizunablade", spellName = "rivenizunablade", castDelay = 250, projectileName = "rivenizunablade", projectileSpeed = 2200, range = 900, radius = 300, type = "line", blockable = true, danger = 1}
  15.     }},
  16.             ["Sejuani"] = {charName = "Riven", skillshots = {
  17.         ["SejuaniGlacialPrisonStart"] = {name = "SejuaniGlacialPrisonStart", spellName = "SejuaniGlacialPrisonStart", castDelay = 250, projectileName = "SejuaniGlacialPrisonStart", projectileSpeed = 1700, range = 1175, radius = 300, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  18.     }},
  19.         ["Shen"] = {charName = "Shen", skillshots = {
  20.         ["ShenVorpalStar"] = {name = "ShenVorpalStar", spellName = "ShenVorpalStar", castDelay = 300, projectileName = "ShenFeint", projectileSpeed = 100, range = 475, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  21.     }},
  22.             ["Taric"] = {charName = "Taric", skillshots = {
  23.         ["Dazzle"] = {name = "Dazzle", spellName = "Dazzle", castDelay = 200, projectileName = "Dazzle", projectileSpeed = 2400, range = 625, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  24.     }},
  25.         ["Veigar"] = {charName = "Veigar", skillshots = {
  26.         ["VeigarPrimordialBurst"] = {name = "VeigarPrimordialBurst", spellName = "VeigarPrimordialBurst", castDelay = 250, projectileName = "VeigarPrimordialBurst", projectileSpeed = 1400, range = 625, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  27.     }},
  28.         ["Kayle"] = {charName = "Kayle", skillshots = {
  29.         ["JudicatorReckoning"] = {name = "JudicatorReckoning", spellName = "JudicatorReckoning", castDelay = 250, projectileName = "JudicatorReckoning", projectileSpeed = 1400, range = 650, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  30.     }},
  31.         ["Leblanc"] = {charName = "Leblanc", skillshots = {
  32.         ["LeblancChaosOrb"] = {name = "LeblancChaosOrb", spellName = "JLeblancChaosOrb", castDelay = 250, projectileName = "LeblancChaosOrb", projectileSpeed = 1400, range = 700, radius = 1, type = "line", blockable = true, danger = 1},
  33.                 ["LeblancChaosOrbm"] = {name = "LeblancChaosOrbm", spellName = "JLeblancChaosOrbm", castDelay = 250, projectileName = "LeblancChaosOrbm", projectileSpeed = 1500, range = 700, radius = 1, type = "line", blockable = true, danger = 1}
  34.     }},
  35.         ["Teemo"] = {charName = "Teemo", skillshots = {
  36.         ["BlindingDart"] = {name = "BlindingDart", spellName = "BlindingDart", castDelay = 250, projectileName = "BlindingDart", projectileSpeed = 1400, range = 580, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  37.     }},
  38.         ["Tristana"] = {charName = "Tristana", skillshots = {
  39.         ["BusterShot"] = {name = "BusterShot", spellName = "BusterShot", castDelay = 250, projectileName = "BusterShot", projectileSpeed = 1400, range = 645, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  40.     }},
  41.         ["Vayne"] = {charName = "Vayne", skillshots = {
  42.         ["VayneCondemn"] = {name = "VayneCondemn", spellName = "VayneCondemn", castDelay = 250, projectileName = "VayneCondemn", projectileSpeed = 1400, range = 550, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  43.     }},
  44.             ["Anivia"] = {charName = "Anivia", skillshots = {
  45.         ["Frostbite"] = {name = "Frostbite", spellName = "Frostbite", castDelay = 250, projectileName = "Frostbite", projectileSpeed = 1400, range = 700, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  46.     }},
  47.         ["Anivia"] = {charName = "Anivia", skillshots = {
  48.         ["Frostbite"] = {name = "Frostbite", spellName = "Frostbite", castDelay = 250, projectileName = "Frostbite", projectileSpeed = 1400, range = 700, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  49.     }},
  50.         ["Graves"] = {charName = "Graves", skillshots = {
  51.         ["GravesChargeShot"] = {name = "GravesChargeShot", spellName = "GravesChargeShot", castDelay = 250, projectileName = "GravesChargeShot", projectileSpeed = 1400, range = 950, radius = 300, type = "line", blockable = true, danger = 1},
  52.                  ["GravesClusterShot"] = {name = "GravesClusterShot", spellName = "GravesClusterShot", castDelay = 250, projectileName = "GravesClusterShot", projectileSpeed = 1400, range = 1000, radius = 300, type = "line", blockable = true, danger = 1}
  53.                 --could be 4 if you have 2 marks
  54.     }},
  55.         ["Shaco"] = {charName = "Shaco", skillshots = {
  56.         ["TwoShivPoison"] = {name = "TwoShivPoison", spellName = "TwoShivPoison", castDelay = 250, projectileName = "TwoShivPoison", projectileSpeed = 1400, range = 625, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  57.     }},
  58.         ["Brand"] = {charName = "Brand", skillshots = {
  59.         ["BrandWildfire"] = {name = "BrandWildfire", spellName = "BrandWildfire", castDelay = 250, projectileName = "BrandWildfire", projectileSpeed = 1400, range = 750, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  60.     }},
  61.         ["Fiddlesticks"] = {charName = "Fiddlesticks", skillshots = {
  62.         ["FiddlesticksDarkWind"] = {name = "FiddlesticksDarkWind", spellName = "FiddleSticksDarkWind", castDelay =300, projectileName = "FiddleSticksDarkWind", projectileSpeed = 1400, range = 750, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  63.     }},
  64.         ["Gankplank"] = {charName = "Gankplank", skillshots = {
  65.         ["Parley"] = {name = "Parley", spellName = "Parley", castDelay = 250, projectileName = "Parley", projectileSpeed = 1400, range = 750, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  66.     }},
  67.         ["Janna"] = {charName = "Janna", skillshots = {
  68.         ["SowTheWind"] = {name = "SowTheWind", spellName = "SowTheWind", castDelay = 250, projectileName = "SowTheWind", projectileSpeed = 1400, range = 600, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  69.     }},
  70.         ["Katarina"] = {charName = "Katarina", skillshots = {
  71.         ["BouncingBlades"] = {name = "BouncingBlades", spellName = "BouncingBlades", castDelay = 250, projectileName = "BouncingBlades", projectileSpeed = 1400, range = 675, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  72.     }},
  73.         ["Nunu"] = {charName = "Nunu", skillshots = {
  74.         ["IceBlast"] = {name = "IceBlast", spellName = "IceBlast", castDelay = 250, projectileName = "IceBlast", projectileSpeed = 1000, range = 550, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  75.     }},
  76.         ["Nunu"] = {charName = "Nunu", skillshots = {
  77.         ["deathfiregrasp"] = {name = "deathfiregrasp", spellName = "deathfiregrasp", castDelay = 250, projectileName = "deathfiregrasp", projectileSpeed = 1400, range = 600, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  78.     }},
  79.         ["Gragas"] = {charName = "Gragas", skillshots = {
  80.         ["GragasExplosiveCask"] = {name = "GragasExplosiveCask", spellName = "GragasExplosiveCask", castDelay = 250, projectileName = "GragasExplosiveCask", projectileSpeed = 1400, range = 1050, radius = 300, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  81.     }},
  82.         ["Cassiopea"] = {charName = "Cassiopea", skillshots = {
  83.         ["CassiopeiaTwinFang"] = {name = "CassiopeiaTwinFang", spellName = "CassiopeiaTwinFang", castDelay = 250, projectileName = "GCassiopeiaTwinFang", projectileSpeed = 1400, range = 700, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  84.     }},
  85.             ["Xerath"] = {charName = "Xerath", skillshots = {
  86.         ["xerathmagechains"] = {name = "xerathmagechains", spellName = "xerathmagechains", castDelay = 250, projectileName = "xerathmagechains", projectileSpeed = 1400, range = 600, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  87.     }},
  88.        
  89.         ["Swain"] = {charName = "Swain", skillshots = {
  90.         ["SwainTorment"] = {name = "SwainTorment", spellName = "SwainTorment", castDelay = 250, projectileName = "SwainTorment", projectileSpeed = 1400, range = 625, radius = 1, type = "line", blockable = true, danger = 1}--could be 4 if you have 2 marks
  91.     }},
  92.        
  93.        
  94.        
  95.        
  96.        
  97.     ["Lux"] = {charName = "Lux", skillshots = {
  98.         --["LuxLightBinding"] =  {name = "Light Binding", spellName = "LuxLightBinding", castDelay = 250, projectileName = "LuxLightBinding_mis.troy", projectileSpeed = 1200, range = 1300, radius = 80, type = "line", blockable = true, danger = 1},
  99.         --["LuxLightStrikeKugel"] = {name = "LuxLightStrikeKugel", spellName = "LuxLightStrikeKugel", castDelay = 250, projectileName = "LuxLightstrike_mis.troy", projectileSpeed = 1400, range = 1100, radius = 275, type = "circular", blockable = true, danger = 0},
  100.                
  101.         --["LuxMaliceCannon"] =  {name = "Lux Malice Cannon", spellName = "LuxMaliceCannon", castDelay = 1375, projectileName = "Enrageweapon_buf_02.troy", projectileSpeed = math.huge, range = 3500, radius = 190, type = "line", blockable = true, danger = 1},
  102.     }},
  103.     ["Nidalee"] = {charName = "Nidalee", skillshots = {
  104.         --["JavelinToss"] = {name = "Javelin Toss", spellName = "JavelinToss", castDelay = 125, projectileName = "nidalee_javelinToss_mis.troy", projectileSpeed = 1300, range = 1500, radius = 60, type = "line", blockable = true, danger = 1}
  105.     }},
  106.     ["Kennen"] = {charName = "Kennen", skillshots = {
  107.         --["KennenShurikenHurlMissile1"] = {name = "Thundering Shuriken", spellName = "KennenShurikenHurlMissile1", castDelay = 180, projectileName = "kennen_ts_mis.troy", projectileSpeed = 1700, range = 1050, radius = 50, type = "line", blockable = true, danger = 0}--could be 4 if you have 2 marks
  108.     }},
  109.     ["Amumu"] = {charName = "Amumu", skillshots = {
  110.         --["BandageToss"] = {name = "Bandage Toss", spellName = "BandageToss", castDelay = 250, projectileName = "Bandage_beam.troy", projectileSpeed = 2000, range = 1100, radius = 80, type = "line", evasiondanger = true, blockable = true, danger = 1}
  111.     }},
  112.     ["Lee Sin"] = {charName = "LeeSin", skillshots = {
  113.         --["BlindMonkQOne"] = {name = "Sonic Wave", spellName = "BlindMonkQOne", castDelay = 250, projectileName = "blindMonk_Q_mis_01.troy", projectileSpeed = 1800, range = 1100, radius = 60+10, type = "line", blockable = true, danger = 1} --if he hit this he will slow you
  114.     }},
  115.     ["Morgana"] = {charName = "Morgana", skillshots = {
  116.         --["DarkBindingMissile"] = {name = "Dark Binding", spellName = "DarkBindingMissile", castDelay = 250, projectileName = "DarkBinding_mis.troy", projectileSpeed = 1200, range = 1300, radius = 80, type = "line", blockable = true, danger = 1},
  117.         --["TormentedSoil"] = {name = "Tormented Soil", spellName = "TormentedSoil", castDelay = 250, projectileName = "", projectileSpeed = 1200, range = 900, radius = 300, type = "circular", blockable = false, danger = 1},
  118.     }},
  119.     ["Ezreal"] = {charName = "Ezreal", skillshots = {
  120.         --["EzrealMysticShot"]             = {name = "Mystic Shot",      spellName = "EzrealMysticShot",      castDelay = 250, projectileName = "Ezreal_mysticshot_mis.troy",  projectileSpeed = 2000, range = 1200,  radius = 80,  type = "line", blockable = true, danger = 0},
  121.         --["EzrealEssenceFlux"]            = {name = "Essence Flux",     spellName = "EzrealEssenceFlux",     castDelay = 250, projectileName = "Ezreal_essenceflux_mis.troy", projectileSpeed = 1500, range = 1050,  radius = 80,  type = "line", blockable = true, danger = 0},
  122.         --["EzrealMysticShotPulse"] = {name = "Mystic Shot",      spellName = "EzrealMysticShotPulse", castDelay = 250, projectileName = "Ezreal_mysticshot_mis.troy",  projectileSpeed = 2000, range = 1200,  radius = 80,  type = "line", blockable = true, danger = 0},
  123.         ["EzrealTrueshotBarrage"]        = {name = "Trueshot Barrage", spellName = "EzrealTrueshotBarrage", castDelay = 1000, projectileName = "Ezreal_TrueShot_mis.troy",    projectileSpeed = 2000, range = 20000, radius = 160, type = "line", blockable = true, danger = 0},
  124.     }},
  125.     ["Ahri"] = {charName = "Ahri", skillshots = {
  126.         --["AhriOrbofDeception"] = {name = "Orb of Deception", spellName = "AhriOrbofDeception", castDelay = 250, projectileName = "Ahri_Orb_mis.troy", projectileSpeed = 1750, range = 900, radius = 100, type = "line", blockable = true, danger = 0},
  127.         --["AhriOrbofDeception!"] = {name = "Orb of Deception Back", spellName = "AhriOrbofDeception!", castDelay = 250+500, projectileName = "Ahri_Orb_mis_02.troy", projectileSpeed = 915, range = 900, radius = 100, type = "line", blockable = true, danger = 0},
  128.         --["AhriSeduce"] = {name = "Charm", spellName = "AhriSeduce", castDelay = 250, projectileName = "Ahri_Charm_mis.troy", projectileSpeed = 1600, range = 1000, radius = 60, type = "line", blockable = true, danger = 1}
  129.     }},
  130.     ["Olaf"] = {charName = "Olaf", skillshots = {
  131.         --["OlafAxeThrow"] = {name = "Undertow", spellName = "OlafAxeThrow", castDelay = 250, projectileName = "olaf_axe_mis.troy", projectileSpeed = 1600, range = 1000, radius = 90, type = "line", blockable = true, danger = 1}
  132.     }},
  133.     ["Leona"] = {charName = "Leona", skillshots = { -- Q+ R+
  134.         ["LeonaZenithBlade"] = {name = "Zenith Blade", spellName = "LeonaZenithBlade", castDelay = 250, projectileName = "Leona_ZenithBlade_mis.troy", projectileSpeed = 2000, range = 900, radius = 100, type = "line", blockable = true, danger = 1},
  135.         --["LeonaSolarFlare"] = {name = "Leona Solar Flare", spellName = "LeonaSolarFlare", castDelay = 250, projectileName = "Leona_SolarFlare_cas.troy", projectileSpeed = 650+350, range = 1200, radius = 300, type = "circular", blockable = true, danger = 1}
  136.     }},
  137.     ["Karthus"] = {charName = "Karthus", skillshots = {
  138.         --["LayWaste"] = {name = "Lay Waste", spellName = "LayWaste", castDelay = 250, projectileName = "LayWaste_point.troy", projectileSpeed = 1750, range = 875, radius = 140, type = "circular", blockable = false, danger = 0}
  139.     }},
  140.     ["Chogath"] = {charName = "Chogath", skillshots = {
  141.         --["Rupture"] = {name = "Rupture", spellName = "Rupture", castDelay = 0, projectileName = "rupture_cas_01_red_team.troy", projectileSpeed = 950, range = 950, radius = 250, type = "circular", blockable = false, danger = 1}
  142.     }},
  143.     ["Blitzcrank"] = {charName = "Blitzcrank", skillshots = {
  144.        --["RocketGrabMissile"] = {name = "Rocket Grab", spellName = "RocketGrabMissile", castDelay = 250, projectileName = "FistGrab_mis.troy", projectileSpeed = 1800, range = 1050, radius = 70, type = "line", blockable = true, danger = 1}
  145.     }},
  146.     ["Anivia"] = {charName = "Anivia", skillshots = {
  147.         --["FlashFrostSpell"] = {name = "Flash Frost", spellName = "FlashFrostSpell", castDelay = 250, projectileName = "cryo_FlashFrost_mis.troy", projectileSpeed = 850, range = 1100, radius = 110, type = "line", blockable = true, danger = 1}
  148.     }},
  149.     ["Zyra"] = {charName = "Zyra", skillshots = {
  150.       --["Deadly Bloom"]   = {name = "Deadly Bloom", spellName = "ZyraQFissure", castDelay = 250, projectileName = "zyra_Q_cas.troy", projectileSpeed = 1400, range = 825, radius = 220, type = "circular", blockable = true, danger = 0},
  151.         --["ZyraGraspingRoots"] = {name = "Grasping Roots", spellName = "ZyraGraspingRoots", castDelay = 250, projectileName = "Zyra_E_se222e_impact.troy", projectileSpeed = 115, range = 1150, radius = 70,  type = "line", blockable = true, danger = 1},
  152.         --["zyrapassivedeathmanager"] = {name = "Zyra Passive", spellName = "zyrapassivedeathmanager", castDelay = 500, projectileName = "zyra_passive_plant_mis.troy", projectileSpeed = 2000, range = 1474, radius = 60,  type = "line", blockable = true, danger = 0},
  153.     }},
  154.     --[[["Gragas"] = {charName = "Gragas", skillshots = {
  155.         ["Barrel Roll"] = {name = "Barrel Roll", spellName = "GragasBarrelRoll", castDelay = 250, projectileName = "gragas_barrelroll_mis.troy", projectileSpeed = 1000, range = 1115, radius = 180, type = "circular", blockable = true, danger = 0},
  156.         ["Barrel Roll Missile"] = {name = "Barrel Roll Missile", spellName = "GragasBarrelRollMissile", castDelay = 0, projectileName = "gragas_barrelroll_mis.troy", projectileSpeed = 1000, range = 1115, radius = 180, type = "circular", blockable = true, danger = 0},
  157.     }},]]--
  158.     ["Nautilus"] = {charName = "Nautilus", skillshots = {
  159.         --["NautilusAnchorDrag"] = {name = "Dredge Line", spellName = "NautilusAnchorDrag", castDelay = 250, projectileName = "Nautilus_Q_mis.troy", projectileSpeed = 2000, range = 1080, radius = 80, type = "line", blockable = true, danger = 1},
  160.     }},
  161.     --[[["Urgot"] = {charName = "Urgot", skillshots = {
  162.         ["Acid Hunter"] = {name = "Acid Hunter", spellName = "UrgotHeatseekingLineMissile", castDelay = 175, projectileName = "UrgotLineMissile_mis.troy", projectileSpeed = 1600, range = 1000, radius = 60, type = "line", blockable = true, danger = 0},
  163.         ["Plasma Grenade"] = {name = "Plasma Grenade", spellName = "UrgotPlasmaGrenade", castDelay = 250, projectileName = "UrgotPlasmaGrenade_mis.troy", projectileSpeed = 1750, range = 900, radius = 250, type = "circular", blockable = true, danger = 1},
  164.     }},]]--
  165.     ["Caitlyn"] = {charName = "Caitlyn", skillshots = {
  166.         ["CaitlynPiltoverPeacemaker"] = {name = "Piltover Peacemaker", spellName = "CaitlynPiltoverPeacemaker", castDelay = 625, projectileName = "caitlyn_Q_mis.troy", projectileSpeed = 2200, range = 1300, radius = 90, type = "line", blockable = true, danger = 0},
  167.         ["CaitlynEntrapment"] = {name = "Caitlyn Entrapment", spellName = "CaitlynEntrapment", castDelay = 150, projectileName = "caitlyn_entrapment_mis.troy", projectileSpeed = 2000, range = 950, radius = 80, type = "line", blockable = true, danger = 1},
  168.     }},
  169.     ["Mundo"] = {charName = "DrMundo", skillshots = {
  170.         --["InfectedCleaverMissile"] = {name = "Infected Cleaver", spellName = "InfectedCleaverMissile", castDelay = 250, projectileName = "dr_mundo_infected_cleaver_mis.troy", projectileSpeed = 2000, range = 1050, radius = 75, type = "line", blockable = true, danger = 1},
  171.     }},
  172.     ---["Brand"] = {charName = "Brand", skillshots = { -- Q+ W+
  173.         --["BrandBlaze"] = {name = "Q", spellName = "BrandBlaze", castDelay = 250, projectileName = "BrandBlaze_mis.troy", projectileSpeed = 1600, range = 1100, radius = 80, type = "line", blockable = false, danger = 1},
  174.         --["BrandFissure"] = {name = "W", spellName = "BrandFissure", castDelay = 250, projectileName = "BrandPOF_tar_green.troy", projectileSpeed = 1000, range = 1100, radius = 250, type = "circular", blockable = true, danger = 0}
  175.     ---}},
  176.     ["Corki"] = {charName = "Corki", skillshots = {
  177.         --["MissileBarrage"] = {name = "Missile Barrage", spellName = "MissileBarrage", castDelay = 250, projectileName = "corki_MissleBarrage_mis.troy", projectileSpeed = 2000, range = 1300, radius = 40, type = "line", blockable = true, danger = 0},
  178.         --["MissileBarrage!"] = {name = "Missile Barrage big", spellName = "MissileBarrage!", castDelay = 250, projectileName = "Corki_MissleBarrage_DD_mis.troy", projectileSpeed = 2000, range = 1300, radius = 40, type = "line", blockable = true, danger = 0}
  179.     }},
  180.     ["TwistedFate"] = {charName = "TwistedFate", skillshots = {
  181.         --["WildCards"] = {name = "Loaded Dice", spellName = "WildCards", castDelay = 250, projectileName = "Roulette_mis.troy", projectileSpeed = 1000, range = 1450, radius = 40, type = "line", blockable = true, danger = 0},
  182.     }},
  183.     ["Swain"] = {charName = "Swain", skillshots = {
  184.         --["SwainShadowGrasp"] = {name = "Nevermove", spellName = "SwainShadowGrasp", castDelay = 250, projectileName = "swain_shadowGrasp_transform.troy", projectileSpeed = 1000, range = 900, radius = 180, type = "circular", blockable = true, danger = 1}
  185.     }},
  186.     ["Cassiopeia"] = {charName = "Cassiopeia", skillshots = {
  187.         --["CassiopeiaNoxiousBlast"] = {name = "Noxious Blast", spellName = "CassiopeiaNoxiousBlast", castDelay = 250, projectileName = "CassNoxiousSnakePlane_green.troy", projectileSpeed = 500, range = 850, radius = 130, type = "circular", blockable = false, danger = 0},
  188.     }},
  189.     ["Sivir"] = {charName = "Sivir", skillshots = { --hard to measure speed
  190.         --["SivirQ"] = {name = "Boomerang Blade", spellName = "SivirQ", castDelay = 250, projectileName = "Sivir_Base_Q_mis.troy", projectileSpeed = 1350, range = 1175, radius = 101, type = "line", blockable = true, danger = 0},
  191.     }},
  192.     ["Ashe"] = {charName = "Ashe", skillshots = {
  193.         ["EnchantedCrystalArrow"] = {name = "Enchanted Arrow", spellName = "EnchantedCrystalArrow", castDelay = 250, projectileName = "EnchantedCrystalArrow_mis.troy", projectileSpeed = 1600, range = 25000, radius = 130, type = "line", blockable = true, danger = 1},
  194.     ["Volley"] = {name = "Volley", spellName = "Volley", castDelay = 250, projectileName = "Volley", projectileSpeed = 1400, range = 1200, radius = 1, type = "line", blockable = true, danger = 1}
  195.    
  196.     }},
  197.     ["KogMaw"] = {charName = "KogMaw", skillshots = {
  198.         --["KogMawLivingArtillery"] = {name = "Living Artillery", spellName = "KogMawLivingArtillery", castDelay = 250, projectileName = "KogMawLivingArtillery_mis.troy", projectileSpeed = 1050, range = 2200, radius = 225, type = "circular", blockable = false, danger = 0}
  199.     }},
  200.     ["Khazix"] = {charName = "Khazix", skillshots = {
  201.         ["KhazixW"] = {name = "KhazixW", spellName = "KhazixW", castDelay = 250, projectileName = "Khazix_W_mis_enhanced.troy", projectileSpeed = 1700, range = 1025, radius = 70, type = "line", blockable = true, danger = 0},
  202.         --["khazixwlong"] = {name = "khazixwlong", spellName = "khazixwlong", castDelay = 250, projectileName = "Khazix_W_mis_enhanced.troy", projectileSpeed = 1700, range = 1025, radius = 70, type = "line", blockable = true, danger = 0},
  203.     }},
  204.     ["Zed"] = {charName = "Zed", skillshots = {
  205.         ["ZedShuriken"] = {name = "ZedShuriken", spellName = "ZedShuriken", castDelay = 250, projectileName = "Zed_Q_Mis.troy", projectileSpeed = 1700, range = 925, radius = 50, type = "line", blockable = true, danger = 0},
  206.         --["ZedShuriken2"] = {name = "ZedShuriken2", spellName = "ZedShuriken!", castDelay = 250, projectileName = "Zed_Q2_Mis.troy", projectileSpeed = 1700, range = 925, radius = 50, type = "line", blockable = true, danger = 0},
  207.     }},
  208.     --["Leblanc"] = {charName = "Leblanc", skillshots = {
  209.         --["LeblancSoulShackle"] = {name = "Ethereal Chains", spellName = "LeblancSoulShackle", castDelay = 250, projectileName = "leBlanc_shackle_mis.troy", projectileSpeed = 1600, range = 960, radius = 70, type = "line", blockable = true, danger = 1},
  210.         --["LeblancSoulShackleM"] = {name = "Ethereal Chains R", spellName = "LeblancSoulShackleM", castDelay = 250, projectileName = "leBlanc_shackle_mis_ult.troy", projectileSpeed = 1600, range = 960, radius = 70, type = "line", blockable = true, danger = 1},
  211.     --}},
  212.     ["Draven"] = {charName = "Draven", skillshots = {
  213.        ["DravenDoubleShot"] = {name = "Stand Aside", spellName = "DravenDoubleShot", castDelay = 250, projectileName = "Draven_E_mis.troy", projectileSpeed = 1400, range = 1100, radius = 130, type = "line", blockable = true, danger = 1},
  214.         ["DravenRCast"] = {name = "DravenR", spellName = "DravenRCast", castDelay = 500, projectileName = "Draven_R_mis!.troy", projectileSpeed = 2000, range = 25000, radius = 160, type = "line", blockable = true, danger = 0},
  215.     }},
  216.     ["Elise"] = {charName = "Elise", skillshots = {
  217.         --["EliseHumanE"] = {name = "Cocoon", spellName = "EliseHumanE", castDelay = 250, projectileName = "Elise_human_E_mis.troy", projectileSpeed = 1450, range = 1100, radius = 70, type = "line", blockable = true, danger = 1}
  218.     }},
  219.     ["Lulu"] = {charName = "Lulu", skillshots = {
  220.         --["LuluQ"] = {name = "LuluQ", spellName = "LuluQ", castDelay = 250, projectileName = "Lulu_Q_Mis.troy", projectileSpeed = 1450, range = 1000, radius = 50, type = "line", blockable = true, danger = 1}
  221.     }},
  222.     ["Thresh"] = {charName = "Thresh", skillshots = {
  223.         --["ThreshQ"] = {name = "ThreshQ", spellName = "ThreshQ", castDelay = 500, projectileName = "Thresh_Q_whip_beam.troy", projectileSpeed = 1900, range = 1100, radius = 65, type = "line", blockable = true, danger = 1} -- 60 real radius
  224.     }},
  225.     --["Shen"] = {charName = "Shen", skillshots = {
  226.         --["ShenShadowDash"] = {name = "ShadowDash", spellName = "ShenShadowDash", castDelay = 0, projectileName = "shen_shadowDash_mis.troy", projectileSpeed = 3000, range = 575, radius = 50, type = "line", blockable = true, danger = 1}
  227.     --}},
  228.     ["Quinn"] = {charName = "Quinn", skillshots = {
  229.         ["QuinnQ"] = {name = "QuinnQ", spellName = "QuinnQ", castDelay = 250, projectileName = "Quinn_Q_missile.troy", projectileSpeed = 1550, range = 1050, radius = 80, type = "line", blockable = true, danger = 0}
  230.     }},
  231.     --[[["Veigar"] = {charName = "Veigar", skillshots = {
  232.         ["VeigarDarkMatter"] = {name = "VeigarDarkMatter", spellName = "VeigarDarkMatter", castDelay = 250, projectileName = "!", projectileSpeed = 900, range = 900, radius = 225, type = "circular", blockable = true, danger = 0}
  233.     }},
  234.     ]]--
  235.     --[[["Diana"] = {charName = "Diana", skillshots = {
  236.         ["Diana Arc"] = {name = "DianaArc", spellName = "DianaArc", castDelay = 250, projectileName = "Diana_Q_trail.troy", projectileSpeed = 1600, range = 1000, radius = 195, type="circular", blockable = true, danger = 0},
  237.     }},]]--
  238.     --[[["Jayce"] = {charName = "Jayce", skillshots = {
  239.         ["Q1"] = {name = "Q1", spellName = "jayceshockblast!", castDelay = 250, projectileName = "JayceOrbLightning.troy", projectileSpeed = 1450, range = 1050, radius = 70, type = "line", blockable = true, danger = 0},
  240.         ["Q2"] = {name = "Q2", spellName = "JayceShockBlast", castDelay = 250, projectileName = "JayceOrbLightningCharged.troy", projectileSpeed = 2350, range = 1600, radius = 70, type = "line", blockable = true, danger = 0},
  241.     }},]]--
  242.     ["Nami"] = {charName = "Nami", skillshots = {
  243.         ["Nami_W"] = {name = "Nami_W", spellName = "Nami_W", castDelay = 250, projectileName = "Nami_W", projectileSpeed = 1000, range = 2750, radius = 500, type="line", blockable = true, danger = 1}
  244.     }},
  245.     ["Fizz"] = {charName = "Fizz", skillshots = {
  246.         ["FizzMarinerDoom"] = {name = "Fizz ULT", spellName = "FizzMarinerDoom", castDelay = 250, projectileName = "Fizz_UltimateMissile.troy", projectileSpeed = 1350, range = 1275, radius = 80, type = "line", blockable = true, danger = 1},
  247.     }},
  248.     ["Varus"] = {charName = "Varus", skillshots = {
  249.         ["VarusQ!"] = {name = "Varus Q Missile", spellName = "VarusQ!", castDelay = 0, projectileName = "VarusQ_mis.troy", projectileSpeed = 1900, range = 1600, radius = 70, type = "line", blockable = true, danger = 0},
  250.         --["VarusE"] = {name = "Varus E", spellName = "VarusE", castDelay = 250, projectileName = "VarusEMissileLong.troy", projectileSpeed = 1500, range = 925, radius = 275, type = "circular", blockable = true, danger = 1},
  251.         ["VarusR"] = {name = "VarusR", spellName = "VarusR", castDelay = 250, projectileName = "VarusRMissile.troy", projectileSpeed = 1950, range = 1250, radius = 100, type = "line", blockable = true, danger = 1},
  252.     }},
  253.     ["Karma"] = {charName = "Karma", skillshots = {
  254.         ["KarmaQ"] = {name = "KarmaQ", spellName = "KarmaQ", castDelay = 250, projectileName = "TEMP_KarmaQMis.troy", projectileSpeed = 1700, range = 1050, radius = 90, type = "line", blockable = true, danger = 1},
  255.     }},
  256.     ["Aatrox"] = {charName = "Aatrox", skillshots = {--Radius starts from 150 and scales down, so I recommend putting half of it, because you won't dodge pointblank skillshots.
  257.         ["AatroxE"] = {name = "Blade of Torment", spellName = "AatroxE", castDelay = 250, projectileName = "AatroxBladeofTorment_mis.troy", projectileSpeed = 1200, range = 1075, radius = 75, type = "line", blockable = true, danger = 1},
  258.         --["AatroxQ"] = {name = "AatroxQ", spellName = "AatroxQ", castDelay = 250, projectileName = "AatroxQ.troy", projectileSpeed = 450, range = 650, radius = 145, type = "circular", blockable = true, danger = 1},
  259.    }},
  260.     --["Xerath"] = {charName = "Xerath", skillshots = {
  261.         --["XerathArcanopulse"] =  {name = "Xerath Arcanopulse", spellName = "XerathArcanopulse", castDelay = 1375, projectileName = "Xerath_Beam_cas.troy", projectileSpeed = math.huge, range = 1025, radius = 100, type = "line", blockable = true, danger = 0},
  262.         --["xeratharcanopulseextended"] =  {name = "Xerath Arcanopulse Extended", spellName = "xeratharcanopulseextended", castDelay = 1375, projectileName = "Xerath_Beam_cas.troy", projectileSpeed = math.huge, range = 1625, radius = 100, type = "line", blockable = true, danger = 0},
  263.         --["xeratharcanebarragewrapper"] = {name = "xeratharcanebarragewrapper", spellName = "xeratharcanebarragewrapper", castDelay = 250, projectileName = "Xerath_E_cas_green.troy", projectileSpeed = 300, range = 1100, radius = 265, type = "circular", blockable = true, danger = 0},
  264.         --["xeratharcanebarragewrapperext"] = {name = "xeratharcanebarragewrapperext", spellName = "xeratharcanebarragewrapperext", castDelay = 250, projectileName = "Xerath_E_cas_green.troy", projectileSpeed = 300, range = 1600, radius = 265, type = "circular", blockable = true, danger = 0},
  265.     --}},
  266.     ["Lucian"] = {charName = "Lucian", skillshots = {
  267.         ["LucianQ"] =  {name = "LucianQ", spellName = "LucianQ", castDelay = 350, projectileName = "Lucian_Q_laser.troy", projectileSpeed = math.huge, range = 570*2, radius = 65, type = "line", blockable = true, danger = 0},
  268.         ["LucianW"] =  {name = "LucianW", spellName = "LucianW", castDelay = 300, projectileName = "Lucian_W_mis.troy", projectileSpeed = 1600, range = 1000, radius = 80, type = "line", blockable = true, danger = 0},
  269.     }},
  270.     ["Viktor"] = {charName = "Viktor", skillshots = {
  271.         ["ViktorDeathRay!"] =  {name = "ViktorDeathRay2", spellName = "ViktorDeathRay!", castDelay = 500, projectileName = "Viktor_DeathRay_Fix_Mis_Augmented.troy", projectileSpeed = 780, range = 700, radius = 80, type = "line", blockable = true, danger = 0},
  272.     }},
  273.     ["Rumble"] = {charName = "Rumble", skillshots = {
  274.         ["RumbleGrenade"] =  {name = "RumbleGrenade", spellName = "RumbleGrenade", castDelay = 250, projectileName = "rumble_taze_mis.troy", projectileSpeed = 2000, range = 950, radius = 90, type = "line", blockable = true, danger = 1},
  275.     }},
  276.     ["Nocturne"] = {charName = "Nocturne", skillshots = {
  277.         ["NocturneDuskbringer"] =  {name = "NocturneDuskbringer", spellName = "NocturneDuskbringer", castDelay = 250, projectileName = "NocturneDuskbringer_mis.troy", projectileSpeed = 1400, range = 1125, radius = 60, type = "line", blockable = true, danger = 0},
  278.     }},
  279.     ["MissFortune"] = {charName = "MissFortune", skillshots = {
  280.         ["MissFortuneScattershot"] =  {name = "Scattershot", spellName = "MissFortuneScattershot", castDelay = 250, projectileName = "", projectileSpeed = 1400, range = 800, radius = 200, type = "circular", blockable = false, danger = 0},
  281.         ["MissFortuneBulletTime"] =  {name = "Bullettime", spellName = "MissFortuneBulletTime", castDelay = 250, projectileName = "", projectileSpeed = 1400, range = 1400, radius = 200, type = "line", blockable = true, danger = 0},
  282.     }},
  283.     ["Orianna"] = {charName = "Orianna", skillshots = {
  284.         --["OrianaIzunaCommand"] =  {name = "OrianaIzunaCommand", spellName = "OrianaIzunaCommand!", castDelay = 250, projectileName = "Oriana_Ghost_mis.troy", projectileSpeed = 1200, range = 2000, radius = 80, type = "line", blockable = true, danger = 0},
  285.     }},
  286.     ["Ziggs"] = {charName = "Ziggs", skillshots = { -- Q changed to line in 1.10
  287.         --["ZiggsQ"] =  {name = "ZiggsQ", spellName = "ZiggsQ", castDelay = 1500, projectileName = "ZiggsQ.troy", projectileSpeed = math.huge, range = 1500, radius = 100, type = "line", blockable = true, danger = 0},
  288.     }},
  289.     ["Galio"] = {charName = "Galio", skillshots = {
  290.         --["GalioResoluteSmite"] =  {name = "GalioResoluteSmite", spellName = "GalioResoluteSmite", castDelay = 250, projectileName = "galio_concussiveBlast_mis.troy", projectileSpeed = 850, range = 2000, radius = 200, type = "circular", blockable = true, danger = 1},
  291.     }},
  292.     ["Yasuo"] = {charName = "Yasuo", skillshots = {
  293.         ["yasuoq3w"] =  {name = "Steel Tempest", spellName = "yasuoq3w", castDelay = 300, projectileName = "Yasuo_Q_wind_mis.troy", projectileSpeed = 1200, range = 900, radius = 375, type = "line", blockable = true, danger = 1},
  294.     }},
  295.     ["Kassadin"] = {charName = "Kassadin", skillshots = {
  296.         ["NullLance"] =  {name = "Null Sphere", spellName = "NullLance", castDelay = 300, projectileName = "Null_Lance_mis.troy", projectileSpeed = 1400, range = 650, radius = 1, type = "line", blockable = true, danger = 1},
  297.     }},
  298.     ["Jinx"] = {charName = "Jinx", skillshots = { -- R speed and delay increased
  299.         --["JinxWMissile"] =  {name = "Zap", spellName = "JinxWMissile", castDelay = 600, projectileName = "Jinx_W_mis.troy", projectileSpeed = 3300, range = 1450, radius = 70, type = "line", blockable = true, danger = 1},
  300.         ["JinxRWrapper"] =  {name = "Super Mega Death Rocket", spellName = "JinxRWrapper", castDelay = 600+900, projectileName = "Jinx_R_Mis.troy", projectileSpeed = 2500, range = 20000, radius = 120, type = "line", blockable = true, danger = 0},
  301.     }},
  302.     ["Syndra"] = {charName = "Syndra", skillshots = { -- Q added in 1.10
  303.         --["SyndraQ"] = {name = "Q", spellName = "SyndraQ", castDelay = 250, projectileName = "Syndra_Q_cas.troy", projectileSpeed = 500, range = 800, radius = 175, type = "circular", blockable = true, danger = 0}
  304.     }}
  305. }
  306.  
  307. if VIP_USER then
  308.     require "Prodiction"
  309. end
  310.  
  311. if myHero.charName ~= "Yasuo" then return end
  312.  
  313. function OnLoad()
  314.     PrintChat("<font color='#aaff34'>Dat</font> <font color='#44BB77'>Yasuo</font> <font color='#44ff88'>v3.0</font> <font color='#BBBBBB'> by</font> <font color='#9999ff'>Fuggi</font>")
  315.     if VIP_USER then
  316.         PrintChat("You are VIP - using Prodiction")
  317.         Prod = ProdictManager.GetInstance()
  318.         ProdQ = Prod:AddProdictionObject(_Q, qRange, qSpeed, qDelay, qWidth)
  319.     else
  320.         PrintChat("You are non-VIP - no Prodiction :/")
  321.     end
  322.     Menu()
  323.     Init()
  324. end
  325.  
  326. function OnProcessSpell(object,spellProc)
  327.       --if(object.charName=="Yasuo") then PrintChat(spellProc.name .. " " .. object.charName) end
  328.     if Config.autoW then
  329.         if object.team ~= player.team and not player.dead and string.find(spellProc.name, "Basic") == nil then
  330.             if Champions[object.charName] ~= nil then
  331.                 skillshot = Champions[object.charName].skillshots[spellProc.name]
  332.                 if  skillshot ~= nil and skillshot.blockable == true then
  333.                     range = skillshot.range
  334.                     if GetDistance(spellProc.startPos) <= range then
  335.                         if GetDistance(spellProc.endPos) <= wRange then
  336.                            
  337.                                 CastSpell(_W, object.x, object.z)
  338.                            
  339.                         end
  340.                     end
  341.                 end
  342.             end
  343.         end
  344.     end
  345.     --[[
  346.     if Config.dodge then
  347.         if object.team ~= player.team and not player.dead and string.find(spellProc.name, "Basic") == nil then
  348.             if Champions[object.charName] ~= nil then
  349.                 skillshot = Champions[object.charName].skillshots[spellProc.name]
  350.                 if skillshot ~= nil then
  351.                     if skillshot.type == "circular" and GetDistance(spellProc.endPos) <= skillshot.radius then
  352.                         dodge(skillshot)
  353.                     end
  354.                 end
  355.             end
  356.         end
  357.     end
  358.     ]]
  359. end
  360.  
  361. function canDodge(skillshot)
  362.     PrintChat("D1")
  363.     if ((myHero.ms + eRange)/skillshot.radius) > (skillshot.castDelay + (skillshot.projectileSpeed/GetDistance(skillshot.startPos, skillshot.endPos))) then
  364.         return true
  365.     else
  366.         return false
  367.     end
  368. end
  369.  
  370. function dodge(skillshot)
  371.     if canDodge(skillshot) then
  372.         PrintChat("1")
  373.         Minion = nil
  374.         Minions:update()
  375.         for index, minion in pairs(FarmMinions.objects) do
  376.             if ValidTarget(minion) then
  377.                 if GetDistance(skillshot.endPos, minion)+(eRange/2) > skillshot.radius then
  378.                     PrintChat("2")  
  379.                     Minion = minion
  380.                 end
  381.             end
  382.         end
  383.         CastSpell(_E, minion)
  384.     end
  385. end
  386.  
  387. function Init()
  388.     levelSequence = {1,2,3,1,1 ,4,1,2,1,2 ,4,2,2,3,3 ,4,3,3}
  389.     Youmuu, BilgeWaterCutlass, Hydra, RuinedKing, Omen, Tiamat = nil, nil, nil, nil, nil, nil
  390.     YoumuuR, BilgeWaterCutlassR, HydraR, RuinedKingR, OmenR, TiamatR = nil, nil, nil, nil, nil, nil
  391.     qBuffName = "Yasuo_Q_wind_ready_buff.troy"
  392.     dashed = false
  393.     dashedFarm = false
  394.     qColor = 0xAA2244
  395.     qRange = 475
  396.     qSpeed = 1800
  397.     qDelay = 300
  398.     qWidth = 375
  399.     wRange = 1100
  400.     eRange = 475
  401.     rRange = 1300  
  402.  
  403.     ts = TargetSelector(TARGET_NEAR_MOUSE, 1250, DAMAGE_PHYSICAL)  
  404.     ts.name = "Yasuo"
  405.     Config:addTS(ts)
  406.    
  407.     if myHero:GetSpellData(SUMMONER_1).name:find("SummonerDot") then
  408.         igniteSpell = SUMMONER_1
  409.     elseif myHero:GetSpellData(SUMMONER_2).name:find("SummonerDot") then
  410.         igniteSpell = SUMMONER_2
  411.     else
  412.         igniteSpell = nil
  413.     end
  414.    
  415.     SteelTempest = false
  416.     Minions = minionManager(MINION_ENEMY, 1250, player, MINION_SORT_HEALTH_ASC)
  417.     FarmMinions = minionManager(MINION_ENEMY, eRange, player, MINION_SORT_HEALTH_ASC)
  418.     JungleFarmMinions = minionManager(MINION_JUNGLE, eRange, player, MINION_SORT_HEALTH_ASC)
  419.     JungleMinions = minionManager(MINION_JUNGLE, 1250, player, MINION_SORT_HEALTH_ASC)
  420. end
  421.  
  422. function checkItems()
  423.     Hydra = GetInventorySlotItem(3074)
  424.     RuinedKing = GetInventorySlotItem(3153)
  425.     Omen = GetInventorySlotItem(3143)
  426.     Tiamat = GetInventorySlotItem(3077)
  427.     BilgeWaterCutlass = GetInventorySlotItem(3144)
  428.     Youmuu = GetInventorySlotItem(3142)
  429.     HydraR = (Hydra ~= nil and myHero:CanUseSpell(Hydra))
  430.     RuinedKingR = (RuinedKing ~= nil and myHero:CanUseSpell(RuinedKing))
  431.     OmenR = (Omen ~= nil and myHero:CanUseSpell(Omen))
  432.     TiamatR = (Tiamat ~= nil and myHero:CanUseSpell(Tiamat))
  433.     BilgeWaterCutlassR = (BilgeWaterCutlass ~= nil and myHero:CanUseSpell(BilgeWaterCutlass))
  434.     YoumuuR = (Youmuu ~= nil and myHero:CanUseSpell(Youmuu))
  435. end
  436.  
  437. function Menu()
  438.     Config = scriptConfig("Dat Yasuo", "yasuo")
  439.     Config:addParam("sep", "--- Keys ---", SCRIPT_PARAM_INFO, "")
  440.     Config:addParam("farm", "Farm", SCRIPT_PARAM_ONKEYDOWN, false, 86)
  441.     Config:addParam("sbtw", "Combo", SCRIPT_PARAM_ONKEYDOWN, false, 32)
  442.     Config:addParam("flee", "Flee", SCRIPT_PARAM_ONKEYDOWN, false, 88)
  443.     --Config:addParam("harrass", "Harrass", SCRIPT_PARAM_ONKEYDOWN, false, 83)
  444.  
  445.     Config:addParam("sep", "--- Harrass Options ---", SCRIPT_PARAM_INFO, "")
  446.     Config:addParam("autoQ", "Auto-Q", SCRIPT_PARAM_ONOFF, true)
  447.  
  448.     Config:addParam("sep", "--- Farm Options ---", SCRIPT_PARAM_INFO, "")
  449.     Config:addParam("useQFarm", "Use Q", SCRIPT_PARAM_ONOFF, true)
  450.     Config:addParam("useEFarm", "Use E", SCRIPT_PARAM_ONOFF, true)
  451.  
  452.     Config:addParam("sep", "--- SBTW Options ---", SCRIPT_PARAM_INFO, "")
  453.     Config:addParam("useQ", "Use Q", SCRIPT_PARAM_ONOFF, true)
  454.     Config:addParam("useE", "Use E to Damage", SCRIPT_PARAM_ONOFF, true)
  455.     Config:addParam("useEGap", "Use E as Gap Closer", SCRIPT_PARAM_ONOFF, true)
  456.     Config:addParam("DistanceToE", "min Distance for GC E",SCRIPT_PARAM_SLICE, 300, 0, 475, 0)
  457.     Config:addParam("useR", "Use R", SCRIPT_PARAM_ONOFF, true)
  458.  
  459.     Config:addParam("sep", "--- Ulti Options ---", SCRIPT_PARAM_INFO, "")  
  460.     Config:addParam("autoR", "Auto-R KS", SCRIPT_PARAM_ONOFF, false)
  461.     Config:addParam("autoRPercent", "Auto-R when at % Health",SCRIPT_PARAM_SLICE, 1, 1, 100, 0)
  462.     Config:addParam("autoRMin", "Auto-R Many Targets", SCRIPT_PARAM_ONOFF, false)
  463.     Config:addParam("minRTargets", "Auto-R when # knocked up",SCRIPT_PARAM_SLICE, 1, 1, 5, 0)
  464.  
  465.  
  466.     Config:addParam("sep", "--- Other Options ---", SCRIPT_PARAM_INFO, "")
  467.     Config:addParam("autoIg", "Auto Ignite Killable", SCRIPT_PARAM_ONOFF, true)
  468.     Config:addParam("autoW", "Auto-Shield", SCRIPT_PARAM_ONOFF, true)
  469.     --Config:addParam("dodge", "Auto-Dodge", SCRIPT_PARAM_ONOFF, true)
  470.     Config:addParam("autoLevel", "AutoLevel (R>Q>W>E)", SCRIPT_PARAM_ONOFF, false)
  471.    
  472.     Config:addParam("sep", "--- Drawing Options ---", SCRIPT_PARAM_INFO, "")
  473.     Config:addParam("drawQ","Draw Q-Range",SCRIPT_PARAM_ONOFF, true)
  474.     Config:addParam("drawTarget","Draw Target",SCRIPT_PARAM_ONOFF, true)
  475. end
  476.  
  477. function OnTick()
  478.     if Config.autoLevel then autoLevelSetSequence(levelSequence) end
  479.     ts:update();
  480.     Target = ts.target
  481.     QREADY = (myHero:CanUseSpell(_Q) == READY)
  482.     EREADY = (myHero:CanUseSpell(_E) == READY)
  483.     WREADY = (myHero:CanUseSpell(_W) == READY)
  484.     RREADY = (myHero:CanUseSpell(_R) == READY)
  485.     IREADY = (igniteSpell ~= nil and myHero:CanUseSpell(igniteSpell) == READY)
  486.  
  487.     checkItems()
  488.    
  489.     if RREADY and Config.autoR then
  490.         AutoR()
  491.     end
  492.  
  493.     if RREADY and Config.autoRMin then
  494.         minAutoR()
  495.     end
  496.    
  497.     if Config.autoIg and IREADY then
  498.         AutoI()
  499.     end
  500.  
  501.     if not SteelTempest then
  502.         qColor = 0xAA1155
  503.         qRange = 475
  504.         qWidth = 50
  505.         qSpeed = 1800
  506.         qDelay = 0
  507.     else
  508.         qColor = 0xFF4433
  509.         qRange = 900
  510.         qWidth = 375
  511.         qSpeed = 1200
  512.         qDelay = 300
  513.     end
  514.  
  515.     if VIP_USER then
  516.         ProdQ.Spell.range = qRange
  517.         ProdQ.Spell.width = qWidth
  518.         ProdQ.Spell.speed = qSpeed
  519.         ProdQ.Spell.delay = qDelay
  520.     end
  521.  
  522.     if not Config.sbtw then dashed = false end
  523.     if not Config.farm then dashedFarm = false end
  524.    
  525.     AutoQ()
  526.     if Config.sbtw then
  527.         SBTW()
  528.     elseif Config.farm then
  529.         farm()
  530.     elseif Config.flee then
  531.         flee()
  532.     end
  533. end
  534.  
  535.  
  536. function selectMinion()
  537.     FarmMinions:update()
  538.     JungleFarmMinions:update()
  539.     local distance = eRange
  540.     for index, minion in pairs(FarmMinions.objects) do
  541.         if ValidTarget(minion) then
  542.             check = GetDistance(minion)
  543.             if check < distance then
  544.                 distance = check
  545.                 farmMinion = minion
  546.             end
  547.         end
  548.     end
  549.     for index, minion in pairs(JungleFarmMinions.objects) do
  550.         if ValidTarget(minion) then
  551.             check = GetDistance(minion)
  552.             if check < distance then
  553.                 distance = check
  554.                 farmMinion = minion
  555.             end
  556.         end
  557.     end
  558.     return farmMinion
  559. end
  560.  
  561. function farm()
  562.     if ValidTarget(farmMinion, eRange) then
  563.                 if dashedFarm and QREADY then
  564.                     dashedFarm = false
  565.                     if Config.useQFarm and GetDistance(farmMinion) < qWidth then Q(farmMinion) end
  566.                 elseif Config.useEFarm and EREADY and GetDistance(farmMinion) >= (eRange-qWidth) then
  567.                     dashedFarm = true
  568.                     CastSpell(_E, farmMinion)
  569.                 else
  570.                     if Config.useQFarm and QREADY then Q(farmMinion) end
  571.                     if TiamatR and GetDistance(farmMinion) < 400 then CastSpell(Tiamat) end
  572.                     if HydraR and GetDistance(farmMinion) < 400 then CastSpell(Hydra) end
  573.                     myHero:Attack(farmMinion)
  574.                 end
  575.     else
  576.         farmMinion = selectMinion()
  577.         myHero:MoveTo(mousePos.x, mousePos.z)
  578.     end
  579. end
  580.  
  581. function getNearestMinion(unit)
  582.  
  583.     local closestMinion = nil
  584.     local nearestDistance = 0
  585.  
  586.         Minions:update()
  587.         JungleMinions:update()
  588.         for index, minion in pairs(Minions.objects) do
  589.             if minion ~= nil and minion.valid and string.find(minion.name,"Minion_") == 1 and minion.team ~= player.team and minion.dead == false then
  590.                 if GetDistance(minion) <= eRange then
  591.                     if GetDistance(minion, unit) < GetDistance(unit) and nearestDistance < GetDistance(minion) then
  592.                         nearestDistance = GetDistance(minion)
  593.                         closestMinion = minion
  594.                     end
  595.                 end
  596.             end
  597.         end
  598.         for index, minion in pairs(JungleMinions.objects) do
  599.             if minion ~= nil and minion.valid and minion.dead == false then
  600.                 if GetDistance(minion) <= eRange then
  601.                     if GetDistance(minion, unit) < GetDistance(unit) and nearestDistance < GetDistance(minion) then
  602.                         nearestDistance = GetDistance(minion)
  603.                         closestMinion = minion
  604.                     end
  605.                 end
  606.             end
  607.         end
  608.         for i = 1, heroManager.iCount, 1 do
  609.             local minion = heroManager:getHero(i)
  610.             if ValidTarget(minion, eRange) then
  611.                 if GetDistance(minion) <= eRange then
  612.                     if GetDistance(minion, unit) < GetDistance(unit) and nearestDistance < GetDistance(minion) then
  613.                         nearestDistance = GetDistance(minion)
  614.                         closestMinion = minion
  615.                     end
  616.                 end
  617.             end
  618.         end
  619.     return closestMinion
  620. end
  621.  
  622. function flee()
  623.     mPos = getNearestMinion(mousePos)
  624.     if EREADY and mPos then
  625.         CastSpell(_E, mPos)
  626.     else
  627.         myHero:MoveTo(mousePos.x, mousePos.z)
  628.     end
  629. end
  630.  
  631. function OnCreateObj(obj)
  632. --if obj.name:find("Yasuo") then PrintChat(obj.name) end
  633.     if obj and GetDistance(obj)<=50 and obj.name == qBuffName then
  634.         --PrintChat(""..GetDistance(obj))
  635.         SteelTempest = true
  636.     end
  637. end
  638.  
  639. function OnDeleteObj(obj)
  640.     if obj and GetDistance(obj)<=50 and obj.name == qBuffName then
  641.         SteelTempest = false
  642.     end
  643. end
  644.  
  645. --[[
  646. function OnGainBuff(unit, buff)
  647.     if unit.isMe and buff.name == "yasuoq3w" then
  648.         SteelTempest = true
  649.     end
  650. end
  651.  
  652. function OnLoseBuff(unit, buff)
  653.     if unit.isMe and buff.name == "yasuoq3w" then
  654.         SteelTempest = false
  655.     end
  656. end
  657. ]]--
  658. function OnDraw()
  659.     local color = 6
  660.     if Target ~= nil and Config.drawTarget then
  661.         for i=1,5, .5 do
  662.             DrawCircle(Target.x, Target.y, Target.z, 125+i, 0xFF0000)
  663.         end
  664.     end
  665.     if not myHero.dead then
  666.         if Config.drawQ then
  667.             DrawCircle(myHero.x, myHero.y, myHero.z, qRange, qColor)
  668.         end
  669.     end
  670. end
  671.  
  672. function SBTW()
  673.     if RREADY and Config.useR then
  674.         sbtwR()
  675.     end
  676.    
  677.     if Target ~= nil then
  678.         local TargetDistance = GetDistance(Target)
  679.        
  680.         if BilgeWaterCutlassR then CastSpell(BilgeWaterCutlass, Target) end
  681.         if YoumuuR then CastSpell(Youmuu) end
  682.         if OmenR and TargetDistance < 550 then CastSpell(Omen) end
  683.         if RuinedKingR then CastSpell(RuinedKing, Target) end
  684.         if TiamatR and TargetDistance < 400 then CastSpell(Tiamat) end
  685.         if HydraR and TargetDistance < 400 then CastSpell(Hydra) end
  686.        
  687.         if dashed and QREADY then
  688.             dashed = false
  689.             Q(Target)
  690.         end
  691.        
  692.         if EREADY and TargetDistance > eRange and Config.useEGap then
  693.             mPos = getNearestMinion(Target)
  694.             if mPos then
  695.                 if TargetDistance > 900 and not SteelTempest then
  696.                     dashed = true
  697.                 end
  698.                 CastSpell(_E, mPos)
  699.             end
  700.         end
  701.                
  702.         if Config.useQ then
  703.             Q(Target)              
  704.         end
  705.  
  706.         if EREADY and Config.useE and TargetDistance <= eRange and TargetDistance > Config.DistanceToE then
  707.                 dashed = true
  708.                 CastSpell(_E, Target)
  709.         end
  710.  
  711.         myHero:Attack(Target)
  712.     else
  713.         myHero:MoveTo(mousePos.x, mousePos.z)
  714.     end
  715. end
  716.  
  717. function Low(unit)
  718.     if unit.health <= (Config.autoRPercent/100*unit.maxHealth) then
  719.         return true
  720.     else
  721.         return false
  722.     end
  723. end
  724.  
  725. function AutoR()
  726.     for i = 1, heroManager.iCount, 1 do
  727.         local eTarget = heroManager:getHero(i)
  728.         if ValidTarget(eTarget, rRange) and Low(eTarget) then
  729.             CastSpell(_R)
  730.         end
  731.     end
  732. end
  733.  
  734. function minAutoR()
  735.     local knockedUp = 0
  736.     for i = 1, heroManager.iCount, 1 do
  737.         local eTarget = heroManager:getHero(i)
  738.         if ValidTarget(eTarget, rRange) and eTarget.y > (myHero.y + 15) then
  739.             knockedUp = knockedUp + 1
  740.         end
  741.     end
  742.     if Config.minRTargets <= knockedUp then
  743.         CastSpell(_R)
  744.     end
  745. end
  746.  
  747. function sbtwR()
  748.     if ValidTarget(Target, rRange) and Target.y > (myHero.y + 15) then
  749.             CastSpell(_R)
  750.     end
  751. end
  752.  
  753. function Q(unit)
  754.     local bias = 0
  755.     if QREADY and unit ~= nil then
  756.         if steelTempest then
  757.             bias = 100
  758.         else
  759.             bias=75
  760.         end
  761.         if GetDistance(unit) <= (qRange-bias) then
  762.             if VIP_USER then
  763.                 local pos = ProdQ:GetPrediction(unit)
  764.             else
  765.                 local pos = nil
  766.             end
  767.             if pos then
  768.                 CastSpell(_Q, pos.x, pos.z)
  769.             else
  770.                 CastSpell(_Q, unit.x, unit.z)              
  771.             end        
  772.         end
  773.     end
  774. end
  775.  
  776.  
  777. function AutoQ()
  778.     if Config.autoQ then
  779.         Q(Target)
  780.     end
  781. end
  782.  
  783. function AutoI()
  784.     if IREADY then
  785.         for i = 1, heroManager.iCount,1 do
  786.             local eTarget = heroManager:getHero(i)
  787.             if ValidTarget(eTarget) and GetDistance(eTarget) < 600 and eTarget.health <= (50 + (20 * myHero.level)) then
  788.                 CastSpell(igniteSpell, eTarget)
  789.             end
  790.         end
  791.     end
  792. end